Open philippegabert opened 11 months ago
Connection refused means, that the inverter actively rejected the connection request. I don't beleive, that this is something that can be fixed within the integration - at least, as long as we don't know when exactly this happens...
Is the Inverter in Sleep Mode (Night mode) when it refuses the connection request? According to the time from the logs, I don't beleive so...
Also, the Software Version of the Inverter could be relevant... But these are not provided by the Modbus Integration (AFAIK)...
only with the Core-Integration (which connects to the web api) you will get the information as Attribute of the "inverters" sensor...
dsp1Version: 1.13.2016 dsp2Version: 2.19.1601 cpuVersion: 4.16.25
I would also get in contact with the SolarEdge support, to check, if this might be a firmware issue - or if this might already be fixed with a newer firmware that needs to be installed on the inverter.
Thanks @ChristophCaina. Question though: It looks to me that it's normal that the inverter refuses the connection as you can only have active. But... why does the integration tries to connect to the inverter? I assume (but may be wrong) that the "Connection refused" is for "new" connections to the inverter... In the case you have short update frequencies (1 second) and short timeout, the integration should be able to reuse existing connections and therefore not throw those kind of errors?
Still getting same issue regularly; there should be a way to handle this
2024-03-17 06:43:38.493 ERROR (SyncWorker_31) [custom_components.solaredge_modbus] Error reading modbus data Traceback (most recent call last): File "/config/custom_components/solaredge_modbus/init.py", line 247, in _refresh_modbus_data update_result = self.read_modbus_data() ^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/solaredge_modbus/init.py", line 321, in read_modbus_data self.read_modbus_data_inverter() File "/config/custom_components/solaredge_modbus/init.py", line 608, in read_modbus_data_inverter inverter_data = self.read_holding_registers( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/solaredge_modbus/init.py", line 305, in read_holding_registers return self._client.read_holding_registers( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/client/mixin.py", line 102, in read_holding_registers return self.execute( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 177, in execute return self.transaction.execute(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/transaction.py", line 168, in execute response, last_exception = self._transact( ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/transaction.py", line 313, in _transact result = self._recv(response_length, full) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/transaction.py", line 343, in _recv read_min = self.client.framer.recvPacket(min_size) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/framer/base.py", line 77, in recvPacket return self.client.recv(size) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/client/tcp.py", line 210, in recv return self._handle_abrupt_socket_close( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/client/tcp.py", line 257, in _handle_abrupt_socket_close raise ConnectionException(msg) pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] ModbusTcpClient(192.168.178.61:1502): Connection unexpectedly closed 2.1696090698242188e-05 seconds into read of 8 bytes without response from slave before it closed connection 2024-03-17 06:44:10.546 ERROR (SyncWorker_51) [pymodbus.logging] Connection to (192.168.178.61, 1502) failed: [Errno 111] Connection refused 2024-03-17 06:44:10.547 WARNING (SyncWorker_51) [custom_components.solaredge_modbus] not able to connect to 192.168.178.61:1502
My config
I have the same issue. Any update on this please?
Also getting the same issue. 30 second pole int.
Experienced the same kind of issue. Noticed that HA was not able to reach the SolarEdge inverter. In the log files I see the following.
ERROR (MainThread) [pymodbus.client.tcp] Connection to (10.27.11.9, 1502) failed: timed out
Created packet capture on the network and noticed that the inverter was not responding to the TCP SYN request. After some additional testing I found a interesting behaviour.
The inverter was drop all incoming requests from the same subnet. In my example, the inverter and HA are both placed in the subnet 10.27.11.0/24. (so 10.27.11.0-10.27.11.255). Even ping traffic is dropped.
With my laptop I was able to ping the inverter and also got a SYN ACK when using NMAP on port 1502. My laptop was in a different segment (10.27.10.0/24).
Workaround is by placing HA and the inverter in a different subnet or by using NAT (which is more complex).
Hi,
I have been using the integration for quite some time and it works but I always have had some ERROR in the logs. My refresh rate is 1sec. I have the latest version installed (1.10.1).
and also:
Is there anyway to get rid of those errors? As mentioned, the integration works and I do get the data... so I don't know why the integration keeps on throwing those errors.
Thanks