SMA Sunny Tripower 60 Modbus register map
The SMA Sunny Tripower 60 is a three-phase commercial PV inverter. Through the Inverter Manager gateway it exposes a SunSpec inverter model 103 map over Modbus TCP with AC and DC measurements, energy yield, temperatures and vendor status and event words.
- Protocol
- Modbus TCP
- Defaults
- Modbus TCP on port 502. The Inverter Manager answers at unit ID 125 and inverters at unit IDs 126 to 167 (older firmware below 1.45 used 1 and 2 to 43) (p. 12, 56).
- Addresses in the manual
- 1-based register numbers (wire address is the number minus 1)
- 32 and 64-bit values
- Not stated in the manual
- Registers listed
- 49
- Checked against
- STP60_SHP75_STPS60-SunSpec_Modbus-TI-en-15, Version 1.5
Address base. Register numbers start at 40001 in the SunSpec profile; the manual says to subtract 1 to get the address to use in a request, so 40001 is read at address 40000 (p. 12). For example 40001 in the manual (SunSpec map identifier "SunS") is address 40000 on the wire.
Word order. The manual says data is sent big-endian, high byte first within each register (p. 13), but does not state the word order of 32-bit values.
Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.
Downloads
The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.
Registers
| Manual | Wire | Register | Type | Regs | Unit | Scale | Access | Area |
|---|---|---|---|---|---|---|---|---|
| 40001 | 40000 | SunSpec map identifier "SunS"SunSpec_ID · Fixed value 0x53756E53, start of the SunSpec map. |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40003 | 40002 | Common model identifierCommon_ID · Fixed value 1 for the SunSpec common model. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40004 | 40003 | Common block lengthCommon_Length · Block length in registers, 66. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40005 | 40004 | Manufacturer nameManufacturer · Reads "SMA". |
string | 16 | 1 | R | Holding (FC03) | |
| 40021 | 40020 | Device model stringModel |
string | 16 | 1 | R | Holding (FC03) | |
| 40037 | 40036 | Inverter nameOptions |
string | 8 | 1 | R | Holding (FC03) | |
| 40045 | 40044 | Installed firmware versionVersion |
string | 8 | 1 | R | Holding (FC03) | |
| 40053 | 40052 | Serial number of the addressed deviceSerialNumber |
string | 16 | 1 | R | Holding (FC03) | |
| 40069 | 40068 | Modbus unit ID of the deviceDeviceAddress · Unit IDs 126 to 167 map to STP 60 units 1 to 42. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40186 | 40185 | Inverter model identifierInverter_ID · 101, 102 or 103 as the connection model; the manual says 103 applies to this inverter. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40187 | 40186 | Inverter model lengthInverter_Length · Block length in registers, 50. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40188 | 40187 | AC total currentAC_Current · Scale factor register 40192 holds the fixed value -2 per the manual, so the scale is applied here. |
uint16 | 1 | A | 0.01 | R | Holding (FC03) |
| 40189 | 40188 | Line conductor L1 currentAC_Current_L1 · Scale factor register 40192 holds the fixed value -2 per the manual, so the scale is applied here. |
uint16 | 1 | A | 0.01 | R | Holding (FC03) |
| 40190 | 40189 | Line conductor L2 currentAC_Current_L2 · Scale factor register 40192 holds the fixed value -2 per the manual, so the scale is applied here. |
uint16 | 1 | A | 0.01 | R | Holding (FC03) |
| 40191 | 40190 | Line conductor L3 currentAC_Current_L3 · Scale factor register 40192 holds the fixed value -2 per the manual, so the scale is applied here. |
uint16 | 1 | A | 0.01 | R | Holding (FC03) |
| 40192 | 40191 | Current scale factorAC_Current_SF · Reads -2 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40193 | 40192 | Voltage L1 to L2AC_Voltage_L1L2 · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40194 | 40193 | Voltage L2 to L3AC_Voltage_L2L3 · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40195 | 40194 | Voltage L3 to L1AC_Voltage_L3L1 · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40196 | 40195 | Voltage L1 to neutralAC_Voltage_L1N · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40197 | 40196 | Voltage L2 to neutralAC_Voltage_L2N · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40198 | 40197 | Voltage L3 to neutralAC_Voltage_L3N · Scale factor register 40199 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40199 | 40198 | Voltage scale factorAC_Voltage_SF · Reads -1 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40200 | 40199 | Active powerAC_Power · Scale factor register 40201 holds the fixed value 1 per the manual, meaning the raw value is multiplied by 10. |
int16 | 1 | W | 10 | R | Holding (FC03) |
| 40201 | 40200 | Active power scale factorAC_Power_SF · Printed value is 1 (multiplier 10). |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40202 | 40201 | Grid frequencyAC_Frequency · Scale factor register 40203 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | Hz | 0.1 | R | Holding (FC03) |
| 40203 | 40202 | Frequency scale factorAC_Frequency_SF · Reads -1 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40204 | 40203 | Apparent powerAC_VA · Scale factor register 40205 holds the fixed value 1 per the manual, meaning the raw value is multiplied by 10. |
int16 | 1 | VA | 10 | R | Holding (FC03) |
| 40205 | 40204 | Apparent power scale factorAC_VA_SF · Printed value is 1 (multiplier 10). |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40206 | 40205 | Reactive powerAC_VAr · Scale factor register 40207 holds the fixed value 1 per the manual, meaning the raw value is multiplied by 10. |
int16 | 1 | var | 10 | R | Holding (FC03) |
| 40207 | 40206 | Reactive power scale factorAC_VAr_SF · Printed value is 1 (multiplier 10). |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40208 | 40207 | Displacement power factorAC_PF · Scale factor register 40209 holds the fixed value -1 per the manual, so the scale is applied here. |
int16 | 1 | 0.1 | R | Holding (FC03) | |
| 40209 | 40208 | Power factor scale factorAC_PF_SF · Reads -1 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40210 | 40209 | Total energy yieldAC_Energy_WH · Accumulator that only increases; scale factor register 40212 holds 0. |
uint32 | 2 | Wh | 1 | R | Holding (FC03) |
| 40212 | 40211 | Energy scale factorAC_Energy_SF · Reads 0 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40213 | 40212 | DC currentDC_Current · Scale factor register 40214 holds the fixed value -2 per the manual, so the scale is applied here. |
uint16 | 1 | A | 0.01 | R | Holding (FC03) |
| 40214 | 40213 | DC current scale factorDC_Current_SF · Reads -2 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40215 | 40214 | DC voltageDC_Voltage · Scale factor register 40216 holds the fixed value -1 per the manual, so the scale is applied here. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 40216 | 40215 | DC voltage scale factorDC_Voltage_SF · Reads -1 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40217 | 40216 | DC powerDC_Power · Scale factor register 40218 holds the fixed value 1 per the manual, meaning the raw value is multiplied by 10. |
int16 | 1 | W | 10 | R | Holding (FC03) |
| 40218 | 40217 | DC power scale factorDC_Power_SF · Printed value is 1 (multiplier 10). |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40219 | 40218 | Internal temperatureTemp_Cabinet · Scale factor register 40223 holds 0. |
int16 | 1 | °C | 1 | R | Holding (FC03) |
| 40220 | 40219 | Heat sink temperatureTemp_Heatsink · Scale factor register 40223 holds 0. |
int16 | 1 | °C | 1 | R | Holding (FC03) |
| 40223 | 40222 | Temperature scale factorTemp_SF · Reads 0 per the manual. |
int16 | 1 | 1 | R | Holding (FC03) | |
| 40225 | 40224 | Manufacturer-specific status codeStatus_Vendor · Decimal codes include 0 and 10 (boot stages), 30 to 54 (startup and waiting states), 60 (grid feed-in), 70 (fail-safe mode) and 80 (no feed-in for a few minutes). Details are in the manual and the installation manual. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40230 | 40229 | Grid-related event bitsEvent_Vendor1 · Bit field, SMA event group for AC utility grid messages. |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40232 | 40231 | Reliability-related event bitsEvent_Vendor2 · Bit field, SMA event group for reliability messages. |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40234 | 40233 | DC-side event bitsEvent_Vendor3 · Bit field, SMA event group for DC grid messages. |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40236 | 40235 | Inverter hardware event bitsEvent_Vendor4 · Bit field, SMA event group for inverter messages. |
uint32 | 2 | 1 | R | Holding (FC03) |
Scale is the number to multiply the raw value by to get the unit. Types with more than one register (32 and 64-bit) follow the word order above.
Open in Modbus Poll
- Download the Modbus Poll blocks file.
- Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
- In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
- The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.
Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.
Source and accuracy
Manufacturer document: Technical Information, Sunny Tripower 60 / Sunny Highpower PEAK1 / Sunny Tripower Storage 60 SunSpec Modbus Interface (files.sma.de)
STP60_SHP75_STPS60-SunSpec_Modbus-TI-en-15, Version 1.5, p. 12-13, 41-48. Read on 2026-10-24.
Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.
Found a mistake? Report it by email with the register address and the manual page.