Custom Component solaredge-modbus-multi

Do we need to be cautious with the new HA Core Update 2023.9.3?
Don’t want to break it again

Nothing that I’m aware of. I’m running 2023.9.3 with the latest release v2.4.6.

1 Like

I am having a lot of difficulty connecting using this integration or staying connected once I get it working.

Initially it was so hard to get it connected, the SolarEdge Modbus custom component could connect but as I have 2 inverters, it was not well setup for me. I could telnet to the port, so it was working.

I tried enabling and disabling the Modbus on the inverter, enabliing and disabling the integration deleting the config and re-adding it. I finally had success after restarting Home Assistant and the integration connected.

Since that success, it has dropped out twice and only restarting Home Assistant resolves the issue.

Below are the logs from when I cannot connect showing that the integration successfully communicates with the Inverter but then registers a non-success for a reason I cannot see.

I have an SE5000 connected by ethernet, a SE5000H and a import/export meter connected by RS485.

[custom_components.solaredge_modbus_multi.hub] solaredge_modbus_multi configuration: number_of_inverters=2, start_device_id=1, detect_meters=True, detect_batteries=False, detect_extras=True, keep_modbus_open=True, adv_storage_control=False, adv_site_limit_control=False, allow_battery_energy_reset=False, sleep_after_write=0, battery_rating_adjust=0,
2023-10-10 07:52:17.158 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] coordinator timeout is 31.2
2023-10-10 07:52:17.249 WARNING (MainThread) [pymodbus.logging] Failed to connect [Errno 111] Connect call failed (‘192.168.2.166’, 502)
2023-10-10 07:52:17.272 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] len rcount : 69 69
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_SunSpec_ID 0x53756e53
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_SunSpec_DID 0x1
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_SunSpec_Length 0x41
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_Manufacturer SolarEdge
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_Model SE5000
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_Option
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_Version 0003.2617
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_SerialNumber 7F176F25
2023-10-10 07:52:17.273 DEBUG (MainThread) [custom_components.solaredge_modbus_multi.hub] Inverter 1: C_Device_address 0x1
2023-10-10 07:52:17.292 DEBUG (MainThread) [custom_components.solaredge_modbus_multi] Finished fetching SolarEdge Coordinator data in 0.134 seconds (success: False)

I don’t see anything in those logs that say why it’s not working. Are you sure that’s all logs?

Just FYI for anyone reporting basic problems like unable to connect: it should be obvious but I use my own integration personally on my Home Assistant that runs my house with my SolarEdge system. I install releases through HACS and treat the process like any normal user. I wouldn’t actually make releases that don’t work for me personally (and if I do make a mistake I quickly make a new release to fix it).

I always skip the .0 HA releases on my home system, but I do run the beta channel and .0 in a development VM to check the integration ahead of a release. I personally run either the latest release of solaredge-modbus-multi or the latest pre-release. Pre-releases are generally safe to use but features or concepts can change as I work through them.

There is a hard line for compatibility between HA 2023.9.0 to HA 2023.9.1 that requires solaredge-modbus-multi Release v2.4.5 for 2023.9.1, but if you’re running 2023.9.0 or older you have to stay on Release v2.4.4 until you upgrade HA. Once Home Assistant is updated first then you can install the latest version of solaredge-modbus-multi because HACS won’t show you the newer version until HA is updated since all HA versions older then 2023.9.1 are incompatible with v2.4.5. You also can’t be running v2.4.5 and try to downgrade to HA 2023.9.0 or older, you need to downgrade the integration too.

If you follow steps like HA 2023.9.0 with v2.4.4, then update HA 2020.9.1 to update to v2.4.5 you shouldn’t have a problem. Home Assistant can change rapidly so I will update solaredge-modbus-multi to keep up, so make sure to check the release notes and check HACS for updates.

I am always looking forward with development so once there is a change in HA that requires a new minimum version I will change the minimum requirements to follow so that everyone running the latest version of HA can use my integration. I always note these changes in the release notes, but because there are a lot of releases and pre-releases you may have to read through them to find out when the requirements changed. The latest requirements will always be shown in the README.

1 Like

Hello and first of all: a big THANK you for your amazing add-on!

I have a question that I am afraid to ask for the fear of looking stupid. When I change the Storage Command Mode to Charge from Solar Power and Grid, my battery charges with less than 1KW. It usually is able to charge with 5KW - and I have seen it doing that on solar power. I have the Storage Charge Limit set to 5000W - and changing that also while the operation is running does nothing to increase the power. I have AC Charge Policy set to Always Allowed - therefore also no AC Charge Limit is set - or should be set according to the documentation.

So what the heck am I missing? How do I get my battery to charge with full 5KW power? Thanks a lot for any tips!

