Custom Component solaredge-modbus-multi

Hi there.

Since two days, I am reiving incomplete results in the energy tab.

Looks like there ist a hickup in receiving the data in that screen.

Unfortunately I can’t tell exactly what caused the hickup, as I upgrades BOTH Homeassistant (from 2024.6.4 to 2024.7.1) AND the Solaredge (from 2.4.15 to 2.4.16) in one go.

Anybody else experiencing the same issue maybe?


Try reverting back to Home Assistant 2024.6.4 and wait for 2024.8. A lot of people have issues with 2024.7 regarding the Energy Dashboard.

1 Like

I haven’t seen any issues with energy dashboard on my system.

Is there an easy way to activate pymodbus logging to troubleshoot issues with the integration?

configuration.yaml

logger:
    logs:
        pymodbus: debug
1 Like

Thanks Seth!!

Posted this in Github too, sorry for the crossposting and i can certainly take one down if needed. Here’s the issue i’ve been struggling with.

Describe the bug

System:
1x BUI (Backup Interface)
3 x SE7600H-US
3 x LG RESU 16

Thanks @WillCodeForCats Seth for creating this amazing integration. It’s pretty amazing :slight_smile: However, I’ve been struggling with getting it working. I have a 3 inverter system, each inverter has 1 battery (LG RESU16) connected for a total of 3 inv/3 bat.

All inverters are connected via Ethernet, on the same subnet (initially I had the inverters on a different subnet for IOT stuff but moved them to the same subnet as the HA VM).

All inverters have Modbus TCP on, initially port 1502, and Leader ID set to 1, next inverter Follower ID set to 2, and last inverter Follower set to ID 3.

Batteries were set to ID 15. I tried changing this to troubleshoot, using ID 16 and communication with the inverter failed so I had to restore ID to 15.

On the default settings, the modbus integration fails. I UNCHECKED “auto-detect additional entities” and this did not give a connection either.

The only way I can get an initial connection is to set everything OFF:
image

This works to get all 3 inverters details. Then I can add “Auto-detect Meters” and this will grab the meters:
image

However, I cannot get “Auto-detect batteries” or “Power Control” working to detect at all:
image

In the log files for battery connection, it just fails at “Looking for battery I1B1”. No “IllegalAddress” as per the known issue:

2024-07-12 05:31:40.042 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Looking for battery I1B1
2024-07-12 05:31:52.049 DEBUG (MainThread) [custom_components.solaredge_modbus_multi] Finished fetching SolarEdge Coordinator data in 12.396 seconds (success: False)

2024-07-12 11:12:06.021 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M3: C_Device_address 0x8000 <class 'int'>
2024-07-12 11:12:06.021 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] I1M3: Meter 3 ident incorrect or not installed.
2024-07-12 11:12:06.021 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Looking for battery I1B1
2024-07-12 11:12:06.021 DEBUG (MainThread) [pymodbus.logging] Adding transaction 6
2024-07-12 11:12:06.021 DEBUG (MainThread) [pymodbus.logging] Resetting frame - Current Frame in buffer -
2024-07-12 11:12:06.021 DEBUG (MainThread) [pymodbus.logging] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0xe1 0x0 0x0 0x44
2024-07-12 11:12:09.022 DEBUG (MainThread) [pymodbus.logging] Adding transaction 6
2024-07-12 11:12:09.022 DEBUG (MainThread) [pymodbus.logging] Resetting frame - Current Frame in buffer -
2024-07-12 11:12:09.022 DEBUG (MainThread) [pymodbus.logging] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0xe1 0x0 0x0 0x44
2024-07-12 11:12:12.023 DEBUG (MainThread) [pymodbus.logging] Adding transaction 6
2024-07-12 11:12:12.023 DEBUG (MainThread) [pymodbus.logging] Resetting frame - Current Frame in buffer -
2024-07-12 11:12:12.023 DEBUG (MainThread) [pymodbus.logging] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0xe1 0x0 0x0 0x44
2024-07-12 11:12:15.025 DEBUG (MainThread) [pymodbus.logging] Adding transaction 6
2024-07-12 11:12:15.025 DEBUG (MainThread) [pymodbus.logging] Resetting frame - Current Frame in buffer -
2024-07-12 11:12:15.025 DEBUG (MainThread) [pymodbus.logging] send: 0x0 0x6 0x0 0x0 0x0 0x6 0x1 0x3 0xe1 0x0 0x0 0x44
2024-07-12 11:12:18.027 DEBUG (MainThread) [pymodbus.logging] Connection lost comm due to Server not responding
2024-07-12 11:12:18.027 DEBUG (MainThread) [pymodbus.logging] callback_disconnected called: Server not responding
2024-07-12 11:12:18.027 DEBUG (MainThread) [custom_components.solaredge_modbus_multi] Finished fetching SolarEdge Coordinator data in 12.297 seconds (success: False)

I tried deleting the integration, redownloading from HACS, and reinstalling, using the alternate modbus port 1503 - same results.

I am ALWAYS able to ping the inverter IP without any issues from the HA VM.

THANK YOU SETH @WillCodeForCats

Expected behavior
Connection to inverter and batteries with power control

Screenshots
IMG_9715
IMG_9708
IMG_9716
IMG_9721
IMG_9723
IMG_9729

Diagnostic File
home-assistant_solaredge_modbus_multi_2024-07-12T09-33-53.189Z.log
home-assistant_solaredge_modbus_multi_2024-07-12T10-03-39.524Z.log
Full HA log with pymodbus:
home-assistant_2024-07-12T15-12-57.733Z.log

