donatods
(Donato Di Stasi)
March 8, 2025, 2:13pm
1
Hello everyone,
I need your help configuring my Solax PV system on Home Assistant.
For now, while waiting for my Raspberry Pi 4 to arrive, I have installed Home Assistant on a Docker machine for testing purposes.
I’ve been trying to configure the Solax photovoltaic system via SolaX Inverter Modbus since this morning, without success. I also tried the SolaX Power integration, but I still can’t connect.
I have assigned a fixed IP to my inverter (192.168.1.104), and I can login via browser using my username and password.
My inverter model is X1-Hybrid-G4, and the WIFI dongle 3.0 is running firmware version 3.019.01.
I also have two batteries, one master and one slave.
The Modbus address of the inverter is 1, as verified in the advanced settings of the Solax application.
This is the configuration I’m using for SolaX Inverter Modbus (Should I select parallel Mode Master Slave)? :
But when I click Send, the configuration remain in initialization and it says configuration failed.
Looking at the logs this could be interesting:
2025-03-08 13:41:29.027 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x1a10 failed; other address may succeed
2025-03-08 13:41:29.027 ERROR (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: cannot find any serial number(s)
2025-03-08 13:41:29.028 ERROR (MainThread) [custom_components.solax_modbus.plugin_solax] unrecognized inverter type - serial number : unknown
2025-03-08 13:41:39.031 INFO (MainThread) [custom_components.solax_modbus] Inverter is not connected, trying to connect
2025-03-08 13:41:39.034 DEBUG (MainThread) [custom_components.solax_modbus] Trying to connect to Inverter at 192.168.1.104:502
Could someone help me?
Thanks
luetter
(Mathias)
March 14, 2025, 8:43am
2
Hey, do you solve your problem?
i updated to 2025.03.2 and now the following errors occurs:
SolaX: attempt to read serialnumber failed at 0x0 data: None
SolaX: attempt to read serialnumber failed at 0x300 data: None
SolaX: attempt to read serialnumber failed at 0x1a10 data: None
SolaX: cannot find any serial number(s)
unrecognized inverter type - serial number : unknown
→ see here:
opened 10:53AM - 08 Feb 25 UTC
bug
solax
### Describe the bug
After upgrading HA to 2025.2.1, the integration stopped wo… rking because it was unable to read the serial number.
Root cause: TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given.
HA 2025.2.0 has the problem described here: [GitHub Issue #1238](https://github.com/wills106/homeassistant-solax-modbus/issues/1238).
Currently, I have reverted to HA 2025.1.4 and integration 2025.1.6.
### Integration Version
2025.1.9
### Homeassistant core version
2025.2.1
### Inverter brand
SolaX Power
### Plugin used
plugin_solax.py
### Serial prefix
H34A10
### Inverter firmware versions
DSP v1.47 ARM v1.44
### Connection Method
SolaX Pocket WIFI+LAN
### Dongle firmware
1.005.04
### Detailed Error Log
2025-02-07 21:45:37.571 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x0 data: None
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/plugin_solax.py", line 70, in async_read_serialnr
inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solax_modbus/__init__.py", line 545, in async_read_holding_registers
resp = await self._client.read_holding_registers(address, count, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
2025-02-07 21:45:37.655 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x0 failed; other address may succeed
2025-02-07 21:45:37.655 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x300 data: None
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/plugin_solax.py", line 70, in async_read_serialnr
inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solax_modbus/__init__.py", line 545, in async_read_holding_registers
resp = await self._client.read_holding_registers(address, count, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
2025-02-07 21:45:37.656 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x300 failed; other address may succeed
2025-02-07 21:45:37.656 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x1a10 data: None
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/plugin_solax.py", line 70, in async_read_serialnr
inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solax_modbus/__init__.py", line 545, in async_read_holding_registers
resp = await self._client.read_holding_registers(address, count, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
2025-02-07 21:45:37.657 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x1a10 failed; other address may succeed
2025-02-07 21:45:37.657 ERROR (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: cannot find any serial number(s)
2025-02-07 21:45:37.657 ERROR (MainThread) [custom_components.solax_modbus.plugin_solax] unrecognized inverter type - serial number : unknown
2025-02-07 21:45:47.659 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x0 data: None
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/plugin_solax.py", line 70, in async_read_serialnr
inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solax_modbus/__init__.py", line 545, in async_read_holding_registers
resp = await self._client.read_holding_registers(address, count, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
2025-02-07 21:45:47.661 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x0 failed; other address may succeed
2025-02-07 21:45:47.661 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x300 data: None
Traceback (most recent call last):
File "/config/custom_components/solax_modbus/plugin_solax.py", line 70, in async_read_serialnr
inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/solax_modbus/__init__.py", line 545, in async_read_holding_registers
resp = await self._client.read_holding_registers(address, count, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
2025-02-07 21:45:47.664 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: reading serial number from address 0x300 failed; other address may succeed
2025-02-07 21:45:47.664 WARNING (MainThread) [custom_components.solax_modbus.plugin_solax] SolaX: attempt to read serialnumber failed at 0x1a10 data: None
### Additional context
_No response_
my problem was solved with “to unplug the wifi dongle and replug in after a minute”
donatods
(Donato Di Stasi)
March 16, 2025, 9:36am
3
Hi,
thanks for the reply.
Yes the issue was resolved using the Raspberry Pi, maybe it was an issue on my local docker machine.