
SunSpec Model 101 — Inverter (Single Phase)
SunSpec Model 101 is an open, manufacturer-independent Modbus register specification for single-phase PV inverters, used across certified devices from many vendors. This template reads the full Model 101 block over Modbus TCP: AC current, per-phase voltages, real and reactive power, power factor, cumulative energy, DC input current and voltage, four temperature sensors, and the inverter operating state. Companion models SunSpec Model 102 (split-phase) and SunSpec Model 103 (three-phase) share the same block layout. Every numeric value pairs with a signed scale factor register, so one template covers devices regardless of their internal resolution. This makes cross-vendor PV monitoring consistent and fast to deploy.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 45, read only
- Brand
- SunSpec
- Compatible models
- SunSpec Model 102 — Inverter (Split-Phase) · SunSpec Model 103 — Inverter (Three Phase)
- Last updated
Registers (45)
45 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | Read | ||||
| a | A | Read | |||
| apha | A | Read | |||
| aphb | A | Read | |||
| aphc | A | Read | |||
| a_sf | Read | ||||
| ppvphab | V | Read | |||
| ppvphbc | V | Read | |||
| ppvphca | V | Read | |||
| phvpha | V | Read | |||
| phvphb | V | Read | |||
| phvphc | V | Read | |||
| v_sf | Read | ||||
| w | W | Read | |||
| w_sf | Read | ||||
| hz | Hz | Read | |||
| hz_sf | Read | ||||
| va | VA | Read | |||
| va_sf | Read | ||||
| var | var | Read | |||
| var_sf | Read | ||||
| pf | Pct | Read | |||
| pf_sf | Read | ||||
| wh | Wh | Read | |||
| wh_sf | Read | ||||
| dca | A | Read | |||
| dca_sf | Read | ||||
| dcv | V | Read | |||
| dcv_sf | Read | ||||
| dcw | W | Read | |||
| dcw_sf | Read | ||||
| tmpcab | °C | Read | |||
| tmpsnk | °C | Read | |||
| tmptrns | °C | Read | |||
| tmpot | °C | Read | |||
| tmp_sf | Read | ||||
| st | Read | ||||
| stvnd | Read | ||||
| evt1 | Read | ||||
| evt2 | Read | ||||
| evtvnd1 | Read | ||||
| evtvnd2 | Read | ||||
| evtvnd3 | Read | ||||
| evtvnd4 | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor AC real power and cumulative energy output to verify daily yield against forecast.
- Track DC input voltage and current to detect PV string degradation over time.
- Alert on unexpected operating state changes using the st register to catch faults early.
- Compare AC power against DC power to calculate inverter conversion efficiency per site.
- Report heat sink temperature trends to identify thermal stress before hardware failure occurs.
Installation
Enable Modbus TCP on the inverter through its web interface or display panel under the communication or Modbus section, and note the assigned TCP port (default 502) and unit ID.
Connect the inverter to the same LAN segment as the ModbusCloud Gateway, confirm the inverter has a reachable static or DHCP-reserved IP address, and verify no firewall blocks port 502.
In the ModbusCloud portal, add the Gateway, create a new device, import the SunSpec Model 101 template, and enter the inverter IP address and unit ID in the device settings.
Trigger a manual poll and spot-check the w (AC power) and hz (frequency) registers against the inverter display to confirm scale factors are being applied and values are plausible.
Things to watch for
All register values look like large raw integers. What is wrong?
SunSpec Model 101 uses paired scale factor registers (for example a_sf, w_sf, v_sf). Each raw integer must be multiplied by 10 raised to the power of its matching scale factor. A raw value of 2310 with v_sf of -1 equals 231.0 V. Confirm the ModbusCloud portal is applying scale factors automatically and has not received a NOT_IMPLEMENTED marker value from the device.
Phase B and C voltage registers read zero on a single-phase inverter. Is that a wiring fault?
No. For a device reporting SunSpec DID 101, only phase A registers are populated. Registers aphb, aphc, ppvphbc, ppvphca, phvphb, and phvphc will read zero or return a NOT_IMPLEMENTED value. This is correct SunSpec behaviour and does not indicate a hardware or wiring problem.
The gateway connects but no values appear after importing the template.
First confirm the inverter's Modbus TCP server is active: the inverter must be in a powered-on state, not sleeping or in night-time shutdown. SunSpec devices also require a valid model block start address: the map may begin at register 0, 40000, or 50000 depending on the device. Verify the base address in the portal matches the device's actual map offset, and check that the unit ID is correct.
The st register shows an unexpected value. What do the state codes mean?
The SunSpec operating state enumeration defines: 1 = Off, 2 = Sleeping, 3 = Grid Monitoring, 4 = Producing, 5 = Throttled, 6 = Shutting Down, 7 = Fault, 8 = Standby. If the state is 7 (Fault), check the evt1 bitfield for standard fault flags such as GROUND_FAULT, OVER_TEMP, or AC_DISCONNECT. Vendor-specific detail is in stvnd and the evtvnd registers.
Knowledge base articles for this device

SunSpec Modbus: one register map for many inverters
SunSpec Modbus is the open register map SMA, Fronius, SolarEdge and Kostal share. The layout, int+SF vs float, the TCP port per brand and reading a mixed fleet.
Fronius Modbus: read a Symo GEN24 over Modbus TCP
Fronius Modbus explained: enable Modbus TCP on the Symo GEN24 on port 502, choose between int+SF and float, read the right SunSpec registers and scale them correctly. Practical guide for solar installers.
SMA Modbus: reading a Sunny Boy over Modbus TCP (installers)
SMA Modbus explained: enable the Modbus TCP server on port 502, choose between the SMA profile (unit ID 3) and SunSpec (unit ID 126), read the right registers, and handle the NaN values at night. Practical guide for installers.
Want to see how it works?








