Custom Component: SolarEdge Modbus TCP

I have a problem with it. I have solaredge SE3000H ang gave it a statis ip 192.168.1.17. I also enabled modbus TCP but when I try to ping that address I get an error. On my router I see info that through that address two devices are connecting. What might be the problem? From this component I get an error 2 :frowning:

Hey,
thanks for this great component. The connection via modbus tcp is already established. But iā€™m confused about the values. Which value represents the current pv output in W?
All values differ from the offical data delivered by solaredge portal.

Please note that the SolarEdge portal only provide 15 minutes average values while the modbus tcp / this component is reading the values that very second.

The state value of the sensor called ā€œSolarEdge Modbusā€ is the power produced from the inverter (the AC power after conversion). Itā€™s also stored in the ā€œac power outputā€ property on the sensor.

@majkers error 2 is typically connection failed.

Try restarting your inverter and within 2 minutes also your home assistant to have it reconnect.
Also make sure you have the correct port specified.

Great thanks!
Yes, i know about this ā€œspecial 15 minā€ feature. Thatā€™s the reason why i use the modbus way. 15 minutes are not really useful to automate things depending on inverter information.

I have a SE6000H, I have enabled Modbus TCP under Communication -> LAN but canā€™t connect to it. Tried using the Free modbus Poller on Android as well. Now in this inverter LAN and WiFi are set up separately, so Iā€™m beginning to suspect I need to connect an Ethernet cable. Has anyone had any luck connecting over WiFi?

Just to add, this is the inverter with the LCD, not the SetApp version

1 Like

Hi Erik !

First of all thanks for making this component available!

I have a new 15K SolarEdge inverter and successfully using this component (passed setting staticIP, enabling ModbusTCP etc using the SetApp mobile app, connecting within 2 min).

However

A) Every night HASS loses connection to the inverter (SolarEdge scheduled reset/reboot?). In the HASS log it starts of with one ā€œError 4ā€ and then two (I have meter enabled as well) ā€œError 2ā€ for each poll-cycle. Restart HASS does not help.

2020-10-07 00:02:42 ERROR (MainThread) [custom_components.solaredge_modbus.sensor] error 4

2020-10-07 00:02:43 ERROR (MainThread) [custom_components.solaredge_modbus.sensor] error 2

2020-10-07 00:02:53 ERROR (MainThread) [custom_components.solaredge_modbus.sensor] error 2

B) Home Assistant (running on a Rasp 3b) also start logging various timeouts for other integration and the web gui becomes completely unresponsive - Iā€™m suspecting resource / thread starvation as a consequence of the problem

When checking the inverter config with SetUp App I can still see the right configuration and 'touchā€™ing + saving the config again resolves the problem ā€¦ until the following night.

I suspected the inverter is somehow resetting into a firewalled mode, causing the TCP connects to hang a long time (as opposed to instant ā€˜connection refusedā€™) and added timeout=1 to the Modbus.Client instantiation. This solved the B) problem but not A)

I have tried raising log level to debug for pyModbus.client (in instantiation) and for solaredge_modbus (Configuration.yaml; logger:, logs:, custom_components.solaredge_modbus: debug) but Iā€™m not getting any more information the hass log.

Any idea what is causing this or how to trouble-shoot it?

Can the script be modified to re-init on ā€œERROR 4ā€? Theory: the ā€˜ModbusTCP enableā€™ setting is actually not lost but the Modbus.client is defunct and 2 min later the port is closed

1 Like

Trying to setup modus on our Solaredge SE3500H , but I canā€™t enable this option , what did a do wrong

hey there, iā€™m having some troubles to read the data, i can connect succesfully to my inverter (it says connected when i start the integration) but all my date says ā€œunknowā€.
Am i doing something wrong? When i uninstall the integration my inverter says ready, and when i install it again it says ā€œconnectedā€ so iā€™m 99.9% shure that HA is connected to the inverter but my data still says ā€œunknowā€.
Anyone any idea?

in my case nmap shows port is closed, no admin access, so i need a support call to SolarEdge

This custom component works great for me. I had the installer enabling Modbus TCP and he was surprised of me asking that but it worked out of the box on TCP port 1502.

Though my problem now is that I have changed the WiFi network in the home and had to register the inverter again. Got that working but unfortunately I had to change the IP address of the inverter as well. It has a manually assigned IP in the DHCP server hence it wonā€™t change in the future but I cannot figure out a way to update the IP address in Home Assistant.
Removing the component and loading it again might work but that would be very painful as I have changed manually the names of the entities and that will be lost.

Is there any way to update the IP address of the SolarEdge inverter in Home Assistant?

Change the IP address in configuration.yaml and restart Home Assistant should be enough.

My configuration.yaml has no solaredge_modbus lines.

I have already gave up and deleted the integration and added that back again.
Also I have seen at least another person on github suggesting the same solution.

Then you are probably using another component as this one require entries in the config. Did you download the files from here: https://github.com/erikarenhill/solaredge-modbus-hass ?

It does however use some default values but the main line must exist to enable it. Otherwise it might just work to add them as per the installation instructions and change the IP to yours.

@erikarenhill you are absolutely right. It did not even cross my mind that HACS is installing another component which has a very similar name and does the same thing.

Iā€™m sorry for the confusion!

Now that Iā€™m here, is there anything different between this custom component and the one that is available in HACS?
Can I install it in Home Assistant Core (on a docker container) or is HASS dependent?

How are you guys able to use the SetApp for change settings on the Inverter? We have access to the mySolarEdge App which does not allow you make changes.

Did you have to create a special account or get some sort of permission from the installer?

[email protected] is the way to request this function, i just recently learned from my installer. My installer doesnt want to waste petrol costs to visit my site as they told me SolarEdge support can do it too. Why on earth it is not enabled by default once its already supporting it!!! Soon or later every smart home systems or solar software will talk this protocol. Also we do good for Solaredge as this way less people banging their cloud server with API requests.

@rancho, Others,

What specifically do I ask for when emailing [email protected]?

@narsaw @rancho you can activate this yourself actually. Connect to the inverter via the P/hotspot mode with the mySolaredge app, then minimize the app and open a web browser to the inverter (172.16.0.1) and you can access these SetApp features directly.

If you still want the support to enable it just ask them to enable ā€œmodbus tcpā€

Iā€™m running this myself in my hass docker instance on Ubuntu, no problem. Have not tried the one in hacs to answer your question about the differences.

Iā€™m running my config/plugin directory mapped to a volume at the host