Modbus Reference · GoodWe
GoodWe Modbus TCP registers
Register reference for reading GoodWe DNS, SDT, MT, ET, and EH inverters over Modbus TCP, including battery and grid meter registers.
Connection parameters: Modbus TCP on port 502, function code FC03 (Read Holding Registers). The default unit ID is 1.
Production registers (DNS / SDT / MT)
| Function | Register(s) | Raw format | Scaling | Metric | App output |
|---|---|---|---|---|---|
| FC03 | 781 | U16 | × 1 W | Instantaneous inverter power | Watts |
| FC03 | 786–787 | U32 BE | × 0.1 kWh | Lifetime energy production | Wh (raw × 100) |
| FC03 | 783 | U16 | × 0.1 V | Grid voltage, Vgrid R | Volts |
Efficient block read: 781–787 in one request.
Battery registers (ET / EH)
| Register(s) | Raw format | Scaling | Metric | Sign handling |
|---|---|---|---|---|
| 35111 | U16 | × 0.1 V | Battery voltage | – |
| 35113–35114 | S32 | × 1 W | Battery power | Positive discharge value is negated |
| 35115 | U16 | × 1% | State of charge | Clamped to 0–100% |
Efficient read: the contiguous range 35111–35115.
Grid meter registers
| Register(s) | Raw format | Scaling | Metric | Sign convention |
|---|---|---|---|---|
| 36005–36006 | I32 | × 1 W | Instantaneous grid power | Positive export, negative import |
| 35142–35143 | U32 BE | × 0.1 kWh | Cumulative imported energy | Wh (raw × 100) |
| 35146–35147 | U32 BE | × 0.1 kWh | Cumulative exported energy | Wh (raw × 100) |
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.
True Modbus TCP on port 502 is available on ET-class inverters with the LAN or Ezlink module; it may need to be enabled on the module, and older ARM firmware can block it.
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.
