Modbus Reference · Huawei

Huawei SUN2000 Modbus TCP registers

Register reference for reading Huawei SUN2000 inverters, LUNA2000 batteries, and the Huawei smart meter over local Modbus TCP.

Connection parameters: Modbus TCP on port 502, function code FC03 (Read Holding Registers). The default unit ID is 1.

Production registers

FunctionRegister(s)Raw formatScalingMetricApp output
FC0332080–32081I32× 1 WInstantaneous inverter powerWatts
FC0332106–32107U32× 0.01 kWhLifetime energy productionWh (raw × 10)
FC0332069U16× 0.1 VAC grid voltage, phase AVolts

LUNA2000 battery registers

Register(s)Raw formatScalingMetricSign handling
37008–37009I32× 0.1 VBattery voltageNegative values clamped to zero
37010–37011I32× 1 WBattery powerRaw positive discharge value is negated
37022U16× 0.1%State of chargeClamped to 0–100%

Efficient read: 37008–37011 as one block, then 37022.

Huawei smart meter registers

Register(s)Raw formatScalingMetricSign convention
37113–37114I32× 1 WInstantaneous grid powerPositive export, negative import
37119–37120I32× 0.01 kWhCumulative exported energyWh (raw × 10)
37121–37122I32× 0.01 kWhCumulative imported energyWh (raw × 10)

Sign conventions used throughout: grid power is normalized so positive = exporting and negative = importing. Battery power is normalized so charging and discharging follow the app's convention noted per table.

In SolarMark, select the Huawei vendor type when adding a SUN2000. Modbus TCP is typically enabled through the SDongle settings in the installer commissioning tool.

Want this data on your phone, without a server?

These are the registers SolarMark reads. The app polls your inverter directly over your local network: live power, energy history, battery State of Charge, and grid import/export, with no cloud account and no Home Assistant server to maintain. One-time purchase with a free 14-day trial. Get it on Google Play or the App Store.