Debug logs
No response

Home Assistant Version
2024.7.2 - running on VM in TrueNAS Scale

solaredge-modbus-multi Version
current

Installation Type
HAOS on VM in TrueNAS Scale

Read the Instructions
I have read Home · WillCodeForCats/solaredge-modbus-multi Wiki · GitHub
My configuration follows Configuration · WillCodeForCats/solaredge-modbus-multi Wiki · GitHub
This issue is not about a template error (template errors should not be reported as an issue, read Template Design Notes · WillCodeForCats/solaredge-modbus-multi Wiki · GitHub)
Additional Context
No response

Power control options and are part of the same block of battery related registers, so if batteries don’t work power control won’t either. Auto-Detect additional entities is also the same and was made an option becasue of this specific no-response issue.

Several people have reported there is a behavior change in some firmware versions where the inverter doesn’t send any response instead of an invalid address exception. It’s on my to do list to think of ways the integration can handle this cleaner, but I can’t make them work if the inverter never sends a response.

Here are some of the previous reports:

I think it was mentioned on the HA forums too but I can’t remember which thread.

Release v2.4.18 is now available. This release adds a Grid Power binary sensor you can use to determine if you’re running on battery backup or grid power.

I’ve tried searching around, including checking the power control options wiki page - sorry if I missed it; what is the “Commit Power Settings” button for exactly? When should we use it or not use it?

Does anybody using this extension have the SolarEdge Home Load Controller integrated?

I would like to switch the relais modes on/off/auto via an automation.

See datasheet here:

No, there are no modbus registers that I’m aware of for the load controller.

I would be happy to add them if they are just undocumented and someone passes along the information.

heyhey
Ive been using this integration for about 2 years now. Without any bigger issues (or atleast without any issues i didnt cause :o)

Since two or three days my homeassistant is unable to connect to my inverter.
The integration sais: "Modbus/TCP connect to: 192.168.178.45:1502 failed.
(without me consciously doing something)

I registered the problems at the morning. So I think it was broken over night.
But I really dont have any idea what could have happened.
I got two SolarEdge inverters in total and an energymeter, all connected to the main inverter.
Even if I didnt change anything in the inverters configuration I checked if anything is correct.
And it looks like everything is fine here (checked with the help of installation tutorial of this respository). But again I didnt change anything, so I expected this.

But I really have no idea where to start searching for the problem.
The Inverters are online (watched in FritzBox), IP and port are correct. And the SolarEdge App is reporting.

Im using HomeAssistant OS 13.1 - Core 2024.8.3 and solaredge Modbus Multi 2.4.20.

Does anyone have an idea where to start to search for the reason it doesnt work anymore?

I don’t use solar edge but I use Sungrow with modbus and similar issue, mine stopped recording on Homeassistant on 28th August 2024 at a bit before 4:05pm in the afternoon (Australian easter standard time). No updates at that point or near that time that I am aware of. I updated homeassistant core and supervisor to no avail. Sungrow app working fine.

Hi! I am new to HA and to this topic so I apologise upfront for asking these newbie questions.

I am looking for advice how to:
a) steer the production from my SolarEdge SE25k
b) to match the consumption from my own household (believe it is called dynamic export limitation)
c) during hours when the electricity price on Nordpool is negative.

I have a smartmeter from the eletricity company + a loadbalancer (measuring local consumption). Inverter network connection is via wireless network.
I do NOT have any batteries as the inverter does not support that.

Is this the right place to start? Any advise is highly appreciated. The development with negative electricity prices are horrible.

Cheers

I think that after I upgraded to 3.0.0 I lost some values:

This entity is no longer being provided by the solaredge_modbus_multi integration. If the entity is no longer in use, delete it in settings.

Any idea ?

There are no changes to entities in the 3.0.0 release.

You can turn on debug logging to see why they aren’t detected.

I am encountering the same issue.

I’ve enabled advanced power mode and RCRR, but the settings seem to revert. I’m trying to set the export control limit and site limit to 200W, but it only holds for about 30 seconds.

Does anyone know what I might be doing wrong?

This is for a scenario where my solar system is exporting, and I want to limit the export to minimize it while ensuring my home gets all the power it needs without relying heavily on the battery.

Additionally, how can I tell if I’m exporting? Does this integration show my export data, or do I need to use something like an Effergy device and compare it to another sensor?

Also I can update the settings like storage control mode directly in the integration from home assisant but i cannot get selection options to update it to Remote Control for example. Either via dev tools / actions or from node red.

But it lets me update it n the integration page - what could I be doing wrong?

thanks very much

Thank you.

Logs:

2024-10-03 19:10:30.324 ERROR (MainThread) [homeassistant.components.binary_sensor] rpi_power: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 724, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1302, in async_device_update
await hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/rpi_power/binary_sensor.py", line 53, in update
value = self._under_voltage.get()
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

....

2024-10-03 19:10:30.795 WARNING (ImportExecutor_0) [homeassistant.const] POWER_VOLT_AMPERE_REACTIVE was used from solaredge_modbus_multi, this is a deprecated constant which will be removed in HA Core 2025.9. Use UnitOfReactivePower.VOLT_AMPERE_REACTIVE instead, please report it to the author of the 'solaredge_modbus_multi' custom integration

Link to full log Dropbox
If someone can check…

@DamijanD You have all of the options turned off except for the default Meters.