core: Modbus integration fails to reconnect if modbus device becomes unavailable temporarily.

The problem

Hello,

I have a Victron Quattro inverter connected to Home assistant pulling data via Modbus TCP.

All works well until the inverter/charger is rebooted (say for a firmware update) or turned off/on for service work, or even a simple network issue temporarily.

Home assistant simply shows “unavailable” for all sensors until home assistant is restarted. There are no other issues and the device can stay up forever otherwise… it is annoying as if someone is doing work or something does happen and it is not noticed the charger/inverter is not logged until home assistant is manually restarted to fix the connection issue.

The issue is 100% repeatable, let me know if there is something else I can get for you or try.

+++++++++++++++++++++++++++++++++++++++++++++

My config:

Configuration.yaml

modbus: !include modbus.yaml

Modbus.yaml

modbus:

  • name: victron type: tcp host: 192.168.50.131 # use the IP address of your CCGX port: 502 retries: 20000 ||| Makes no difference what this is set to. close_comm_on_error: false |||||||||Tried this both False and the default of true sensors:
    • name: “Shore Power” scan_interval: 10 unit_of_measurement: “W” slave: 100 address: 820

    • name: “PV Power” scan_interval: 10 unit_of_measurement: “W” slave: 100 address: 850

    • name: “AC Loads” scan_interval: 10 unit_of_measurement: “W” slave: 100 address: 817

+++++++++++++++++++++++++++++++++++++++

Here is the export from the core log: 2022-03-14 22:51:31 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select()

What version of Home Assistant Core has the issue?

2022.3.4

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Modbus

Link to integration documentation on our website

https://www.home-assistant.io/integrations/modbus/

Diagnostics information

2022-03-14 21:28:52 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration anniversaries which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-03-14 21:28:52 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration multiscrape which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-03-14 21:28:52 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-03-14 21:28:52 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration pijuice which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-03-14 21:28:56 WARNING (MainThread) [hass_nabucasa.cloud_api] Fetched https://alexa-api.nabucasa.com/access_token (400) 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Shore Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] PV Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] AC Loads with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Inverter State with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Shunt Current with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Capacity with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Deepest Battery Discharge with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Active AC Input with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Temperature with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Inverter Voltage with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Inverter Current with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery State of Charge with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery State with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Consumed Amphours with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery time to go with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Shore Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] PV Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] AC Loads with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Inverter State with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Shunt Current with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Capacity with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Deepest Battery Discharge with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Active AC Input with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Temperature with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Inverter Voltage with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Inverter Current with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Power with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery State of Charge with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery State with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery Consumed Amphours with int is not valid, trying to convert 2022-03-14 21:28:58 WARNING (MainThread) [homeassistant.components.modbus.validators] Battery time to go with int is not valid, trying to convert 2022-03-14 21:53:22 ERROR (SyncWorker_3) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 21:53:22 ERROR (SyncWorker_1) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 21:53:22 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_temperature.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 21:53:52 ERROR (SyncWorker_5) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 21:53:52 ERROR (SyncWorker_3) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 21:53:52 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_temperature.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 22:05:36 ERROR (SyncWorker_1) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 22:05:36 ERROR (SyncWorker_5) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 22:05:36 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_temperature.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 22:29:41 ERROR (SyncWorker_2) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 22:29:41 ERROR (SyncWorker_3) [homeassistant.components.modbus.modbus] Pymodbus: victron: Exception Response(131, 3, GatewayPathUnavailable) 2022-03-14 22:29:41 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_temperature.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 22:33:17 ERROR (SyncWorker_4) [homeassistant.components.modbus.modbus] Pymodbus: victron: Modbus Error: [Connection] ModbusTcpClient(192.168.50.131:502): Connection unexpectedly closed 0.000102 seconds into read of 8 bytes without response from unit before it closed connection 2022-03-14 22:33:20 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:23 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:26 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:29 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:32 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:35 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:38 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:41 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:41 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_temperature.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 22:33:44 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: timed out 2022-03-14 22:33:45 WARNING (MainThread) [homeassistant.helpers.template] Template warning: ‘int’ got invalid input ‘unavailable’ when rendering template ‘{{ (( states.sensor.battery_inverter_voltage.state | int ) /10) }}’ but no default was specified. Currently ‘int’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1 2022-03-14 22:33:46 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:46 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:47 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_1) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_2) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_3) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_4) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_0) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:48 ERROR (SyncWorker_5) [pymodbus.client.sync] Connection to (192.168.50.131, 502) failed: [Errno 111] Connection refused 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:58 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:58 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:58 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:33:58 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:34:07 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:34:07 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:34:07 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select() 2022-03-14 22:34:07 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/modbus/sensor.py”, line 63, in async_update result = await self._hub.async_pymodbus_call( File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 390, in async_pymodbus_call result = await self.hass.async_add_executor_job( File “/usr/local/lib/python3.9/concurrent/futures/thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) File “/usr/src/homeassistant/homeassistant/components/modbus/modbus.py”, line 367, in _pymodbus_call result = entry.func(address, value, **kwargs) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py”, line 114, in read_holding_registers return self.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 109, in execute return self.transaction.execute(request) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 174, in execute response, last_exception = self._transact( File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 294, in _transact result = self._recv(response_length, full) File “/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py”, line 326, in _recv read_min = self.client.framer.recvPacket(min_size) File “/usr/local/lib/python3.9/site-packages/pymodbus/framer/init.py”, line 49, in recvPacket return self.client.recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 89, in recv return self._recv(size) File “/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py”, line 293, in recv ready = select.select([self.socket], [], [], end - time) ValueError: filedescriptor out of range in select()

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: pymodbus.client.sync
Source: /usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py:218
First occurred: 10:33:20 PM (63 occurrences)
Last logged: 10:33:48 PM

Connection to (192.168.50.131, 502) failed: timed out

=======================================================

Logger: homeassistant
Source: components/modbus/modbus.py:367
First occurred: 10:33:57 PM (2768 occurrences)
Last logged: 11:02:58 PM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/modbus/sensor.py", line 63, in async_update
    result = await self._hub.async_pymodbus_call(
  File "/usr/src/homeassistant/homeassistant/components/modbus/modbus.py", line 390, in async_pymodbus_call
    result = await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/modbus/modbus.py", line 367, in _pymodbus_call
    result = entry.func(address, value, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/client/common.py", line 114, in read_holding_registers
    return self.execute(request)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py", line 109, in execute
    return self.transaction.execute(request)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py", line 174, in execute
    response, last_exception = self._transact(
  File "/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py", line 294, in _transact
    result = self._recv(response_length, full)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/transaction.py", line 326, in _recv
    read_min = self.client.framer.recvPacket(min_size)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/framer/__init__.py", line 49, in recvPacket
    return self.client.recv(size)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py", line 89, in recv
    return self._recv(size)
  File "/usr/local/lib/python3.9/site-packages/pymodbus/client/sync.py", line 293, in _recv
    ready = select.select([self.socket], [], [], end - time_)
ValueError: filedescriptor out of range in select()

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 20 (7 by maintainers)

Most upvoted comments

It is a bit difficult to do that automatically, so instead we are going to use a master/slave principle in the setup. You define a sensor with the start address and how many you want of the same type, and that is sent as 1 request.

the Pymodbus dependency and of course my time…I am working on a major rework, that will speed up the integration.

just wanted to find out the status of this and see if there is anything I can do to help push it along. Still an issue in the latest version of HA.