Custom Component solaredge-modbus-multi

I also had a look at our solar generation graph and there are some odd things going on. Firstly, every time we export at night I can see the solar production figure jumps to ~60 W

I think this is due to the calculation in the solar production sensor. Eg. you cannot simply add up Inverter_DC and Battery_DC. Can you post the calculation for the sensor that gives you your solar production?

I missed the link in your post to the sensors. I think the problem is in the “Power - Solar Generation” sensor and I was looking into this already for a few days. I use a slightly different calculation but see solar generation spikes during the day and at night. What happens there is that when there is a lot of power requested from the grid and the battery is not ready to deliver that power immediately the power is coming from the grid. Then the inverter takes control and is going to charge back the just consumed power back to the grid to compensate grid consumption (I assume due to Maximize Self Consumption setting). See the attached picture. The power that is coming from the battery is in these cases added to the Inverter_DC sensor (because the inverter reports it there) which results in spikes of generated solar power. That is my assumption for now. The question is (too) why we do have to calculate incoming solar power ourselves and isn’t it published to us to modbus by the inverter? An other thing to consider is that there may be differences in how inverters are handling this when using AC-DC or DC-DC coupled batteries.

Screenshot 2024-01-21 at 14.47.22

Does anyone have 3 batteries? If you do, there was a report that modbus now supports this.

Please try Release v2.4.9-pre.2 if you have a third battery.

Report your inverter firmware version too if it works.

I think you’re right that it’s something to do with that calculation not being entirely correct. It is correct most of the time but has small errors constantly (like the spikes in your graph) and seems to have some systemic error during periods of high import.

The question is why these issues didn’t happen when our usage pattern was different (i.e. minimising export).

The figures in the SolarEdge app are equally bizarre. Some days look correct and roughly match what HA tells me, other days the app shows solar production to be way higher (e.g. double), which just can’t be true. I can ask SolarEdge about this but I suspect I won’t get any useful answers.

I think he’s referring to this page: GitHub - binsentsu/home-assistant-solaredge-modbus: Home assistant Component for reading data locally from Solaredge inverter through modbus TCP which mentions that Power Control options are enabled by doing two steps 1. Set Advanced Power Control to Enable and 2. Set Reactive Power mode to RRCR. But I believe that page is only relevant for the original SE Modbus, not the multi one. But I am curious as to whether not following step two could be the reason that my Power Control commands only last a few seconds before they are overridden back to the defaults

PR #517 will add the control to the integration:

This is available in Release v2.4.10-pre.2 along with new button entities for commit power control settings and reset power control settings to defaults.

1 Like

Thanks for the integration. Due to negative FIT today, I want to curtail any solar exports. On changing the Site Limit to 0 W, the active power limit will reduce to approx what i am consuming. However about 30 secs later the site limit is 5000w and active power 100% so i am paying to export. What am I missing?

Screenshot 2024-01-28 125251

Is this your first time controlling your inverter with HA or have you been successful with other commands? I just ask because I have what sounds like the same problem. None of the power control commands I give “stick”. They are always canceled within 10 seconds or so. I’ve been told it’s because my inverter is enrolled in a VPP and therefore all my commands will be overridden by SolarEdge’s “central control” since only the VPP has permission to change things. Apparently if I unenrol, SE will allow me to control it.

Thanks Kingston for taking the time to respond. It makes sense as I’m wondering if I have been enrolled in their similar vpp product which I didn’t think i was entitled to.

When I have a negative tariff I set Active Power Limit “number.solaredge_i1_active_power_limit” to 0 (zero) myself. When the tariff is negative I don’t want any solar production to use in the house too; all has to come from the grid since the tariff is negative.

I’am trying to activate power control, I have set reactive power mode on RRCR but I can’t find the option advanced power control, so can’t enable is, can some Help me trough the menu where I can find it?

This I have set now but power limit is unknown within ha:

That’s what I’m trying to do too. But the change I make to Active Power Limit won’t stay more than a few seconds.

In Home Assistant turn on the “Grid Control” switch for the inverter device (it’s getting renamed to Advanced Power Control in the latest pre-release).

Also I’ve added the Reactive Power Mode setting to the integration in the latest pre-release.

This is from Release v2.4.10-pre.3:

Sample dashboard card:

type: entities
entities:
  - entity: select.solaredge_i1_reactive_power_mode
    name: Reactive Power Mode
  - entity: switch.solaredge_i1_advanced_power_control
    name: Advanced Power Control
  - entity: binary_sensor.solaredge_i1_advanced_power_control
    name: Advanced Power Control
  - entity: button.solaredge_i1_commit_power_settings
    name: Commit Power Settings
  - entity: sensor.solaredge_i1_commit_power_settings
    name: Commit Power Settings
  - entity: button.solaredge_i1_default_power_settings
    name: Default Power Settings
  - entity: sensor.solaredge_i1_default_power_settings
    name: Default Power Settings
title: I1 Power Settings

Ok, i will look into it now i’m using the modbus tcp component.
But this topic was the only topic that had information about power control so i had hoped somebody knew wat setting i had to activate in the set app

activated modbus multi next to modbus tcp ( i’m using modbus proxy so i can use multiple plugins)
but power control is als not available:

Hello you all,

for a few weeks I have major issues with Home Assistant becoming unresponsive for several seconds. Sometimes this happens every few minutes, sometimes only once an hour, sometimes only once every few hours. During this time, my automations don’t run propery (e.g. motion detectors), so it’s really annoying.

After searching for quite some time, it seems that the SolarEdge Multi Modbus integration is the cause of these issues. Everytime HA becomes unresponsive, the SolarEdge entites become unavailable. You can see that in the log of the SolarEdge integration.

I use the integration for almost a year now and it worked properly for a long time. I don’t know what changed, but I need to find a solution.

Do you have any idea?

THANK you in advance
Best regards
Schlichi83

Start by uploading your diagnostic file.

Then turn on full debug logging to catch the issue and upload the full logs.

1 Like

Here is the Download link to the file (couldn’t upload it here):

A little more information to my setup:

HA is running as a VM on Synology DS918+. SolarEdge Inverter has a fixed IP. And I’m using the ModBus-Proxy Add-On in Home Assistant, because I also need to connect to the SolarEdge-Inverter with EVCC. So ModBus-Proxy connects to the SolarEdge Inverter and HA to the Proxy.

I turned on full debug and wait for the issue to happen again. But the last hour everything was ok.

So the bad news is that you have a lot of other custom components, and if you think it’s my integration that’s causing the problem then you will need to remove them and run just solaredge-modbus-multi to isolate it as the cause.

Entities going unavailable is what it’s supposed to do if it loses communication with the inverter and all the retry attempts also fail. The integration does not hold onto stale data past the polling interval plus retry intervals. However, if it’s triggering unavailable state then that means it’s running through all the steps to get there, not locked up. This could be any networking problem, hardware problem, or other integration sync blocking the main thread of Home Assistant. So unavailable state alone doesn’t indicate an integration problem.

You can turn on full debugging and see if you can spot what’s holding up the main thread:

In configuration.yaml:

logger:
  default: debug
1 Like