wills106 / homeassistant-solax-modbus

SolaX Power Modbus custom_component for Home Assistant (Supports some AlphaESS, Growatt, Sofar, Solinteg, Solis, SRNE, Swatten)
323 stars 105 forks source link

Solis Firmware 4B00 #1142

Open fboundy opened 5 days ago

fboundy commented 5 days ago

Describe the bug

Solis firmware 4B00 introduces a completely new set of registers for time based control. It also adds a target SOC (and a voltage though it’s unclear what this is used for) to each slot.

The old registers are no longer read so the registers used need to depend on the FW version.

I’ve polled the API and Modbus and come up with this list: https://github.com/fboundy/pv_opt/issues/305#issuecomment-2489570654

Integration Version

2024.11.2

Homeassistant core version

2024.11.2

Inverter brand

Solis

Plugin used

plugin_solis.py

Serial prefix

NA

Connection Method

Waveshare

Detailed Error Log

No response

Additional context

No response

alienatedsec commented 5 days ago

@wills106 Is it possible to introduce a switch that uses a new set of registers if, for example, another register represents a specific value?

The input register hex value is part of the firmware version.

The below 33002 is the HMI version - 4A in my case (currently unaffected) image

This is usually followed with 00, and combines with the register 33001 the DSP version - 4C in my case - and 33069 both unrelated at this moment - or could be if DSP has any specific function defined. image

FW version 33002 + 00 + 33001 + HMI subversion 33069 image

So, the final logic should be that if the register 33002 is 0x004b or higher, then the new set of registers should be used.

@fboundy @infradom @jmccrohan FYI

fboundy commented 5 days ago

@alienatedsec - I think it might be easier just to use a separate plugin then all the logic will be very similar but a separate set of registers etc

fboundy commented 4 days ago

Should be addressed by #1143

alienatedsec commented 4 days ago

Should be addressed by #1143

That looks ok for now, cannot test at the moment.

@alienatedsec - I think it might be easier just to use a separate plugin then all the logic will be very similar but with a separate set of registers etc

There would be a period for maintaining two sets of solis plugins. I guess the new registers will not be changed moving forward.

fboundy commented 1 hour ago

I've been running this for a few days now. The integration works but the firmware is buggy. The time slots can appear set but they don't start working until the SOC is changed.

alienatedsec commented 1 hour ago

@fboundy I got the new firmware files from Solis, but I am delaying to load them. I also believe it's a newer version than 4B00, so I guess I will have to decide at some point.