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

Do you have the latest firmware by any chance?

I can get to my units via ethernet and wifi

Correct, Power can be determined from an external meter, or using the supplied clamp meter (assuming you only have 1 phase).

RE firmware, DM me your email address. Iā€™m giving you fair warning though, there is a non-zero chance of bricking your inverter if the firmware update fails. I would suggest asking Solax support for a copy of the firmware instead, that way itā€™s on their head if it falls over.

Cheers

I have emailed SolaX UK a few times but they are not the most responsive or even forth coming :frowning:

@deece

Can find how to DM on this platform :frowning:

Click on the userā€™s name, then click on the mesage button that pops up.

This is what it looks like:

@Bill.Thomson

Would love to but only get this!
image

Try it again. I bumped your user account level up a notch.

@Bill.Thomson Working now, Thanks

thumbsup

What external moeter are you using? I have a eastron sdm230-modbus but it wont talk to my sk-su5000e inverter

Do you have it connected via rs485 to the inverter? If so, did you need to do anything on the inverter or the meter?

I have an input module for the Eastron SDM630V2, that connects to the machine managing the inverters. You should be able to use that as a base to write a module for the SDM230, you just need to take a sideways copy of the module, rename SDM630 to SDM230, and update the register addresses from the datasheet for your meter. Itā€™s safe to remove values that arenā€™t available in the SDM230.

Great idea. That is working. I created a pull request with the Mqtt output.

Thanks for the PR, Iā€™m not sure if you saw my review comment, but I think it would make sense to establish the MQTT connection in the constructor & persist it within the class, rather than opening & closing the connection each time there is data to submit.

You will have to handle a couple of edge cases to do this:

  • Reestablish the connection if it has dropped
  • Drop the data to send if the connection is re-establishing

I see the Influx-Output has been added to the code. I personally dont use Influx and the only way i can get the new code to run is to disable from ā€œOutputs.Influx2 import Influx2ā€ in the powerscraper.py

It might need a check to see if its installed?

I think you just need to pip3 install influxdb-client

Iā€™ll add the prerequisites to the readme.

On the install it did run pip3 install toml twisted pymodbus influxdb_client

but I dont want to run influx (yet)

@deece & @Pukka

Thanks for the assistant one inverter taken apart, manager board flashed and the remainder of the firmware updated fine and back to normal. second inverter flashed no issue

So, the model was showing funny since the manager was stuffed, all back to normal now

Now onto manually conrolling the inverters to work in tandem with Home Assistant

You can do a conditional import, we do it for a couple of the emonhub modules

Some updatesā€¦

  • @barche has added support for Solax X3 (non-hybrid) inverters over Modbus/RTU
  • Iā€™ve added support for Solax X1 & X3 hybrid inverters & chargers over Modbus/TCP (with battery control), this has only been tested with an external meter, as my chargers have no meters connected.

Iā€™m thinking of reimplementing this project with threads rather than asyncio, as the CPU consumption is a lot higher than I would like, and the last series of patches was clunky with what should have been a number of sequential calls being chained together with callbacks.

1 Like

Thanks to those who have put in the work and shared info here.
I have an SK-SU5000 which has a HiKing DDS238-2 ZN/S energy meter providing pulse inputs to the CT port on the Solax inverter. It also has unused RS485 terminals specā€™d
RS485 COMMUNICATION BUAD RATE:4800 bps
PROTOCOL: MODBUS OR DL/T645-2007
The inverter has a LAN port which does not seem to be active (as per iftop) and an un-connected CAN port.
I have the inverter wifi connected and can pull 5 minute data down from the Solax server but would like to get the data locally so I can see power data more like real time. Later on I would like to get some battery charger control working to optimise EV charging.

It would seem like the feed-in/feed-out data could come from the DDS238-2 but without realtime inverter out power data it is not so useful.
I need to come up to speed on where you guys are at so looking for recommendations on best way to get this underway.
TIA