wlcrs / huawei_solar

Home Assistant integration for Huawei Solar inverters via Modbus
GNU Affero General Public License v3.0
556 stars 89 forks source link

Huawei Solar started to hang - Reload solves it #725

Closed danise76 closed 4 months ago

danise76 commented 5 months ago

Describe the issue

Since some days ago (trying to check what has been updated then) the integration started to stop and behave extrange.

Sometimes sees timeouts. What happens is that it stops fetching data. If i reload the integration, comes back to life for 6-8 hours, until it stops. I'm conected via Modbus with an USB adaptor. I have 2 inverters in Daisy chain, and the meter (all in the modbus).

It has been working OK for so long.

It's a virtual machine with HA, and using an USB to connect to Modbus via serial. Core - 2024.5.5 Supervisor - 2024.05.1 Operating System - 12.3 Frontend - 20240501.1

When this freeze happens, the inverters are working and send data to Huawei Cloud.

Describe your Huawei Solar Setup

Inverter Type: SUN2000-5KTL-L1 (1020A00YYYYY) + SUN2000-2KTL-L1 (HV22504YYYYY) Inverter Firmware version: V200R001C00SPC130 sDongle present: NO sDongle Type: sDongle Connectivitiy: WiFi sDongle Firmware: Power meter present: single phase Optimizers Present: Yes Battery: None Battery Firmware version: Huawei Solar integration version: 1.3.3

How do you connect to the inverter?

Over serial, with a serial-to-USB stick

Upload your Diagnostics File

Drag & Drop your Diagnostics File here. config_entry-huawei_solar-33969017eead49451e2af5fc0053c2c4.json

Upload your relevant debug logs

2024-06-05 18:07:24.177 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:09:26.211 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:09:27.259 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:09:29.293 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:09:33.327 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:09:41.362 INFO (MainThread) [backoff] Backing off _do_read(...) for 16.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:09:45.177 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:11:20.230 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:11:21.778 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:11:24.441 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:11:28.473 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:11:36.506 INFO (MainThread) [backoff] Backing off _do_read(...) for 16.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:11:39.178 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:15:19.178 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:15:26.089 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:15:27.123 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:15:29.157 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:17:30.212 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:17:31.246 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:17:33.909 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:17:37.944 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:17:39.180 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:19:28.214 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:19:29.248 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:19:31.282 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:19:35.315 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:19:37.179 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:20:28.259 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching HV22504YYYYY_data_update_coordinator data
2024-06-05 18:21:10.212 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:21:11.246 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:21:56.228 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:24:12.224 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:24:13.258 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:25:58.910 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:37.211 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:38.244 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:40.728 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:44.761 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:52.795 INFO (MainThread) [backoff] Backing off _do_read(...) for 16.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:29:56.179 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:29:56.260 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching HV22504YYYYY_data_update_coordinator data
2024-06-05 18:31:22.212 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:31:23.707 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:31:25.740 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:31:29.774 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:31:31.177 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data
2024-06-05 18:37:23.471 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:37:24.519 INFO (MainThread) [backoff] Backing off _do_read(...) for 2.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:37:26.553 INFO (MainThread) [backoff] Backing off _do_read(...) for 4.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:37:30.587 INFO (MainThread) [backoff] Backing off _do_read(...) for 8.0s (huawei_solar.exceptions.SlaveFailureException)
2024-06-05 18:37:32.177 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_data_update_coordinator data

