Deye, Sunsynk and Growatt Hybrid Inverter Modbus Registers

Register maps for the hybrid inverters people most often wire to their own monitoring: Deye (and Sunsynk, which uses Deye's map) and Growatt. They look alike — RS485, 9600 baud, battery and grid values — but they disagree on almost every detail that matters: function code, 32-bit word order, signs, even which map applies to which model. This page gives the registers for each and the differences side by side.

ModbusManager Pro dashboard for a Deye single-phase hybrid inverter: PV power gauge, run state Normal, load, grid and battery power, battery voltage, battery state of charge 72 percent, PV energy today, energy sold and bought today, battery temperature and a power flow trend
The free workspace below, reading a simulated Deye single-phase hybrid through an RS485-to-Ethernet gateway. Grid power is negative here: the house is selling.

Which Map Applies?

InverterRegister map
Deye SUN-xK-SG0xLP1 single-phase hybrids, and the Sunsynk equivalentsDeye "Modbus RTU Protocol" (V118) — real-time data at 59–197
Deye SG04LP3 / SG01HP3 three-phase hybrids (LV and HV battery)Deye three-phase energy-storage protocol — real-time data at 500–730
Growatt MIN TL-XH, MOD TL3-XHGrowatt "Inverter Modbus RTU Protocol" V1.24 — input registers 3000 and up
Growatt SPH, SPASame document — input registers 0–124 and 1000 and up
Growatt SPF off-gridSeparate "OffGrid SPF5000 Modbus Protocol" — not covered here
Tell a Deye apart by register 0: 0x0300 is a single-phase hybrid, 0x0500 a low-voltage three-phase, 0x0600 / 0x0601 a high-voltage three-phase. The single- and three-phase maps are completely different — read register 0 before anything else.

Connection

Deye / SunsynkGrowatt
InterfaceRS485, 9600 baud, 8N1RS485, 9600 baud (38400 selectable), 8N1
Slave IDRegister 1 / "Modbus SN" on the display, 1–247 — usually 11–254, default 1
Function codesFC03 only for reading (everything is a holding register); write with FC16FC04 input registers = measurements; FC03 holding registers = settings; write with FC06/FC16
32-bit valuesLow word firstHigh word first
TimingKeep requests short — 16–20 registers if the link is slow or a gateway times outAt least 850 ms between requests (Growatt suggests 1 s)
Modbus TCPNone on the inverter; use an RS485-to-Ethernet gatewayNone in the protocol; use an RS485-to-Ethernet gateway
Ports and loggers. On a Deye the Wi-Fi logger usually sits on the DB9 port (RS232), separate from the RS485 monitoring port; the "Meter" port is where the inverter is master to its own CT meter — do not connect a monitoring master there. The logger's TCP port 8899 speaks Solarman's own wrapper protocol, not plain Modbus TCP. On a Growatt, the RS485 terminals are often already used by the inverter for its export meter, and a Shine stick occupies its own port. Check the model's manual for which port is free.

Deye Single-Phase Hybrid (Sunsynk) Registers

Holding registers, read with FC03, addresses as written (no offset). 32-bit values: the first register is the low word.

RegisterParameterTypeScaleUnit
0Device type (0x0300 = single-phase hybrid)U16——
59Run state (0 standby, 1 self-check, 2 normal, 3 alarm, 4 fault)U16——
70 / 71Battery charge / discharge todayU160.1kWh
72–73 / 74–75Battery charge / discharge totalU320.1kWh
76 / 77Grid bought / sold todayU160.1kWh
78 + 80Grid bought total (low word 78, high word 80)U320.1kWh
79Grid frequencyU160.01Hz
81–82Grid sold totalU320.1kWh
84 / 85–86Load energy today / totalU16 / U320.1kWh
90 / 91DC transformer / radiator temperatureU16(raw − 1000) ÷ 10°C
96–97PV energy totalU320.1kWh
101–102 / 103–106Warning words / fault wordsbits——
108PV energy todayU160.1kWh
109 / 110PV1 voltage / currentU160.1V / A
111 / 112PV2 voltage / currentU160.1V / A
150Grid voltage L1-NU160.1V
169Grid power: >0 buying, <0 sellingS161W
172External CT powerS161W
175Inverter output powerS161W
178Load powerS161W
182Battery temperatureU16(raw − 1000) ÷ 10°C
183Battery voltageU160.01V
184Battery SOCU161%
186 / 187PV1 / PV2 powerU161W
190Battery power (see signs below)S161W
191Battery currentS160.01A
193Inverter output frequencyU160.01Hz
194Grid relay (0 open, 1 closed)U16——

Deye Three-Phase Hybrid Registers

Also FC03 holding registers. The high-voltage (HV) models use different scales from the low-voltage (LV) ones for battery voltage and power, and the 32-bit power values keep their high word in a separate block (687–709).

RegisterParameterScale / unit
500Run state (0 standby, 1 self-check, 2 normal, 3 alarm, 4 fault, 5 activating)—
514 / 515Battery charge / discharge today0.1 kWh
520 / 521Grid bought / sold today0.1 kWh
522–523 / 524–525Grid bought / sold total (low word first)0.1 kWh
526 / 527–528Load energy today / total0.1 kWh
529 / 534–535PV energy today / total0.1 kWh
540 / 541DC transformer / heat sink temperature(raw − 1000) ÷ 10 °C
586Battery temperature(raw − 1000) ÷ 10 °C
587Battery voltageLV 0.01 V, HV 0.1 V
588Battery SOC1 %
590Battery power (S16)LV 1 W, HV 10 W
598 / 599 / 600Grid phase voltage A / B / C0.1 V
625 (+690 high)Grid total power1 W
636 (+694 high)Inverter output total power1 W
653 (+659 high)Load total power1 W
672 / 673PV1 / PV2 powerLV 1 W, HV 10 W
676 / 677, 678 / 679DC1 voltage / current, DC2 voltage / current0.1 V / 0.1 A

Registers 553–554 hold the warning words and 555–558 the fault words. Some HV firmware versions changed scale factors; check a known value before trusting a scale.

Growatt Registers

Measurements are input registers, read with FC04 — FC03 at the same numbers returns settings. Every register is unsigned 16-bit; 32-bit values are high word first. Import and export, charge and discharge are separate unsigned registers, not one signed value.

SPH / SPA storage inverters

Register (FC04)ParameterScale / unit
0Inverter status (0 waiting, 1 normal, 3 fault)—
1–2PV total input power0.1 W
3 / 4PV1 voltage / current0.1 V / 0.1 A
7 / 8PV2 voltage / current0.1 V / 0.1 A
35–36Output power0.1 W
37 / 38Grid frequency / grid voltage0.01 Hz / 0.1 V
53–54 / 55–56Energy today / total0.1 kWh
93Inverter temperature0.1 °C
1009–1010 / 1011–1012Battery discharge / charge power0.1 W
1013Battery voltage0.1 V
1014Battery SOC1 %
1021–1022Power from grid (import)0.1 W
1029–1030Power to grid (export)0.1 W
1037–1038Power to local load0.1 W
1044–1047Energy from grid today / total0.1 kWh
1048–1051Energy to grid today / total0.1 kWh
1052–1055 / 1056–1059Battery discharge / charge energy today, total0.1 kWh

MIN TL-XH / MOD TL3-XH

Register (FC04)ParameterScale / unit
3000Status (high byte mode, low byte 0 standby, 1 normal, 3 fault)—
3001–3002PV total power0.1 W
3003 / 3004, 3007 / 3008PV1, PV2 voltage / current0.1 V / 0.1 A
3023–3024Output power0.1 W
3041–3042 / 3043–3044Import / export power0.1 W
3045–3046Load power0.1 W
3049–3052Energy today / total0.1 kWh
3093Inverter temperature0.1 °C
3169 / 3170Battery voltage / current0.01 V / 0.1 A
3171Battery SOC1 %
3178–3179 / 3180–3181Battery discharge / charge power0.1 W

Signs and Directions

Writing Settings

Deye single-phaseSettingGrowattSetting
43On / off0On / off
210 / 211Max charge / discharge current (A)3Active power rate (0–100 %, 255 unlimited)
243Energy management (battery / load first)122 / 123Export limit mode / rate
244 / 245Limit control / max sell power (W)2Store settings to memory (set 0 for frequent setpoints)
248–279Time-of-use slots1090–1092 (SPH)Battery-first charge rate, stop SOC, AC charge
Be careful with writes. Deye writes with FC16, even for one register. Its map also holds grid-code, battery-protection and factory registers (for example 81 is a factory reset) — write only documented setpoints, read them back, and never write in a fast loop. On Growatt, set register 2 to 0 before writing a setpoint you change often, so the inverter does not wear out its memory.

Common Mistakes

Step-by-Step: Reading a Hybrid with ModbusManager

1 Connect — Modbus RTU on a USB-RS485 adapter (9600 8N1, slave ID 1), or Modbus TCP to an RS485-to-Ethernet gateway.

2 Poll windows — Deye: FC03 at 59 (39 registers), 108 (5), 150 (45). Growatt: FC04 at the blocks of your family, with an interval of a second or more.

3 Scaled tags (Pro) — register tags with the right type and word order (little for Deye, big for Growatt) and Scale / Offset from the tables. A Deye temperature becomes Scale 0.1, Offset −100 — that is (raw − 1000) ÷ 10.

4 Derived values — a line of Structured Text adds PV1 and PV2, or splits Deye's signed grid power into import and export for a chart.

Download a Ready-Made Workspace

For Deye / Sunsynk single-phase hybrids (register 0 = 0x0300), slave ID 1. For a three-phase Deye or a Growatt, use the tables above — the addresses differ. Tags, script and dashboard are ModbusManager Pro features.

Deye_Hybrid_1P.json

Deye / Sunsynk single-phase hybrid workspace. Open via Workspace › Open in ModbusManager Pro.

Download Workspace

Try it with ModbusManager Pro

Scaled tags, scripts, dashboard and historian for your hybrid system. Free 14-day trial. No credit card. Windows 10/11.

Download Pro Trial

Frequently Asked Questions

Does Sunsynk use the same Modbus registers as Deye?

In practice, yes: Sunsynk inverters are built by Deye and the community integrations read them with Deye's map. Sunsynk has not published its own register document, so confirm a few values (SOC, grid power) on your unit.

Can I read a Deye over Modbus TCP?

Not directly. The inverter speaks Modbus RTU on RS485; the Wi-Fi logger's port 8899 uses Solarman's own protocol. Put an RS485-to-Ethernet gateway on the RS485 port to get Modbus TCP.

Why does my Growatt return settings instead of measurements?

You are reading holding registers (FC03). Growatt measurements are input registers: use FC04.

Why is the Deye battery temperature 120 °C?

Deye adds 1000 to temperatures. Subtract 1000 and divide by 10: a raw 1215 is 21.5 °C.

Is Deye battery power positive when charging or discharging?

Deye's document only says the value is signed. In practice it is positive while discharging and negative while charging; confirm it once on your system.

Sources

Deye, Modbus RTU Protocol V118 (single-phase hybrids; last revision entry 2021-04-08), and Deye's three-phase energy-storage Modbus RTU protocol (revision entries 2020–2025); Growatt, Growatt Inverter Modbus RTU Protocol V1.24. These are manufacturer documents, but none of the copies used is hosted on the manufacturer's own website: they came from a Deye distributor and from public integration projects. Sunsynk has not published a register document of its own. Ask your distributor for the issue that matches your model and firmware, and check a few known values before relying on a register.

// beyond one inverter

The hybrid plus everything else in the house

One RS485 port, one master. ModbusManager Pro can be that master — reading the hybrid, a heat-pump or EV charger meter and anything else on the bus — and republish the values as one Modbus TCP map for home automation, an EMS or a PLC.

Modbus gateway software →