Solax Modbus Integration - RS485 - Connection Refused

I am trying to move away from Cloud resources and have attempted to leverage the Solax Inverter Modbus integration for my solar system but I seem be failing and I can’t figure out what is going wrong.

Components:

  • X1-Hybrid-G4
  • USR-W610
  • Home Assistant 2023.3.3
    Supervisor 2023.03.1
    Operating System 9.5
    Frontend 20230302.0 - latest

Completed:

  1. Installed a USR-W610 (From the compatibility list).

  2. Configured the USR-W610 (see below)

  3. Added the Solax Inverter Modus Integration


  4. Connected all.

At this point I see four entities in my HASS, none are working/receiving data.

USR-W610 Configuration

  1. Application Setting (Wifi-Uart Setting).

Errors:
This first error is th only one continuing to happen currently.

This error originated from a custom integration.

Logger: pymodbus.logging
Source: custom_components/solax_modbus/__init__.py:324 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 13:41:31 (14 occurrences) 
Last logged: 14:11:23

Connection to (192.168.14.25, 502) failed: [Errno 111] Connection refused

These errors also came up but have since stopped.

This error originated from a custom integration.

Logger: custom_components.solax_modbus.plugin_solax
Source: custom_components/solax_modbus/plugin_solax.py:4502 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 13:41:16 (2 occurrences) 
Last logged: 13:53:53

unrecognized inverter type - serial number : unknown
This error originated from a custom integration.

Logger: custom_components.solax_modbus.plugin_solax
Source: custom_components/solax_modbus/plugin_solax.py:4451 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 13:41:16 (2 occurrences) 
Last logged: 13:53:53

SolaX: cannot find serial number, even not for MIC
This error originated from a custom integration.

Logger: custom_components.solax_modbus.plugin_solax
Source: custom_components/solax_modbus/plugin_solax.py:4444 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 13:41:16 (2 occurrences) 
Last logged: 13:53:53

SolaX: reading serial number from address 0x300 failed; other address may succeed

I am not quite sure what is not happening?

The serial number and inverter type errors haven’t happened in a lil while now seemingly so im very confused as to what’s changed?

I have checked my cables to ensure the Pin 4/5 go to A/B and that’s all fine.

Any ideas?

Error 1 Identified!

Network A Setting should have been Server not Client!

New Error:

This error originated from a custom integration.

Logger: custom_components.solax_modbus
Source: custom_components/solax_modbus/const.py:213 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 15:09:10 (2 occurrences) 
Last logged: 15:11:25

Something went wrong reading from modbus
Traceback (most recent call last):
  File "/config/custom_components/solax_modbus/__init__.py", line 410, in read_modbus_data
    res = self.read_modbus_registers_all()
  File "/config/custom_components/solax_modbus/__init__.py", line 490, in read_modbus_registers_all
    self.data[descr.key] = descr.value_function(0, descr, self.data )
  File "/config/custom_components/solax_modbus/const.py", line 213, in value_function_grid_export
    val = datadict["measured_power"]
KeyError: 'measured_power'

@wills106 - not sure if this is something you have seen before?

Edit:

All of the entities seem to be “Unknown” and have no readings :frowning:

I would try removing the Integration from the Integration page, restart HA and add it back in again.

Are you using PIN 4&5 and not the Modbus PowerMeter pins?
Have you also tried swapping pin 4&5 around?

I have removed, restarted and added them back in - still erroring.

Yep, using a Cat6 cable blue & white/blue into the USR-W610 (Blue - A, Blue/White - B)

Can switch them around, my only thought is that there seems to be some form of connection at least?

Getting the below error.

Edit: This seems to be the only error present now.
Edit 2: Swapped pins - lots of error about no S/N etc (ie no connection) so pins look good.

This error originated from a custom integration.

Logger: custom_components.solax_modbus
Source: custom_components/solax_modbus/const.py:213 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 19:35:14 (2 occurrences) 
Last logged: 19:37:29

Something went wrong reading from modbus
Traceback (most recent call last):
  File "/config/custom_components/solax_modbus/__init__.py", line 410, in read_modbus_data
    res = self.read_modbus_registers_all()
  File "/config/custom_components/solax_modbus/__init__.py", line 490, in read_modbus_registers_all
    self.data[descr.key] = descr.value_function(0, descr, self.data )
  File "/config/custom_components/solax_modbus/const.py", line 213, in value_function_grid_export
    val = datadict["measured_power"]
KeyError: 'measured_power'

New additional error just appeared;

This error originated from a custom integration.

Logger: pymodbus.logging
Source: custom_components/solax_modbus/__init__.py:318 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 20:11:44 (2 occurrences) 
Last logged: 20:11:44

General exception: unpack requires a buffer of 2 bytes
Modbus IO exception Modbus Error: [Input/Output] Unable to decode request

Edit: Seen in another thread here: [Universal Solar Inverter over Modbus RS485 / TCP custom_component (Formally SolaX No Pocket WiFi) - #933 by HVG] (https://Universal Solar Inverter over Modbus RS485 #933)

@wills106 I have left overnight and have a marginal update to make;

Getting more errors (and new ones) but some very limited and very sporadic data inputs.

Current Errors state:

This error originated from a custom integration.

Logger: pymodbus.logging
Source: custom_components/solax_modbus/__init__.py:318 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 10 March 2023 at 20:11:44 (10 occurrences) 
Last logged: 08:49:13

General exception: unpack requires a buffer of 2 bytes
Modbus IO exception Modbus Error: [Input/Output] Unable to decode request

and

This error originated from a custom integration.

Logger: custom_components.solax_modbus
Source: custom_components/solax_modbus/__init__.py:270 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 07:04:12 (1 occurrences) 
Last logged: 07:04:12

SolaX: read failed at 0x00: seriesnumber

and

This error originated from a custom integration.

Logger: custom_components.solax_modbus
Source: custom_components/solax_modbus/const.py:213 
Integration: SolaX Inverter Modbus (documentation, issues) 
First occurred: 10 March 2023 at 20:09:29 (262 occurrences) 
Last logged: 07:01:42

Something went wrong reading from modbus
Traceback (most recent call last):
  File "/config/custom_components/solax_modbus/__init__.py", line 410, in read_modbus_data
    res = self.read_modbus_registers_all()
  File "/config/custom_components/solax_modbus/__init__.py", line 490, in read_modbus_registers_all
    self.data[descr.key] = descr.value_function(0, descr, self.data )
  File "/config/custom_components/solax_modbus/const.py", line 213, in value_function_grid_export
    val = datadict["measured_power"]
KeyError: 'measured_power'

Roughly half my integrations are “disabled by Integration” and of those that aren’t the data is showing as last updated 4 hours ago (~7am)

Question: Can I run this and the ethernet link for the cloud system simultaneously? I assume I can otherwise the system can never update?

Resolved - I replaced the RS485 to MODBUS device and then it popped up, had to modify the name from SolaX to Solar as the sensors seemed to be clashing but then all worked.

Just need to work out how to get them back into Energy now.