Universal Solar Inverter over Modbus RS485 / TCP custom_component (AlphaESS, Growatt, Sofar, SolaX, Solinteg, Solis, SRNE, Swatten, TIGO TSI & Qcells Q.Volt Hyb)

Do you know where to score the firmware for the X1-Mini mine is the x1-5.0-t-d(l)?

Most common on in use is the Waveshare. RS485 TO ETH (B) / RS485 TO POE ETH (B)
The POE one is handy if your equipment is setup for that.

You can still use the cloud side of things.

You’ll need to email SolaX and they can provide the firmware update.

Thank you sir, you are a gentlemen and a scholar, whatever they are paying you ask for a raise you deserve it.

Actually 1 last question if i may, my X1-Mini is only 9 months old, don’t suppose you know how to check the firmware version on it as I may already have 1.37 or above?

  • Ignore above, I found it connecting to it locally I am at ARM 1.40, DSP 2.22 so all good.

Hi all,

I’ve just got a Solis S5-EH1P5K-L, and I’ve plugged a USR-W610 in to it, connecting over wifi.

I’ve installed the solax modbus integration, and set it up but all the outputs show as ‘unknown’ and the logs are full of errors like:

2023-04-14 20:00:08.188 WARNING (MainThread) [custom_components.solax_modbus] SolaX: read failed at 0xa86c: battery_chargedischarge_current
Traceback (most recent call last):
  File "/config/custom_components/solax_modbus/__init__.py", line 424, in treat_address
    if   descr.unit == REGISTER_U16: val = decoder.decode_16bit_uint()
  File "/usr/local/lib/python3.10/site-packages/pymodbus/payload.py", line 389, in decode_16bit_uint
    return unpack(fstring, handle)[0]
struct.error: unpack requires a buffer of 2 bytes

and

2023-04-14 20:00:08.192 WARNING (MainThread) [custom_components.solax_modbus] SolaX: read failed at 0x80ec: serialnumber
Traceback (most recent call last):
  File "/config/custom_components/solax_modbus/__init__.py", line 428, in treat_address
    elif descr.unit == REGISTER_STR: val = str( decoder.decode_string(descr.wordcount*2).decode("ascii") )
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 1: ordinal not in range(128)

etc.

If I use Node-Red Modbus to read from various registers I get sensible results back, so the chain from the inverter to HA seems to be good.

Where should I start looking for the problem?

2023.05.1

General:

  • Implemented ignore_readerror = True, resolves #340 #341

Growatt:

  • New Inverter Brand
  • Hybrid TL-XH read only, so far
  • Added (SPH Inverters):
    • Button “Sync RTC”
    • Number “Battery Minimum Capacity”, “Charger Upper SOC”
    • Select “Grid Start / Stop Time x”, “Grid Time Enable / Disable”, “Charger Switch”, “Charger Start / Stop Time x”, “Charger Time Enable / Disable”, “Load Start / Stop Time x”, “Load Time Enable / Disable”

Sofar:

  • Added Inverters with Serial Numbers starting ‘ZM2E’

Sofar_old:

  • Added Serial Starting ‘SE1E’ & ‘SM1E’

SolaX:

  • Added RetroFit Inverters starting ‘F4’
  • Added Gen3 Serial starting ‘H1I’
  • Alternative “House Load” reintroduces old house load calculations. (Disabled by default)
  • Gen4 Added Battery Heating Times (T30 / 3kWh only)
  • Gen4 Added discharge remote-control mode

SolaX EV Charger:

  • Under development see #349
  • Added Serial ‘C3220’ 3 Phase 22kW
  • Added Serial ‘C3110’ 3 Phase 11kW

Solis:

  • Breaking Change removed “Serial Number” temporary workaround for #364
  • Added Backup/Reserve mode
  • Added “Backup Mode SOC” & “Battery Minimum SOC” resolves #354
  • Added Inverters Starting ‘010F’
  • Added “Inverter Status”
  • Changed block_size to 40
