Status 0 = normal, 1 = fault, 2 = stale telemetry. At status 2, charge level, battery power and fault data are unknown until status returns to 0 or 1.
Scroll horizontally to see all columns.
Key registers · read with function 03| Register | Value | Type | Unit / values | Access |
|---|
| 1 | State of charge | U16 | % | Read |
|---|
| 2 | Power setpoint | I16 | 0.1 kW | Read / write |
|---|
| 3 / 4 | Charge / discharge limit | U16 | 0.1 kW | Read |
|---|
| 5 | Measured battery power | I16 | W | Read |
|---|
| 6 | Status | U16 | 0 / 1 / 2 | Read |
|---|
| 10–11 | Stored energy | U32 | Wh | Read |
|---|
The address map starts at 0; register 1 is charge level. Some clients show 40001 notation or subtract 1 from your input. If register 1 does not return charge level, try 0 in that same client. Registers 2 and 5 are I16: interpret them as signed 16-bit integers if negative power looks like a large positive number.
U32 values use two registers, low word first. For stored energy, register 10 is the low word and 11 the high word: low + high * 65536.
Cannot connect? Check network, IP, port 502 and Home Assistant control. No reply? Check Modbus TCP, Unit ID 1 and function 03. Changing power? Stop the other writer. A second client? Disconnect the first. The full address map, fault bits and exception codes are in the download.