Skip to content

Data mapping for X1-FIT G4 #97

Open
@rwg0

Description

Since I've found so much useful info in this repo, it's only fair that I share back what I've discovered. My previous X1-AC is now replaced by the X1-FIT I should have had to begin with, and (of course) the data mapping is different :)

As usual, you can fetch the data using

curl -s -X POST http://solax --data 'optType=ReadRealTimeData&pwd=<SERIALNO>'

The data mappings I have worked out for this inverter are

AC power from battery : Index 2 (16 bit signed)
AC power export to grid : Index 32 (16 bit signed, positive export)
Battery charge percent : Index 18
Battery temperature (C) : Index 17
Grid voltage (V) : Index 0 (* 0.1)
Grid Frequency (Hz) : Index 3 ( *0.01)
Power to battery DC (W) : Index 16 (16 bit signed)
Battery power remaining (kWh) : Index 23 (*0.1)
Lowest cell temperature (C) : Index 46 (16 bit signed, * 0.1)
Highest cell temperature (C) : Index 45 (16 bit signed, * 0.1)
Lowest cell Voltage (V) : Index 115 (*0.001)
Highest cell Voltage (V): Index 114 (*0.001)
BMS Max discharge current (A): Index 44 (*0.1)
BMD Max charge current (A) : Index 43 (*0.1)
EPS Power (W) : Index 28
EPS Voltage (V) : Index 29 (*0.1)

I found in the end that the best way to work out the data mapping was to take a combination of data indices for similar model and also looking at the values that you can obtain from modbus over TCP (which is documented and seems less random - see https://secondlifestorage.com/index.php?attachments/hybrid-x1-x3-g3-modbustcp-rtu-v3-21-english-pdf.24841/) . You can use a tool like 'Modbus Poll' (30 day free trial) to connect to your inverter on port 502 and read the 'input' registers.

cheers,

Robin

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions