MBMap Registry
  1. Devices
  2. SunSpec Alliance
  3. Inverter 101/102/103 (integer, scale factors)

SunSpec Alliance Inverter 101/102/103 (integer, scale factors) Modbus register map

Generic SunSpec Modbus inverter model with integer values with scale factor registers. Used by many inverters (SolarEdge, Fronius, SMA, Kostal and others); the model and its position are set by each device

  • Official
  • 69 registers
  • Modbus TCP and RTU
  • Revision 2 · 2026-11-10
  • Identity: firmware, serial number

Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.

Communication

Protocol
Modbus TCP and RTU
Unit ID
1
TCP port
502
Serial
9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
Byte / word order
ABCD · bytes big-endian, words high first
Addresses
0-based

Connection values are defaults: the device may be configured differently.

Map

Registers
69 holding registers
Groups
9
Translation tables
1
Revision
2 · 2026-11-10
Added
()
File
maps/sunspec-alliance/inverter-101-103.mbmap.json · 14 KB · history
SHA-256
e66d4c126183abde42b7e597de0e65be190099555697de1188e78edb5cf22c85
Manufacturer
sunspec.org

Device identity

What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.

Registers
RoleRegisterAddressTypeValues
Firmware Version holding 40044 string[8]
Serial number Serial number holding 40052 string[16]

Sources and notes

Source: SunSpec Alliance, SunSpec information model definitions (github.com/sunspec/models), models 1, 101-103

  • SunSpec Inverter 101/102/103 (integer, scale factors).
  • The SunSpec chain starts at address 40000 ('SunS'), then the common block, then the inverter model.
  • This map assumes a common block of 65 registers, so the inverter model starts at 40069 (as in SolarEdge inverters). A device with the 66-register common block of the specification starts it at 40070: read the Model ID row, which must show 101-103 or 111-113, to check.
AreaAddressNameTypeAccessUnitScaleDescription
HR 40000 string[2] R Reads SunS" on a SunSpec device"
HR 40002 uint16 R SunSpec ID
HR 40003 uint16 R SunSpec L
HR 40004 string[16] R SunSpec Mn
HR 40020 string[16] R SunSpec Md
HR 40036 string[8] R SunSpec Opt
HR 40044 string[8] R SunSpec Vr
HR 40052 string[16] R SunSpec SN
HR 40068 uint16 R SunSpec DA. This point is mandatory for all SunSpec RTU devices and, for those devices, they must support values from 1-247.
HR 40069 uint16 R SunSpec ID. 101/111 = single phase, 102/112 = split phase, 103/113 = three phase
HR 40070 uint16 R SunSpec L
HR 40071 uint16 R A ×10^A_SF SunSpec A. Sum of active phases
HR 40072 uint16 R A ×10^A_SF SunSpec AphA. Connected Phase
HR 40073 uint16 R A ×10^A_SF SunSpec AphB. Connected Phase
HR 40074 uint16 R A ×10^A_SF SunSpec AphC. Connected Phase
HR 40075 int16 R SunSpec A_SF
HR 40076 uint16 R V ×10^V_SF SunSpec PPVphAB
HR 40077 uint16 R V ×10^V_SF SunSpec PPVphBC
HR 40078 uint16 R V ×10^V_SF SunSpec PPVphCA
HR 40079 uint16 R V ×10^V_SF SunSpec PhVphA
HR 40080 uint16 R V ×10^V_SF SunSpec PhVphB
HR 40081 uint16 R V ×10^V_SF SunSpec PhVphC
HR 40082 int16 R SunSpec V_SF
HR 40083 int16 R W ×10^W_SF SunSpec W
HR 40084 int16 R SunSpec W_SF
HR 40085 uint16 R Hz ×10^Hz_SF SunSpec Hz
HR 40086 int16 R SunSpec Hz_SF
HR 40087 int16 R VA ×10^VA_SF SunSpec VA
HR 40088 int16 R SunSpec VA_SF
HR 40089 int16 R var ×10^VAr_SF SunSpec VAr
HR 40090 int16 R SunSpec VAr_SF
HR 40091 int16 R % ×10^PF_SF SunSpec PF
HR 40092 int16 R SunSpec PF_SF
HR 40093 uint32 ABCD R Wh ×10^WH_SF SunSpec WH
HR 40095 int16 R SunSpec WH_SF
HR 40096 uint16 R A ×10^DCA_SF SunSpec DCA
HR 40097 int16 R SunSpec DCA_SF
HR 40098 uint16 R V ×10^DCV_SF SunSpec DCV
HR 40099 int16 R SunSpec DCV_SF
HR 40100 int16 R W ×10^DCW_SF SunSpec DCW
HR 40101 int16 R SunSpec DCW_SF
HR 40102 int16 R °C ×10^Tmp_SF SunSpec TmpCab
HR 40103 int16 R °C ×10^Tmp_SF SunSpec TmpSnk
HR 40104 int16 R °C ×10^Tmp_SF SunSpec TmpTrns
HR 40105 int16 R °C ×10^Tmp_SF SunSpec TmpOt
HR 40106 int16 R SunSpec Tmp_SF
HR 40107 uint16 R SunSpec St
HR 40108 uint16 R SunSpec StVnd
HR 40110 bool bit 0 R SunSpec Evt1 bit 0
HR 40110 bool bit 1 R SunSpec Evt1 bit 1
HR 40110 bool bit 2 R SunSpec Evt1 bit 2
HR 40110 bool bit 3 R SunSpec Evt1 bit 3
HR 40110 bool bit 4 R SunSpec Evt1 bit 4
HR 40110 bool bit 5 R SunSpec Evt1 bit 5
HR 40110 bool bit 6 R SunSpec Evt1 bit 6
HR 40110 bool bit 7 R SunSpec Evt1 bit 7
HR 40110 bool bit 8 R SunSpec Evt1 bit 8
HR 40110 bool bit 9 R SunSpec Evt1 bit 9
HR 40110 bool bit 10 R SunSpec Evt1 bit 10
HR 40110 bool bit 11 R SunSpec Evt1 bit 11
HR 40110 bool bit 12 R SunSpec Evt1 bit 12
HR 40110 bool bit 13 R SunSpec Evt1 bit 13
HR 40110 bool bit 14 R SunSpec Evt1 bit 14
HR 40110 bool bit 15 R SunSpec Evt1 bit 15
HR 40111 uint32 ABCD R SunSpec Evt2
HR 40113 uint32 ABCD R SunSpec EvtVnd1
HR 40115 uint32 ABCD R SunSpec EvtVnd2
HR 40117 uint32 ABCD R SunSpec EvtVnd3
HR 40119 uint32 ABCD R SunSpec EvtVnd4

Help improve this map