Coder Social home page Coder Social logo

Comments (5)

wills106 avatar wills106 commented on May 28, 2024

Do you have a Modbus Power Meter like one from Acrel or Estron SDM. Or are you just using CT Clamps?

from homeassistant-solax-modbus.

vizkoze avatar vizkoze commented on May 28, 2024

I use the solis DLS-L lan stick that is directly connected to the inverter.
Maybe there was an intermittant error due to starting/stopping the homeassistant instance for testing purposes.
However now that the logging stick is offline due to the sun beeing under, an other error occurs:
the plugin cannot connect anymore and tries every 2.5minutes to reconnect.
Maybe a limit on how many times the connection should be retried could be implemented? like 15 minutes after sunset stop polling and 10 minutes befor sunrise start polling for the stick?
Edit: i notice that the last known value is retained. In my instance, i monitor PV total power and after sunset it remains at 13W.
It is the same behaviour I noticed when using the Ginlong Solis PV portal integration.
Would i be trivial to set the value of instant power to 0?

Log:
2022-11-09 17:44:31.076 ERROR (MainThread) [custom_components.solax_modbus] SolisModbus error reading holding registers at device 1 position 0xa86c
NoneType: None
2022-11-09 17:46:14.188 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:46:14.194 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 17:48:44.204 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:48:44.207 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 17:51:14.220 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:51:14.224 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 17:53:44.237 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:53:44.240 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 17:56:14.189 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:56:14.192 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 17:58:44.269 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 17:58:44.272 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 18:01:14.221 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 18:01:14.224 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 18:03:44.237 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 18:03:44.240 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 18:06:14.253 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 18:06:14.257 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 18:08:44.269 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 18:08:44.272 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]
2022-11-09 18:11:14.285 ERROR (MainThread) [pymodbus.client.sync] Connection to (192.168.1.43, 8899) failed: [Errno 113] Host is unreachable
2022-11-09 18:11:14.289 ERROR (MainThread) [custom_components.solax_modbus] Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]: SolisModbus cannot read holding registers at device 1 position 0xa86c
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/init.py", line 332, in read_modbus_block
else: realtime_data = self.read_holding_registers(unit=self._modbus_addr, address=block.start, count=block.end - block.start)
File "/config/custom_components/solax_modbus/init.py", line 271, 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 108, in execute
raise ConnectionException("Failed to connect[%s]" % (self.str()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusTcpClient(192.168.1.43:8899)]

from homeassistant-solax-modbus.

wills106 avatar wills106 commented on May 28, 2024

There is code to reduce reading when an Inverter goes to sleep to prevent slowdown of HA.

We thought of making the Integration respond invalid instead of the last read value, but would that mess up the long term stats etc?

If there is nothing to communicate to at all it's hard to work around that.
All you can really do is not restart HA when your Inverter is asleep.
I take it you don't have any batteries connected to your Inverter?

from homeassistant-solax-modbus.

vizkoze avatar vizkoze commented on May 28, 2024

Don't have batteries connected to the inverter.
Thanks for your work, I prefer your solution that keeps data local as soliscloud keeps messing up their api access and doesn't refresh as often.

from homeassistant-solax-modbus.

infradom avatar infradom commented on May 28, 2024

Not sure I read everything correctly; went quickly over it.
We could catch the error messages and just be silent during the dark hours but continue to try to reconnect at a slow pace.
This would make debugging for other users difficult.

from homeassistant-solax-modbus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.