Huawei SUN2000 Modbus register map

The Huawei SUN2000 family of string solar inverters share one Modbus interface definition. It gives read access to PV string, grid and energy values, plus status and alarm words, and write access to grid scheduling and start or stop commands.

Protocol
Modbus RTU and Modbus TCP
Defaults
Serial slave addresses 1 to 247 are allowed, 0 is broadcast. Over TCP the logical device ID 0 is used by default (p. 98, 102, 105). Baud rate is not stated in this document.
Addresses in the manual
0-based protocol addresses, as sent on the wire
32 and 64-bit values
Not stated in the manual
Registers listed
66
Checked against
Issue 04, 2023-01-10, Huawei Technologies Co., Ltd. (copy hosted by a third party; Huawei-hosted copies could not be fetched)

Address base. The worked read example on p. 104-105 sends register address 32306 as 0x7E32 on the wire, so printed addresses are the protocol addresses with no offset. Address 30000 in the manual is address 30000 on the wire.

Word order. The document does not state the order of the two words in 32-bit registers.

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

66 registers
Manual Wire Register Type Regs Unit Scale Access Area
30000 30000 Inverter model nameModel string 15 1 R Holding (FC03)
30015 30015 Serial numberSerialNumber string 10 1 R Holding (FC03)
30025 30025 Part numberPartNumber string 10 1 R Holding (FC03)
30070 30070 Model ID codeModelID · Code from the supported model table in section 1.1. uint16 1 1 R Holding (FC03)
30071 30071 Number of PV stringsPV_String_Count uint16 1 1 R Holding (FC03)
30072 30072 Number of MPP trackersMPPT_Count uint16 1 1 R Holding (FC03)
30073 30073 Rated power (Pn)Rated_Power uint32 2 kW 0.001 R Holding (FC03)
30075 30075 Maximum active power (Pmax)Max_Active_Power uint32 2 kW 0.001 R Holding (FC03)
30077 30077 Maximum apparent power (Smax)Max_Apparent_Power uint32 2 kVA 0.001 R Holding (FC03)
30079 30079 Maximum reactive power fed to the grid (Qmax)Max_Reactive_Power_Fed int32 2 kvar 0.001 R Holding (FC03)
30081 30081 Maximum reactive power absorbed from the grid (Qmax)Max_Reactive_Power_Absorbed int32 2 kvar 0.001 R Holding (FC03)
32000 32000 Operating state word 1State_1 · Bits cover standby, grid-connected, grid-connected normally, derating from power rationing, derating from internal causes, normal stop, stop due to faults, stop due to power rationing, shutdown and spot check (bits 0 to 9). bitfield16 1 1 R Holding (FC03)
32002 32002 Operating state word 2State_2 · Bit 0 locked or unlocked, bit 1 PV connected or disconnected, bit 2 DSP data collection. bitfield16 1 1 R Holding (FC03)
32003 32003 Operating state word 3State_3 · Two registers, bit field. Bit 0 off-grid, bit 1 off-grid switch enabled. uint32 2 1 R Holding (FC03)
32008 32008 Alarm word 1Alarm_1 · Bit meanings are in section 5.1 of the manual. bitfield16 1 1 R Holding (FC03)
32009 32009 Alarm word 2Alarm_2 · Bit meanings are in section 5.1 of the manual. bitfield16 1 1 R Holding (FC03)
32010 32010 Alarm word 3Alarm_3 · Bit meanings are in section 5.1 of the manual. bitfield16 1 1 R Holding (FC03)
32016 32016 PV string 1 voltagePV1_Voltage · Up to 24 strings. For string n, voltage is at 32014 + 2n and current at 32015 + 2n. int16 1 V 0.1 R Holding (FC03)
32017 32017 PV string 1 currentPV1_Current int16 1 A 0.01 R Holding (FC03)
32018 32018 PV string 2 voltagePV2_Voltage int16 1 V 0.1 R Holding (FC03)
32019 32019 PV string 2 currentPV2_Current int16 1 A 0.01 R Holding (FC03)
32020 32020 PV string 3 voltagePV3_Voltage int16 1 V 0.1 R Holding (FC03)
32021 32021 PV string 3 currentPV3_Current int16 1 A 0.01 R Holding (FC03)
32022 32022 PV string 4 voltagePV4_Voltage int16 1 V 0.1 R Holding (FC03)
32023 32023 PV string 4 currentPV4_Current int16 1 A 0.01 R Holding (FC03)
32064 32064 DC input powerInput_Power int32 2 kW 0.001 R Holding (FC03)
32066 32066 Grid voltage, or line voltage phases A to BGrid_Voltage_AB · For single-phase and split-phase output modes this is the grid voltage. uint16 1 V 0.1 R Holding (FC03)
32067 32067 Line voltage phases B to CLine_Voltage_BC · Not valid for L/N, L1/L2/N or L1/L2 output modes. uint16 1 V 0.1 R Holding (FC03)
32068 32068 Line voltage phases C to ALine_Voltage_CA · Not valid for L/N, L1/L2/N or L1/L2 output modes. uint16 1 V 0.1 R Holding (FC03)
32069 32069 Phase A voltagePhase_A_Voltage · Not valid for L/N, L1/L2/N or L1/L2 output modes. uint16 1 V 0.1 R Holding (FC03)
32070 32070 Phase B voltagePhase_B_Voltage · Not valid for L/N, L1/L2/N or L1/L2 output modes. uint16 1 V 0.1 R Holding (FC03)
32071 32071 Phase C voltagePhase_C_Voltage · Not valid for L/N, L1/L2/N or L1/L2 output modes. uint16 1 V 0.1 R Holding (FC03)
32072 32072 Grid current, or phase A currentGrid_Current_A · For single-phase and split-phase output modes this is the grid current. int32 2 A 0.001 R Holding (FC03)
32074 32074 Phase B currentPhase_B_Current · Not valid for L/N, L1/L2/N or L1/L2 output modes. int32 2 A 0.001 R Holding (FC03)
32076 32076 Phase C currentPhase_C_Current · Not valid for L/N, L1/L2/N or L1/L2 output modes. int32 2 A 0.001 R Holding (FC03)
32078 32078 Peak active power of the current dayPeak_Active_Power_Today int32 2 kW 0.001 R Holding (FC03)
32080 32080 Active powerActive_Power int32 2 kW 0.001 R Holding (FC03)
32082 32082 Reactive powerReactive_Power int32 2 kvar 0.001 R Holding (FC03)
32084 32084 Power factorPower_Factor int16 1 0.001 R Holding (FC03)
32085 32085 Grid frequencyGrid_Frequency uint16 1 Hz 0.01 R Holding (FC03)
32086 32086 EfficiencyEfficiency uint16 1 % 0.01 R Holding (FC03)
32087 32087 Internal temperatureInternal_Temperature int16 1 °C 0.1 R Holding (FC03)
32088 32088 Insulation resistanceInsulation_Resistance uint16 1 MΩ 0.001 R Holding (FC03)
32089 32089 Device status codeDevice_Status · Codes include 0x0000 standby initializing, 0x0100 starting, 0x0200 on-grid, 0x0201 power limited, 0x0202 self-derating, 0x0300 shutdown due to a fault, 0x0301 shutdown by command and 0xA000 standby with no irradiation. The full list is in the manual. uint16 1 1 R Holding (FC03)
32090 32090 Fault codeFault_Code uint16 1 1 R Holding (FC03)
32091 32091 Last startup timeStartup_Time · Epoch seconds, local time. uint32 2 1 R Holding (FC03)
32093 32093 Last shutdown timeShutdown_Time · Epoch seconds, local time. uint32 2 1 R Holding (FC03)
32106 32106 Accumulated energy yieldAccumulated_Energy_Yield uint32 2 kWh 0.01 R Holding (FC03)
32114 32114 Daily energy yieldDaily_Energy_Yield uint32 2 kWh 0.01 R Holding (FC03)
35300 35300 Active power adjustment mode in effectActive_Adjustment_Mode · 0 percentage, 1 fixed value. Registers 35300 to 35303 must be read in one request. uint16 1 1 R Holding (FC03)
35302 35302 Active power adjustment value in effectActive_Adjustment_Value · Percentage mode in 0.1 %, fixed-value mode in 0.001 kW. uint32 2 1 R Holding (FC03)
35304 35304 Reactive power adjustment mode in effectReactive_Adjustment_Mode · 0 power factor, 1 absolute value, 2 Q/S, 3 Q-U curve, 4 cosphi-P/Pn curve, 5 PF-U curve, 6 Q-P curve. Registers 35304 to 35306 must be read in one request. uint16 1 1 R Holding (FC03)
35305 35305 Reactive power adjustment value in effectReactive_Adjustment_Value · Power factor in 0.001, absolute value in 0.001 kvar, Q/S in 0.001. uint32 2 1 R Holding (FC03)
37113 37113 Power meter active powerMeter_Active_Power · Positive means feeding the grid, negative means drawing from the grid. Only on models that support it. int32 2 W 1 R Holding (FC03)
40000 40000 System timeSystem_Time · Epoch seconds, local time. Allowed range 946684800 to 3155759999. uint32 2 1 RW Holding (FC03)
40120 40120 Fixed active power deratingFixed_Active_Power_Derate · Allowed range 0 to Pmax. uint16 1 kW 0.1 RW Holding (FC03)
40122 40122 Reactive power compensation as power factorReactive_Compensation_PF · Allowed range (-1, -0.8] and [0.8, 1]. int16 1 0.001 RW Holding (FC03)
40123 40123 Reactive power compensation as Q/SReactive_Compensation_QS · Allowed range -1 to 1; S is Smax. int16 1 0.001 RW Holding (FC03)
40125 40125 Active power derating percentageActive_Power_Derate_Percent · Allowed range 0 to 100 percent; fine adjustment interface. uint16 1 % 0.1 RW Holding (FC03)
40126 40126 Fixed active power derating in wattsFixed_Active_Power_Derate_W · Allowed range 0 to Pmax. uint32 2 W 1 RW Holding (FC03)
40129 40129 Reactive power compensation at nightReactive_Compensation_Night · Allowed range -Qmax to Qmax. int32 2 kvar 0.001 RW Holding (FC03)
40200 40200 Startup commandStartup_Command uint16 1 1 W Holding (FC03)
40201 40201 Shutdown commandShutdown_Command uint16 1 1 W Holding (FC03)
42000 42000 Grid codeGrid_Code · Values are listed in section 5.3 of the manual. uint16 1 1 RW Holding (FC03)
42017 42017 Active power change gradientActive_Power_Gradient · Allowed range 0.1 to 1000. uint32 2 %/s 0.001 RW Holding (FC03)
43006 43006 Time zone offsetTime_Zone · Allowed range -720 to 840. int16 1 min 1 RW Holding (FC03)

Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: Solar Inverter Modbus Interface Definitions (Huawei SUN2000 series) (akkudoktor.net)

Issue 04, 2023-01-10, Huawei Technologies Co., Ltd. (copy hosted by a third party; Huawei-hosted copies could not be fetched), p. 10-22, 97-105. Read on 2026-10-24.

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

Other solar inverters

All register maps · Modbus addressing explained