1 Like

hi @wills106,

I have a solax Mini 1.5 kw with a Pocket wifi 3.0. (type : X1-Boost/Air/Mini)
The module say :

unrecognized inverter type - serial number : unknown
15:12:09 – (ERREUR) SolaX Inverter Modbus (intégration personnalisée) - message survenu pour la première fois à 15:11:55 et apparu 2 fois.
SolaX Mini: cannot find serial number, even not for MIC
15:12:09 – (ERREUR) SolaX Inverter Modbus (intégration personnalisée) - message survenu pour la première fois à 15:11:55 et apparu 2 fois.
SolaX Mini: reading serial number from address 0x300 failed; other address may succeed
15:12:09 – (AVERTISSEMENT) SolaX Inverter Modbus (intégration personnalisée) - message survenu pour la première fois à 15:11:55 et apparu 2 fois.
SolaX Mini: reading serial number from address 0x0 failed; other address may succeed
15:12:04 – (AVERTISSEMENT) SolaX Inverter Modbus (intégration personnalisée) - message survenu pour la première fois à 15:11:50 et apparu 2 fois.

My Inverter have a serial start with : XM3A
Arm version : 1.41 (can’t be updated from local or by solax to 1.47)
DSP version : 2.29

Thanks

You should have a new enough firmware on the Inverter
Modbus support is on Firmware Arm 1.37.

When connecting over RS485 Modbus needs to be enabled in your Admin Menu on the Inverter.

But I don’t know if the Pocket WiFi 3 provides a Modbus connection on Inverters other than AC Battery / Hybrid Gen4.
The docs on the SolaX Website only mention Gen4 and that the Pocket WiFi 3 needs to be on V3.004.03

The Air/Boost/Mini use a completely different register set based of the X3 MIC / MIC PRO.

I don"t understand tou compatible inverter list

i understand it’s compatible with this, but it’s not ?

Like I say it’s possibly the Pocket WiFi that’s not working with your setup and Modbus.

Edit: I’m only aware of people connecting over the RS485 Interface so far on the Air/Boost/Mini

Ok i have hope the modbus with the Pocket Wifi work

thanks for your response.

You could email them and ask if they are going to add support or not to the Pocket WiFi 3.0
But according to this document it only supports Gen4 Hybrid.

For information
After update my solax Mini (XM3A…) on the last ARM and DSP firmware
ARM : 1.47
DSP : 2.29
Wifi FW : 3.001.02

The Mini can work with your module with the Modbus on the Wifi key directly

1 Like

Thanks, that’s handy to know.

When two solax inverter is integrated with your module i have a lot of bug and one don’t update.

There is a bug with more than 1 integration of your module ?

(bug is append and not now, after many restart of the integration/configuration)

I’m not aware of any issue when running multiple Inverters, I know a couple of people who are doing this.

Can you raise an issue on GitHub with log details?
Adding the following to your configuration.yaml will help:

logger:
  default: info

if i have the problem again (when i restart or other) i test and open a issue

hi @Puntoboy did you manage how to daisy chain rs485 with solax x1 boost? Solax modbus integration finally works with my x1 boost gen3 via rs485/usb converter
unfortunately modbus stops communicating with HA when chaining with cable from smartmeter.
However smartmeter works well in chain but modbus not. any idea please? thank you

I haven’t set this up yet as I couldn’t get a definitive answer on whether daisy chaining would work.

Hello there,

is using solax_export_control_user_limit still the only way how to block export when prices are too low (Solax X3 G4)?
I was playing a bit with the modbus power control and thought setting Power control = Grid control and Active power = 0 could do the trick, but it doesnt work.
I am using export control user limit in my automations and it works like a charm, just thought I might push it to a new level with power control as I am already using it in other automations…that would also bypass the EEPROM as I understand it. Cheers