Solution: Reading Solax SK-SU5000(E) inverters & SDM630V2 Modbus Power Meters

Connect the LAN port on the SK-SU5000 to your LAN, it implements MODBUS. You can then use the Solax-Modbus input config to pull data from the inverter.

Thanks for the reply. Will it need any DIP switch setting changes?

Nope, just plug it in, configure the network and make sure you can ping it.

I am getting

Dependency Twisted is Installed
/usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib

I did a pip3 install of importlib 1.0.4 but get the same error.
Got past this but am getting “not connected”
I forced this line to execute

return self.client.read_input_registers(0, 0x72)

and got errors saying " ‘NoneType’ object has no attribute ‘read_input_registers’ " so I am thinking there is no data there to be read(?).
Running iftop -i against the ethernet port on the laptop gives RX = 0.

ifconfig sees no port to ping.

I assume an inverter re-start is not necessary.

Did you set an IP address on the inverter? you need to get ping working first

Thanks.
I have run

ifconfig enp0s3 192.168.1.200 netmask 255.255.255.0

and can now ping that address. As I am still getting “not connected” and ‘self.ready’ returns False with or without the installer password being given I assume I am not connecting to the Influxdb correctly.
Do I need to set a measurement in Influx after the database creation or do the script commands write those?

The current code will output
“Not connected” initially, until a connection is established.

nmap shows only these ports open;
PORT STATE SERVICE
6789/tcp open ibm-db2-admin
8080/tcp open http-proxy
8086/tcp open d-s-n
8443/tcp open https-alt

No port 502. Do I need to set a rule?

Nmap by default will only scan ports that are listed in /etc/services.

You should be able to telnet to the inverter on port 502 to verify that it’s listening.

The output classes shouldn’t have any effect on the connection to the inverter. Even if the output classes fail, you should be able to establish a connection to the inverter & retrieve data.

I’d start by making sure you can connect to the inverter on port 502 on the IP address assigned to the ethernet port (not the Wifi interface). If you haven’t already, I’d recommend configuring a static IP via the settings on the inverter control panel.

telnet 192.168.1.200 502
Trying 192.168.1.200...
telnet: Unable to connect to remote host: Connection refused

and

sudo nmap -sS -p 502 192.168.1.200
PORT    STATE  SERVICE
502/tcp closed mbap

If I do this

won’t it set that ip for the wifi connection?

Tried that but it made no difference.

BTW thanks again for your replies. I would love to get this working.
Do I need to disable the wifi on the inverter somehow?

Looks like I have been hit by the three replies limit for new users!!

I have been trying to find out the effect of the (E) suffix on the model number. Mine says SK-SU5000 but with no (E) on the end. Maybe that is the thing I am up against?

I’d love to be able to disable the Wifi interface… The best you can do is open the cover and disconnect (and insulate) the antenna cable.

The E signifies it supports emergency power, I don’t think that would make a difference.

None of my inverters have open ports for what you’ve listed above, which suggests that you’re looking at the Wifi interface rather than the LAN.

Did you configure a different IP for the LAN vs the Wifi interface?

How do I do that specifically? The front panel offers Ethernet and that is the one I set to the above ip.

It’s been a few years, but I think you configure the Wifi interface by connecting to the AP it exports, while the front panel configures the LAN. Each interface has a different MAC address, and should get it’s own IP on the network.

Actually I think my ifconfig command to set the ip address is wrong. It has set the ip of the laptop. I tried on another old laptop and it would not connect to the above ip.
I am going to do a re-start of the inverter and see if that sets the address.

Ok I have the Ethernet ip address set to 192.168.1.200 on the front panel and after the re-start and the wifi address is 192.168.1.43. The old laptop (where I have not issued the ifconfig command) does not successfully ping the inverter at this address.

So the inverter is not enabling the ethernet port at all as far as I can see.

What firmware version are people running on these devices? Mine is SolarSingle&Charger_20140708 which looks to be quite old.

There’s much more recent firmware available… But

  • you need Ethernet working to update it
  • there is a non-zero probability you will brick your inverter (see my previous posts in this thread), it is recoverable, but you’ll need the right programmers and the willingness to get down and dirty with the boards in your inverter.

For this reason, I would suggest that you contact your local Solax support for a firmware update, that way it’s their problem if the inverter is bricked.

1 Like

No longer - I’ve moved you up a notch.

1 Like

Are you sure you have the right port? Can you share a photo? When plugged in, do you get a link light on the corresponding port on your switch/router where it’s plugged into?

My local Solax guy went to ground when I asked for a newer firmware and procedure for installing. He also claimed it would not be an early version of the firmware that is blocking the ethernet port. My inverter is a Gen1 of the SK-SU5000 so the firmware was probably a very early release.
I am using the port on the underside labelled LAN. The only other port is labelled CAN and one in use CT for the meter connection. I am plugging a laptop in directly from its ethernet port - no network or router connection. I might try a windows laptop - been doing this with linux.