Skip to content

[Bug]: HA 2025.9: ModbusClientMixin.read_holding_registers() got an unexpected keyword argument 'slave' #1065

Description

@dherzog90

Describe the issue

The integration does not load after updating to HA 2025.8 - there seems to be an modbus error.

Describe your Huawei Solar Setup

Inverter Type: Huawei SUN2000 10KTL M1
Inverter Firmware version: V100R001C00SPC172
sDongle present: Yes
sDongle Type: sDongleA-05 (Ethernet)
sDongle Connectivitiy: Ethernet
sDongle Firmware: V200R022C10SPC300
Power meter present: three phase
Optimizers Present: No
Battery: None
Battery Firmware version:
Huawei Solar integration version: 1.5.5

How do you connect to the inverter?

Via the SDongle, wired connection

Upload your Diagnostics File

Cant download the diagnostics because the integration is not loading

Upload your relevant debug logs

Logs from HA: 
Logger: homeassistant.config_entries
Source: config_entries.py:749
First occurred: 09:22:00 (2 occurrences)
Last logged: 09:30:16

Error setting up entry SUN2000-10KTL-M101074311-0 for huawei_solar
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 749, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/huawei_solar/__init__.py", line 96, in async_setup_entry
    primary_bridge = await create_tcp_bridge(
                     ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/bridge.py", line 659, in create_tcp_bridge
    return await _create(await AsyncHuaweiSolar.create(host, port, slave_id), slave_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/bridge.py", line 685, in _create
    product_info = await HuaweiSolarProductInfo.retrieve_from_device(client, slave_id)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/bridge.py", line 67, in retrieve_from_device
    ) = await client.get_multiple(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<8 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/huawei_solar.py", line 292, in get_multiple
    response = await self._read_registers(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/huawei_solar.py", line 429, in _read_registers
    return await _do_read()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/huawei_solar/huawei_solar.py", line 377, in _do_read
    response = await self._client.read_holding_registers(
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        register,
        ^^^^^^^^^
        count=length,
        ^^^^^^^^^^^^^
        slave=slave or self.slave_id,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
TypeError: ModbusClientMixin.read_holding_registers() got an unexpected keyword argument 'slave'

Please confirm the following:

  • I'm running the latest release of Home Assistant.
  • I'm running the latest release of this integration.
  • I did not find an existing issue describing this problem.
  • I did upload the diagnostics-file that I could retrieve from the 'Devices & Services Page'
  • I did upload the relevant debug logs (via 'Enable Debug Logging'-feature or by manually configuring HA logging)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions