Solaredge modbus LAN connection Refused

Yesterday the solar installers came by, connected a LAN cable directly to my router and changed the config to not use the cellular card. Using the home-assistant-solaredge-modbus integration from github I copied the custom_components directory into my /config directory and installed the integration specifying my IP address and port 1502. All seemed to go well but no data flowed into HA and I am getting a connection refused error. My log shows this sequence every 30 seconds (default data retrieval interval):

pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.0.97:1502)]
2022-08-29 23:18:07.781 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.0.97, 1502) failed: [Errno 111] Connection refused
2022-08-29 23:18:07.782 ERROR (MainThread) [custom_components.solaredge_modbus] Error reading modbus data
Traceback (most recent call last):
  File "/config/custom_components/solaredge_modbus/__init__.py", line 195, in async_refresh_modbus_data
    update_result = self.read_modbus_data()
  File "/config/custom_components/solaredge_modbus/__init__.py", line 246, in read_modbus_data
    self.read_modbus_data_inverter()
  File "/config/custom_components/solaredge_modbus/__init__.py", line 570, in read_modbus_data_inverter
    inverter_data = self.read_holding_registers(unit=self._address, address=40071, count=38)
  File "/config/custom_components/solaredge_modbus/__init__.py", line 233, in read_holding_registers
    return self._client.read_holding_registers(address, count, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pymodbus/client/common.py", line 114, in read_holding_registers
    return self.execute(request)
  File "/usr/local/lib/python3.10/site-packages/pymodbus/client/sync.py", line 106, in execute
    raise ConnectionException("Failed to connect[%s]" % (self.__str__()))

I have tried connecting to http://192.168.0.97:1502 with my browser and get a “refused to connect” error. I can ping the IP address successfully. The PN of my inverter ends in a 4 so it looks like I should have the ability to connect. Do I need to do something with the inverter itself to allow a connection? Any other ideas are welcome.

Thanks

Please read the documentation at

Especially heading “Enabling Modbus TCP on SolarEdge Inverter” That is not enabled by default!

I did read that article, and promptly ignored the rest of what it told me to do when I saw Wifi since I was LAN connected. Thanks for restating the obvious… Everything is flowing through fine now. I now have both the local and the cloud sensor data showing up. Is there a need for both or should I disable the cloud integration?

You can disable the cloud integration in HA as you have every few seconds the data directly from the SolarEdge modbus, instead of every 20 minutes from the cloud. That will keep your max. pull request in the cloud lower so you can be sure that the SolarEdge app itself will keep working.

1 Like