Skip to main content
The SUN2000 register map is organized into functional groups. You read all registers with FC 03 (Read Holding Registers). INT32 and UINT32 values span two consecutive registers — always request both in a single transaction to guarantee consistency. Divide each raw integer by its gain to obtain the real physical value.
Register addresses differ between SUN2000 series (L0, L1, M0, M1, M2, M3, MA, MB0). The addresses below match the SUN2000MA and SUN2000-M1/M3 Modbus Interface Definitions (Issue 08, 2024-11-07). Verify every address against the Modbus Interface Definitions for your specific model before deploying to production.

System information registers (read-only)

Register 32089 returns one of the coded integers in the state decode table below.

DC side registers (solar panels)

AC side registers (grid)

Register 32080 (Active power) is signed: positive values indicate generation, negative values indicate consumption from the grid.

Energy and temperature registers

Inverter state decode (register 32089)

Top 10 registers for Home Assistant, Node-RED, and SCADA

These registers cover the most common monitoring requirements with minimal polling overhead:

Python example: reading key registers

The example below uses the pymodbus library to connect over Modbus TCP and read a selection of the registers above.