I actually don’t have batteries so unfortunately I can’t help with actual use (I use a modbus simulator for development work), but there are some other threads where battery commands are discussed if you look at the first post under Popular Links.

Hi, thanks for your answer! I had known about that thread - but red it again now just to make sure I am not missing anything. Unfortunately, no solution is in there - except that I could see that other people are definitely able to charge with up to 5KW. So unless anybody else has any ideas - I guess I need to contact the Solaredge support.

Thanks anyways, I do appreciate your quick response and integration - and a small donation just went out your way to show that!

Also try posting your question in the discussions section on github (start a new one or one of the existing ones about batteries). There are people who have batteries that might respond.

1 Like

Just wanted to say thank you for this integration. It works perfectly with my new inverter!

1 Like

Hello,

I have been successfully using this great addon for some years, however now my inverter died and I got it replaced today (luckily on warranty).

Unfortunately I now have everything duplicated (entities, devices) in home assistant. Is there a known smart way to map old to new device/entitiy and to preserve the historic data?


Just to answer myself in case somebody else runs into the same issue: I had not set Reactive Power mode to RRCR - as is advised at the bottom of this page. I had only set Set Advanced Power Control to Enable. With this setting applied, my charge-rate went up to 5KW.

Rename all of the new entities to the names the old ones used.This is as simple as removing the _2 from the end of each entity name after deleting the old entity.

Unfortunately it needs to be done manually to each one, I don’t know if there is an automated way to do it in the frontend. Home Assistant handles entity naming (and when it detects duplicates it will add a number to the end), so it’s not something I can do integration side.

The reason new entities are created is because the serial number of the inverter changed when it was replaced, and the internal unique ID for entities is based on the inverter model and serial number.

2 Likes

If you’re having trouble with meter energy readings after the latest SolarEdge firmware update, see this issue:

In Release v2.4.8-pre.1 there is a potentially backwards incompatible change to the Energy sensors to better fit today’s Home Assistant.

  1. The entity names for Energy sensors will no longer have kwh in them by default.

The reason kwh should be removed from the name is because this is no longer strictly true. The inverter actually uses watt-hours and previously the entity would statically scale to kWh. However at some point Home Assistant updated to allow entities to be dynamically configured for units and precision through the UI, so now anyone can choose to see energy in Wh, kWh, MWh, whatever units HA supports for Energy class sensors. So having a sensor name with kwh in it is no longer appropriate when it could be several other supported units for its class.

This can be backwards compatibility breaking but it depends: existing energy sensor entities with kwh in the name won’t change on simple upgrades to the current version of the integration.

The name will change to the new default if you remove and re-add the integration or device. New users will notice if they installed a version after v2.4.8 for the first time that their Energy sensor names don’t end with kwh and templates will need to be adjusted to remove kwh from the name.

I don’t know if there’s a way to set up templates to look for both the old and new sensor entity names (with a name ending in kwh or not). If there is this would make it easier to accommodate existing and new users without template changes.

I don’t like making breaking changes, but sometimes it turns out that decisions made in the past that were good for the time don’t always fit long term. I like that HA added these features to change between units dynamically, but I wish I’d named my entities better to consider that.

  1. Internally the native unit for energy will be watt-hours.

The inverter’s native units when reading it over modbus is watt-hours. The default suggested unit will still be kWh so it won’t appear anything has changed other than the name, and let Home Assistant to do the unit conversions and remove any hardcoded unit conversions.

This shouldn’t affect anyone, but I’m mentioning it just in case.

I’ve noticed that there is clear discrepancy in the data being reported by this integration, which only started once we began exporting regularly (due to tariff changes) in September 2023. Before that, our “total energy into battery” and “total energy out of battery” were very close for each month, as expected. Since then, the numbers are wildly different (which isn’t possible):

The SolarEdge app doesn’t seem to show this data so I have nothing to compare it to. Am I misunderstanding this data? If not, what could be going on here?

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, which is obviously not correct. Secondly, this morning we’ve been supposedly producing 20-60 W (slowly increasing) but the second we started importing from the grid to charge the house battery that figure dropped to 0 W and has stayed there since.
EDIT: Since the battery reached 90% and its charging rate dropped to 1.6 kW (as normal), the solar production is now correctly showing again as ~200 W. :face_with_raised_eyebrow:

I’m using the sensor templates from the second half of this page. I assume this page is up to date and correct?

The plot thickens. For some reason when the battery goes from 90 to 100% charge, the “B1 Energy Import” stat doesn’t increase, even though it sucks up 1.6 kW of power for about an hour. Could be related to the other dodgy stats.

I don’t have batteries personally so unfortunately I can’t offer any advice on them directly. I can tell you the integration doesn’t interpret any of the data points, it presents them as they are.

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.