All devices

GoodWe · Solar inverter

ET / EH / BT / BH hybrid inverter Modbus register map

Download JSONSupplier documentationSuggest an edit

Default configuration

Protocol
Modbus TCP
Port
502
Unit ID
247
Addressing
0-based
Byte order
Big endian
Word order
High word first

Register map

AddressCountNameTypeUnitScaleAccess
351031
PV1 voltage
UInt16V0.1R
351041
PV1 current
UInt16A0.1R
351052
PV1 power
UInt32W1R
351071
PV2 voltage
UInt16V0.1R
351081
PV2 current
UInt16A0.1R
351092
PV2 power
UInt32W1R
351132
PV3 power
UInt32W1R
351172
PV4 power
UInt32W1R
351211
On-grid L1 voltage
UInt16V0.1R
351221
On-grid L1 current
UInt16A0.1R
351231
On-grid L1 frequency
UInt16Hz0.01R
351251
On-grid L1 power
Int16W1R
351261
On-grid L2 voltage
UInt16V0.1R
351271
On-grid L2 current
UInt16A0.1R
351281
On-grid L2 frequency
UInt16Hz0.01R
351301
On-grid L2 power
Int16W1R
351311
On-grid L3 voltage
UInt16V0.1R
351321
On-grid L3 current
UInt16A0.1R
351331
On-grid L3 frequency
UInt16Hz0.01R
351351
On-grid L3 power
Int16W1R
351361
Grid mode
0 = on-grid, 1 = off-grid (backup), 2 = fault.
UInt16-1R
351381
Total inverter power
Int16W1R
351401
Active power (grid connection point)
Positive = export to the grid, negative = import.
Int16W1R
351421
Reactive power
Int16var1R
351441
Apparent power
Int16VA1R
351641
Load L1
House load per phase, derived from the inverter's own measurement.
Int16W1R
351661
Load L2
Int16W1R
351681
Load L3
Int16W1R
351721
Load total
Int16W1R
351731
UPS load
UInt16%1R
351741
Inverter temperature (air)
Int16°C0.1R
351761
Inverter temperature (radiator)
Int16°C0.1R
351801
Battery voltage
UInt16V0.1R
351811
Battery current
Positive = charging.
Int16A0.1R
351822
Battery power
Positive = charging, negative = discharging.
Int32W1R
351841
Battery mode
0 = off, 1 = standby, 2 = discharging, 3 = charging, 4 = waiting.
UInt16-1R
351851
Warning code
UInt16-1R
351871
Work mode
See the work mode table (0 = wait, 1 = normal, 2 = error/off, ...).
UInt16-1R
351881
Operation mode
UInt16-1R
351892
Error codes
Bit field of active error codes; 0 = no error.
UInt32-1R
351912
Total PV generation
UInt32kWh0.1R
351932
Today's PV generation
UInt32kWh0.1R
351952
Total energy (export)
UInt32kWh0.1R
351972
Total working hours
UInt32h1R
351991
Today's energy (export)
UInt16kWh0.1R
352002
Total energy (import)
UInt32kWh0.1R
352021
Today's energy (import)
UInt16kWh0.1R
352032
Total load
UInt32kWh0.1R
352051
Today's load
UInt16kWh0.1R
352062
Total battery charge
UInt32kWh0.1R
352081
Today's battery charge
UInt16kWh0.1R
352092
Total battery discharge
UInt32kWh0.1R
352111
Today's battery discharge
UInt16kWh0.1R
352202
Diagnosis result
Bit field of diagnostic status codes.
UInt32-1R
360041
Meter communication status
0 = meter not connected, 1 = communicating.
UInt16-1R
360081
Meter active power, total
Int16W1R
360141
Meter frequency
UInt16Hz0.01R
360152
Meter total energy (export)
Float32kWh0.001R
360172
Meter total energy (import)
Float32kWh0.001R
360252
Meter active power, total (32-bit)
Preferred meter power register.
Int32W1R
360521
Meter voltage, L1
UInt16V0.1R
360531
Meter voltage, L2
UInt16V0.1R
360541
Meter voltage, L3
UInt16V0.1R
360551
Meter current, L1
UInt16A0.1R
360561
Meter current, L2
UInt16A0.1R
360571
Meter current, L3
UInt16A0.1R
370041
Battery charge current limit
UInt16A1R
370051
Battery discharge current limit
UInt16A1R
370071
Battery state of charge (SOC)
UInt16%1R
370081
Battery state of health (SOH)
UInt16%1R
475001
Battery SOC protection
0 = disabled, 1 = enabled. Blocks charging above the upper SOC limit.
UInt16-1RW
475091
Grid export limit enable
0 = no export limit, 1 = limit active.
UInt16-1RW
475101
Grid export limit
Maximum export power in W; write the value before enabling the limit in 47509.
UInt16W1RW
475111
EMS power mode
1 = normal operation, 2 = charge from PV (standby), 4 = import-AC charge, 6 = conserve.
UInt16-1RW
475121
EMS power set
Maximum power drawn from the grid for battery charging in EMS mode 2/4; 0 = PV only.
UInt16W1RW
477601
SOC upper limit
UInt16%1RW

Combined registers

  • PV power, all strings (calculated)PV power, strings 1+2 (calculated) + PV power, strings 3+4 (calculated) (W)PV1 + PV2 + PV3 + PV4. GoodWe has no single total-PV-power register; unused strings report 0.
  • PV power, strings 1+2 (calculated)Holding registers 35105 + Holding registers 35109 (W)
  • PV power, strings 3+4 (calculated)Holding registers 35113 + Holding registers 35117 (W)

Notes

GoodWe hybrid inverters (platform 205/745/753: ET, EH, BT, BH, and GE's GEH) speak Modbus TCP through the LAN/WiFi dongle on port 502. Unit ID 247 is the usual address for the ET/EH family; some firmware versions answer on 0 or 255 instead, and the AA55 UDP protocol on port 48899 (unit ID 0) exposes the same register map and is what the manufacturer's own tools use. All registers in this file are holding registers. Scale factors: voltages and currents are 0.1, frequency 0.01, temperature 0.1, energy counters 0.1 kWh, and the power registers are plain watts. The 36000 block is only valid with a GoodWe smart meter (or CT) installed; without one, the meter registers return 0 and register 36004 reports 0. The 35100-35102 registers that precede the measurement block hold the inverter date/time as three byte-packed registers (year-2000, month, day, hour, minute, second) and are not represented here. The 37000 block is only valid on models with a battery. Large reads work: the whole 35100-35224 block can be read with one request of 125 registers, and 35100 is the natural polling start. Settings in the 47500 block take effect immediately and are stored by the inverter, so write them only when a setpoint changes. Source: GoodWe's hybrid-inverter Modbus register list as used by the open-source goodwe Python library and the evcc GoodWe templates. Battery compatibility: GoodWe's compatibility overview (V029.1, 2026-10-22) approves GoodWe's own Lynx Home F / F PLUS+ / F G2, Lynx C / D / D G2 and BAT high-voltage packs on the ET (5-10 kW), EH, BT and BH columns, and also ticks BYD Battery-Box Premium HVM 13.8-22.1 and HVS on all of those columns plus EHB, ET 15-30 and ET G2, while HVM 8.3 carries ticks only on ET 5-10, EH, BT and BH; Pylontech Force H1/H2/H3 is ticked on EH/BT/BH (Force also ET G2), LG RESU Type-R/Prime on EHB only, and the Dyness Tower/Tower Pro range is listed - https://en.goodwe.com/Ftp/EN/Downloads/User%20Manual/GW_Battery%20Compatibility%20Overview-EN.pdf.