2024-06-05 18:56:21.238 ERROR (MainThread) [custom_components.huawei_solar] Unexpected error fetching HV22504YYYYY_optimizer_data_update_coordinator data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 315, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/huawei_solar/__init__.py", line 358, in _async_update_data
    return await self.bridge.get_latest_optimizer_history_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/bridge.py", line 255, in get_latest_optimizer_history_data
    end_time = (await self.client.get(rn.SYSTEM_TIME_RAW, self.slave_id)).value
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 241, in get
    return (await self.get_multiple([name], slave))[0]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 276, in get_multiple
    response = await self._read_registers(registers[0].register, total_length, slave)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 398, in _read_registers
    return await _do_read()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 351, in _do_read
    response = await self._client.read_holding_registers(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 206, in async_execute
    self.close(reconnect=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 153, in close
    self.connection_lost(asyncio.TimeoutError("Server not responding"))
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/modbus.py", line 40, in connection_lost
    super().connection_lost(exc)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 300, in connection_lost
    self.transport_close(intern=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 419, in transport_close
    self.transport.close()
    ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'close'
2024-06-05 18:56:26.249 ERROR (MainThread) [huawei_solar.huawei_solar] Timeout while waiting for connection. Reconnecting...
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 141, in _communication_lock
    await asyncio.wait_for(self._client.connected_event.wait(), WAIT_FOR_CONNECTION_TIMEOUT)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError
2024-06-05 18:56:26.254 ERROR (MainThread) [custom_components.huawei_solar] Timeout fetching 1020A00YYYYY_optimizer_data_update_coordinator data
2024-06-05 18:57:45.260 INFO (MainThread) [backoff] Backing off _do_read(...) for 1.0s (huawei_solar.exceptions.SlaveBusyException: Mismatch between number of requested registers (52) and number of received registers (20))
2024-06-05 19:29:01.038 ERROR (MainThread) [custom_components.huawei_solar] Unexpected error fetching HV22504YYYYY_optimizer_data_update_coordinator data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 315, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/huawei_solar/__init__.py", line 358, in _async_update_data
    return await self.bridge.get_latest_optimizer_history_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/bridge.py", line 255, in get_latest_optimizer_history_data
    end_time = (await self.client.get(rn.SYSTEM_TIME_RAW, self.slave_id)).value
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 241, in get
    return (await self.get_multiple([name], slave))[0]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 276, in get_multiple
    response = await self._read_registers(registers[0].register, total_length, slave)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 398, in _read_registers
    return await _do_read()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 351, in _do_read
    response = await self._client.read_holding_registers(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 206, in async_execute
    self.close(reconnect=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 153, in close
    self.connection_lost(asyncio.TimeoutError("Server not responding"))
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/modbus.py", line 40, in connection_lost
    super().connection_lost(exc)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 300, in connection_lost
    self.transport_close(intern=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 419, in transport_close
    self.transport.close()
    ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'close'
2024-06-05 19:29:06.043 ERROR (MainThread) [huawei_solar.huawei_solar] Timeout while waiting for connection. Reconnecting...
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 141, in _communication_lock
    await asyncio.wait_for(self._client.connected_event.wait(), WAIT_FOR_CONNECTION_TIMEOUT)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError
2024-06-05 19:39:42.238 ERROR (MainThread) [custom_components.huawei_solar] Unexpected error fetching HV22504YYYYY_optimizer_data_update_coordinator data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 315, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/huawei_solar/__init__.py", line 358, in _async_update_data
    return await self.bridge.get_latest_optimizer_history_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/bridge.py", line 255, in get_latest_optimizer_history_data
    end_time = (await self.client.get(rn.SYSTEM_TIME_RAW, self.slave_id)).value
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 241, in get
    return (await self.get_multiple([name], slave))[0]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 276, in get_multiple
    response = await self._read_registers(registers[0].register, total_length, slave)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 398, in _read_registers
    return await _do_read()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 351, in _do_read
    response = await self._client.read_holding_registers(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 206, in async_execute
    self.close(reconnect=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 153, in close
    self.connection_lost(asyncio.TimeoutError("Server not responding"))
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/modbus.py", line 40, in connection_lost
    super().connection_lost(exc)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 300, in connection_lost
    self.transport_close(intern=True)
  File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 419, in transport_close
    self.transport.close()
    ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'close'
2024-06-05 19:39:47.244 ERROR (MainThread) [huawei_solar.huawei_solar] Timeout while waiting for connection. Reconnecting...
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py", line 141, in _communication_lock
    await asyncio.wait_for(self._client.connected_event.wait(), WAIT_FOR_CONNECTION_TIMEOUT)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError
2024-06-05 19:54:20.231 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32064 with length 52 from slave 2
2024-06-05 19:54:20.231 DEBUG (MainThread) [pymodbus.logging] send: 0x2 0x3 0x7d 0x40 0x0 0x34 0x5d 0x96
2024-06-05 19:54:20.232 DEBUG (MainThread) [pymodbus.logging] Adding transaction 2
2024-06-05 19:54:20.292 DEBUG (MainThread) [pymodbus.logging] recv: 0x2 0x3 0x68 0x0 0x0 0x0 0xef 0x9 0xa 0x0 0x0 0x0 0x0 0x4 0x75 0x0 0x2 0x0 0x0 0x0 0x0 0x4 0x43 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 old_data:  addr=None
2024-06-05 19:54:20.293 DEBUG (MainThread) [pymodbus.logging] Processing: 0x2 0x3 0x68 0x0 0x0 0x0 0xef 0x9 0xa 0x0 0x0 0x0 0x0 0x4 0x75 0x0 0x2 0x0 0x0 0x0 0x0 0x4 0x43 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
2024-06-05 19:54:20.293 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:20.329 DEBUG (MainThread) [pymodbus.logging] recv: 0x0 0x7 0x43 0x0 0x0 0x0 0xe8 0x0 0x0 0x0 0x5 0x3 0xe8 0x13 0x82 0x25 0xea 0x1 0x49 0xb 0xb8 0x2 0x0 0x0 0x0 0x66 0x60 0xb 0xcd 0x66 0x5f 0x8a old_data:  addr=None
2024-06-05 19:54:20.329 DEBUG (MainThread) [pymodbus.logging] Processing: 0x0 0x7 0x43 0x0 0x0 0x0 0xe8 0x0 0x0 0x0 0x5 0x3 0xe8 0x13 0x82 0x25 0xea 0x1 0x49 0xb 0xb8 0x2 0x0 0x0 0x0 0x66 0x60 0xb 0xcd 0x66 0x5f 0x8a
2024-06-05 19:54:20.329 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:20.366 DEBUG (MainThread) [pymodbus.logging] recv: 0xc2 0x0 0x0 0x0 0xec 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0x6 0xe7 0x0 0x8 0x4b 0x23 0x66 old_data:  addr=None
2024-06-05 19:54:20.366 DEBUG (MainThread) [pymodbus.logging] Processing: 0xc2 0x0 0x0 0x0 0xec 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0x6 0xe7 0x0 0x8 0x4b 0x23 0x66
2024-06-05 19:54:20.366 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:20.383 DEBUG (MainThread) [pymodbus.logging] recv: 0x60 0xc2 0x6d 0x0 0x0 0x0 0x1f 0x0 0x0 0x5 0x31 0x9b 0xe7 old_data:  addr=None
2024-06-05 19:54:20.384 DEBUG (MainThread) [pymodbus.logging] Processing: 0x60 0xc2 0x6d 0x0 0x0 0x0 0x1f 0x0 0x0 0x5 0x31 0x9b 0xe7
2024-06-05 19:54:20.384 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:25.802 DEBUG (MainThread) [pymodbus.logging] recv: 0x1 0x3 0x68 0x0 0x0 0x3 0x25 0x9 0x1 0x0 0x0 0x0 0x0 0x8 0xb4 0x0 0x4 0x0 0x0 0x0 0x0 0xd 0x8e 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 old_data:  addr=None
2024-06-05 19:54:25.803 DEBUG (MainThread) [pymodbus.logging] Processing: 0x1 0x3 0x68 0x0 0x0 0x3 0x25 0x9 0x1 0x0 0x0 0x0 0x0 0x8 0xb4 0x0 0x4 0x0 0x0 0x0 0x0 0xd 0x8e 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
2024-06-05 19:54:25.803 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:25.839 DEBUG (MainThread) [pymodbus.logging] recv: 0x0 0xf 0x16 0x0 0x0 0x3 0x19 0x0 0x0 0x0 0x0 0x3 0xe8 0x13 0x83 0x26 0x76 0x1 0x59 0xb 0xb8 0x2 0x0 0x0 0x0 0x66 0x60 0xa 0xa 0x66 0x5f 0x8b old_data:  addr=None
2024-06-05 19:54:25.839 DEBUG (MainThread) [pymodbus.logging] Processing: 0x0 0xf 0x16 0x0 0x0 0x3 0x19 0x0 0x0 0x0 0x0 0x3 0xe8 0x13 0x83 0x26 0x76 0x1 0x59 0xb 0xb8 0x2 0x0 0x0 0x0 0x66 0x60 0xa 0xa 0x66 0x5f 0x8b
2024-06-05 19:54:25.840 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:25.876 DEBUG (MainThread) [pymodbus.logging] recv: 0x71 0x0 0x0 0x3 0x11 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1c 0x69 0xe8 0x0 0x1d 0x19 0xc0 0x66 old_data:  addr=None
2024-06-05 19:54:25.876 DEBUG (MainThread) [pymodbus.logging] Processing: 0x71 0x0 0x0 0x3 0x11 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1c 0x69 0xe8 0x0 0x1d 0x19 0xc0 0x66
2024-06-05 19:54:25.876 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:25.893 DEBUG (MainThread) [pymodbus.logging] recv: 0x60 0xc2 0x46 0x0 0x0 0x0 0x65 0x0 0x0 0xa 0x63 0x98 0x37 old_data:  addr=None
2024-06-05 19:54:25.893 DEBUG (MainThread) [pymodbus.logging] Processing: 0x60 0xc2 0x46 0x0 0x0 0x0 0x65 0x0 0x0 0xa 0x63 0x98 0x37
2024-06-05 19:54:25.894 DEBUG (MainThread) [pymodbus.logging] Frame - not ready
2024-06-05 19:54:42.177 DEBUG (MainThread) [huawei_solar.huawei_solar] Reading register 32064 with length 52 from slave 1
2024-06-05 19:54:42.178 DEBUG (MainThread) [pymodbus.logging] send: 0x1 0x3 0x7d 0x40 0x0 0x34 0x5d 0xa5
2024-06-05 19:54:42.178 DEBUG (MainThread) [pymodbus.logging] Adding transaction 1
2024-06-05 19:54:52.180 DEBUG (MainThread) [pymodbus.logging] send: 0x1 0x3 0x7d 0x40 0x0 0x34 0x5d 0xa5
2024-06-05 19:54:52.181 DEBUG (MainThread) [pymodbus.logging] Adding transaction 1
2024-06-05 19:55:02.184 DEBUG (MainThread) [pymodbus.logging] send: 0x1 0x3 0x7d 0x40 0x0 0x34 0x5d 0xa5
2024-06-05 19:55:02.185 DEBUG (MainThread) [pymodbus.logging] Adding transaction 1
2024-06-05 19:55:02.217 DEBUG (MainThread) [pymodbus.logging] recv: 0x1 0x83 0x4 0x40 0xf3 old_data:  addr=None
2024-06-05 19:55:02.218 DEBUG (MainThread) [pymodbus.logging] Processing: 0x1 0x83 0x4 0x40 0xf3
2024-06-05 19:55:02.218 DEBUG (MainThread) [pymodbus.logging] Frame - not ready

Please confirm the following:

ltaferner commented 4 months ago

Same issue here

wlcrs commented 4 months ago

Please upgrade to v1.4.0. This should solve the incompatibility issue with the wrong version of pyModbus present, triggering this bug.