Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solaredge firmware 4.21.xx and 4.22.xx breaks remote battery storage commands #259

Open
thomaslehmann1234 opened this issue Nov 24, 2024 · 9 comments

Comments

@thomaslehmann1234
Copy link

Hey folks,

I installed firmware 4.21.xx to my Solaredge SE10K-RWS and found out, that my HA remote storage commands stopped working after that upgrade, no effects from the remote battery commands. I enabled debug mode for the integration without any entries in the logs.

A test with firmware 4.22.xx resulted in the same issue. I requested a firmware rollback from Solaredge support to 4.20.xx and remote battery storage commands are back.

Solaredge startet to introduce new battery profiles in the latest releases so maybe modbus registers changed.

Any ideas?

@steppige
Copy link

steppige commented Dec 5, 2024

Hi everyone,

I can confirm that I’m experiencing the same issue after upgrading my SolarEdge SE10K-RWS firmware to 4.21.xx and 4.22.xx. Remote battery storage commands from Home Assistant stopped working completely after the update, with no visible errors in the logs—even with debug mode enabled for the integration.

Before the firmware update, everything worked flawlessly. It seems that the Modbus registers or protocols for remote battery control might have changed with the newer firmware versions.

Has anyone identified specific changes in the firmware or found a workaround to regain functionality? I’m considering contacting SolarEdge support for further clarification or requesting a rollback to version 4.20.xx as you suggested.

Thanks in advance for any insights!

@thomaslehmann1234
Copy link
Author

I raised the issue directly in maintainer repo and got a reply. Maybe you can help finding a workaround or fix. Please join that conversation. biemond/solaredge.modbus#109

Thanks.

@Hoedsch
Copy link

Hoedsch commented Dec 6, 2024

Hi,

I have a similar effect after the SolarEdge SE5000H upgraded automatically to 4.21.23. I cannot receive any data due to data errors.

2024-12-06 11:04:46.448 ERROR (SyncWorker_8) [custom_components.solaredge_modbus] Error reading modbus data
Traceback (most recent call last):
  File "/config/custom_components/solaredge_modbus/__init__.py", line 244, in _refresh_modbus_data
    update_result = self.read_modbus_data()
                    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 324, in read_modbus_data
    and self.read_modbus_data_battery1()
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 856, in read_modbus_data_battery1
    return self.read_modbus_data_battery("battery1_", 0xE100)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 958, in read_modbus_data_battery
    battery_SoC = validate(decoder.decode_32bit_float(), ">=", 0.0)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 160, in validate
    raise ValueError(f"Value {value} failed validation ({comparison}{against})")
ValueError: Value -3.4028234663852886e+38 failed validation (>=0.0)

At the moment there is an issue with communication between inverter and battery. With the old firmware 4,17 the battery data was displayed as null and now I run into this error. Maybe this trace snippet can be used check the verification in code.

Many thanks!

@iNaiks
Copy link

iNaiks commented Dec 9, 2024

Same issue with 4.21.xx firmware.
Asked to SolarEdge to downgrade to 4.20.xx or Lower (before I have the 4.19 or 4.17, I don't remember)

There is anything that I can do with firmware 4.21.xx?

@iNaiks
Copy link

iNaiks commented Dec 12, 2024

Downgraded to 4.20.xx from SolarEdge and all works fine

@steppige
Copy link

ok perfect thanks for your suggestion.
How do I downgrade? Contact SolarEdge directly? By email or phone? How did you do it?

@iNaiks
Copy link

iNaiks commented Dec 14, 2024

I opened a support ticket
Support SolarEdge
And in 1-5 days they do the downgrade

@peter-dolkens
Copy link

Hi,

I have a similar effect after the SolarEdge SE5000H upgraded automatically to 4.21.23. I cannot receive any data due to data errors.

2024-12-06 11:04:46.448 ERROR (SyncWorker_8) [custom_components.solaredge_modbus] Error reading modbus data
Traceback (most recent call last):
  File "/config/custom_components/solaredge_modbus/__init__.py", line 244, in _refresh_modbus_data
    update_result = self.read_modbus_data()
                    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 324, in read_modbus_data
    and self.read_modbus_data_battery1()
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 856, in read_modbus_data_battery1
    return self.read_modbus_data_battery("battery1_", 0xE100)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 958, in read_modbus_data_battery
    battery_SoC = validate(decoder.decode_32bit_float(), ">=", 0.0)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solaredge_modbus/__init__.py", line 160, in validate
    raise ValueError(f"Value {value} failed validation ({comparison}{against})")
ValueError: Value -3.4028234663852886e+38 failed validation (>=0.0)

At the moment there is an issue with communication between inverter and battery. With the old firmware 4,17 the battery data was displayed as null and now I run into this error. Maybe this trace snippet can be used check the verification in code.

Many thanks!

Sounds like it now has a valid value but it's being mapped as a signed value instead of unsigned

@biemond
Copy link

biemond commented Dec 15, 2024

but this is a string or not or are we reading all register from e100 and 1 register has this issue?

        "c_manufacturer": [0xe100, 16, 'STRING', "Manufacturer"],

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants