Modbus Reference · Growatt

Growatt Modbus TCP registers

Register reference for reading Growatt MIN, MIC, MAX, and SPH inverters over Modbus TCP, including SPH battery and grid meter registers.

Connection parameters: Modbus TCP on port 502, function code FC04 (Read Input Registers) for inverter production; the grid-meter reader uses FC03. The default unit ID is 1.

Production registers (MIN / MIC / MAX)

FunctionRegister(s)Raw formatScalingMetricApp output
FC0411–12U32 BE× 0.1 WInstantaneous inverter powerWhole Watts
FC0428–29U32 BE× 0.1 kWhLifetime energy productionWh (raw × 100)
FC0435U16× 0.1 VAC output voltage, Vgrid R-phaseVolts

Battery registers (SPH)

Register(s)Raw formatScalingMetric
101U16× 0.1 VBattery voltage
102U16× 1%State of charge
104–105U32 BE× 0.1 WBattery power

Growatt battery power is treated as an unsigned absolute value; no charge/discharge sign conversion is applied.

Grid meter registers

Register(s)Raw formatScalingMetricWord order
30024–30025I32× 0.1 WInstantaneous grid powerBig-endian
30026–30027U32× 0.1 kWhCumulative exported energyLittle-endian
30028–30029U32× 0.1 kWhCumulative imported energyLittle-endian

Note the mixed word order in the Growatt meter block: power is big-endian while the energy counters are little-endian.

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.

Growatt's standard ShineWiFi/ShineLAN sticks are cloud-only; local Modbus TCP typically requires an RS485-to-TCP gateway wired to the inverter's RS485/SYS-COM port.

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.