Universal Solar Inverter over Modbus RS485 / TCP custom_component (Growatt, Sofar, SolaX, Solis)

If the X1-AC is based of the docs for the X3-MIC then the registers are in a different place!

Hybrid:
PV1 Voltage = 0x03
PV2 Voltage = 0x04
PV1 Current = 0x05
PV2 Current = 0x06

X3-MIC:
PV1 Voltage = 0x400
PV2 Voltage = 0x401
PV1 Current = 0x402
PV2 Current = 0x403

:face_with_head_bandage:

Will have to wait and see :confused:

Yes, this seems to be a completely different ac-coupled model. I have not seen a protocol document for this non-hybrid model

Might be a false alarm.

X3-MIC has holding register 0x0 - 0x2FF reserved.
Series number (Serial Number) starts at 0x300

The Hybrids have the Series Number starts at holding register 0x0

If @cavester can see the Series Number at the normal Hybrid position the rest might be the same as the Hybrids? Unless SolaX decided the change things up again for fun?

SolaX really need to learn to stick to a plan / roadmap and stop randomly changing things between models! :exploding_head:

Ok, I’ve change the conflict time out although I note it does say minimum of 5.
I’ve also removed the integration, removed from HACS, rebooted, reinstalled in HACS, rebooted, reinstalled the integration as just solax this time, reenabled all the sensors, and still can only see the serial number.
I’m happy to work with you to get this for an
X1-AC, although I had assumed it was an X1-ACh!
Just tell me what I need to do to gather the info :slight_smile:

Unscrew the Inverter from the wall and post it to me? :rofl:

Sure we will get there!

Might need to try out a test integration that reads a register every 20 or so registers. Then we can get an idea what region we are looking at.

Once we find the bulk of the data it’s quite easy to track the rest down.
That’s how all this happened before I even saw any documentation. Just kept scanning and putting 2 and 2 together till I found 5.

Brill, enjoy your Saturday eves and we can do this when you are ready. Thanks for superb support and help so far. I’m confident we’ll get another inverter sorted between us.

1 Like

Just want to double check.

Is the X1-AC a Solar PV only Inverter
Or an add on Battery Inverter that uses the output of an existing PV Inverter to charge the batteries from excess Solar etc?

It’s a b***tard system, don’t ever go to ZANUSSI Energy….
Solax inverter and batteries downstairs and solar edge inverter for the compensated solar panels upstairs.

Whilst I’d love to see both, I am resolved to using 2 integrations. So I’m only interested in the battery management for this.

I have released an X1-AC-Test

If you are using HACS you will need to select the Beta Option.
If you are manually installing I would download the X1-AC-Test release zip and use the files in there.
When doing the configuration part you don’t need to select Inverter type.

Hopefully it returns more than just series number!

@cavester If that doesn’t return any values I can do another test reading say 10 registers every 50 - 100 registers till we can find a block of data.

Once we have found where the group of registers are we can start to work out what the values relate too.

1 Like

Hi Wills,
I’ve not been able to load the beta:
Firstly the notification:


The following integrations and platforms could not be set up:

solax_modbus.button
solax_modbus.number
solax_modbus.select
solax_modbus.sensor
Please check your config and logs.

And then the logs although this one may not be related but thought I’d include, in case


Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:96 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 11:29:04 (11 occurrences) 
Last logged: 11:29:04

[139897214550512] Received invalid command: energy/info


Logger: homeassistant.setup
Source: setup.py:298 
First occurred: 11:31:00 (4 occurrences) 
Last logged: 11:31:00

Unable to prepare setup for platform solax_modbus.button: Platform not found (No module named 'custom_components.solax_modbus.button').
Unable to prepare setup for platform solax_modbus.number: Platform not found (No module named 'custom_components.solax_modbus.number').
Unable to prepare setup for platform solax_modbus.select: Platform not found (No module named 'custom_components.solax_modbus.select').
Unable to prepare setup for platform solax_modbus.sensor: Platform not found (cannot import name 'GEN3_X1_SENSOR_TYPES' from 'custom_components.solax_modbus.const' (/config/custom_components/solax_modbus/const.py)).

Should I be creating some sensors or something?

I forgot to take some parts out of hence the errors about the button and select etc.

Did you tick the gen3x1 box? Or did you just update to X1-AC-Test without deleting the integration from the Integration page?

I deleted and reinstalled and ticked X1 gen4. What should I tick? And will I need to reinstall in HACS?

You don’t need to tick anything.

I am just removing the button, select and number then you can try again.
I’ll let you know.

:+1: will do

Give X1-AC-test-4 ago. Don’t tick any of the Inverter boxes. You just need to put in your IP address and the poll rate.

If you still only get the Series number I will have to do what I suggested and make a test reading say 10 registers every 50 - 100 registers till we can find a block of data.

Not quite there yet:


The following integrations and platforms could not be set up:

solax_modbus.sensor
Please check your config and logs.

The log entry is


Logger: homeassistant.setup
Source: setup.py:298 
First occurred: 13:47:35 (1 occurrences) 
Last logged: 13:47:35

Unable to prepare setup for platform solax_modbus.sensor: Platform not found (cannot import name 'GEN3_X1_SENSOR_TYPES' from 'custom_components.solax_modbus.const' (/config/custom_components/solax_modbus/const.py)).

I was able to install the integration but got no device and sensors

Scrub that I had test-3 (4 didn’t show up first time)

Use reloading now….

Did you delete the old one from the integration page and then re add it?

It’s loaded up ok my end.

You also restarted after adding X1-AC-Test-4?