SolarEdge SunSpec Inverter Modbus register map

SolarEdge inverters can expose their monitoring data to a non-SolarEdge logger through a read-only SunSpec map over Modbus RTU or Modbus TCP. The map covers AC and DC measurements, energy, temperature and operating state.

Protocol
Modbus RTU and Modbus TCP
Defaults
RS485: 115200 bps, 8 data bits, no parity, 1 stop bit. Modbus TCP is off by default; the port is 1502 with SolarEdge Go setup and 502 with LCD setup. Default unit ID over Ethernet is 1 (p. 6, 13-16).
Addresses in the manual
0-based protocol addresses, as sent on the wire
32 and 64-bit values
Not stated in the manual
Registers listed
45
Checked against
Version 3.3, October 2026

Address base. The tables give two columns. The base 0 column is the protocol address on the wire (SunSpec common block starts at 40000, inverter model block at 40069); the base 1 column is the PLC style number and is one higher. This file records the base 0 column (p. 17-18). Address 40000 in the manual is address 40000 on the wire.

Word order. The meter section says Modbus registers are big-endian with the most significant value at the lowest address, but the appendix says 32-bit values in command encoding use little-endian word order. The document does not state the word order for the inverter acc32 and uint32 values in this map.

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

45 registers
Manual Wire Register Type Regs Unit Scale Access Area
40000 40000 SunSpec map identifier "SunS"C_SunSpec_ID · Fixed value 0x53756E53, marks the start of a SunSpec map. uint32 2 1 R Holding (FC03)
40002 40002 Common model identifierC_SunSpec_DID · Fixed value 1 for the SunSpec common block. uint16 1 1 R Holding (FC03)
40003 40003 Common block lengthC_SunSpec_Length · Block length in registers, 65. uint16 1 1 R Holding (FC03)
40004 40004 Manufacturer nameC_Manufacturer · Reads "SolarEdge". string 16 1 R Holding (FC03)
40020 40020 Inverter modelC_Model · Model string such as SE5000. string 16 1 R Holding (FC03)
40044 40044 Firmware versionC_Version · CPU software version with leading zeros. string 8 1 R Holding (FC03)
40052 40052 Serial numberC_SerialNumber string 16 1 R Holding (FC03)
40068 40068 Modbus unit IDC_DeviceAddress · Modbus ID configured in the inverter. uint16 1 1 R Holding (FC03)
40069 40069 Inverter model identifierI_SunSpec_DID · 101 single phase, 102 split phase, 103 three phase. uint16 1 1 R Holding (FC03)
40070 40070 Inverter model lengthI_SunSpec_Length · Model block length in registers, 50. uint16 1 1 R Holding (FC03)
40071 40071 AC total currentI_AC_Current · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40075. The scale is not fixed, read the scale factor register. uint16 1 A 1 R Holding (FC03)
40072 40072 AC phase A currentI_AC_Current_A · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40075. The scale is not fixed, read the scale factor register. uint16 1 A 1 R Holding (FC03)
40073 40073 AC phase B currentI_AC_Current_B · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40075. The scale is not fixed, read the scale factor register. uint16 1 A 1 R Holding (FC03)
40074 40074 AC phase C currentI_AC_Current_C · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40075. The scale is not fixed, read the scale factor register. uint16 1 A 1 R Holding (FC03)
40075 40075 AC current scale factorI_AC_Current_SF int16 1 1 R Holding (FC03)
40076 40076 AC voltage phase A to BI_AC_Voltage_AB · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. uint16 1 V 1 R Holding (FC03)
40077 40077 AC voltage phase B to CI_AC_Voltage_BC · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. uint16 1 V 1 R Holding (FC03)
40078 40078 AC voltage phase C to AI_AC_Voltage_CA · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. uint16 1 V 1 R Holding (FC03)
40079 40079 AC voltage phase A to neutralI_AC_Voltage_AN · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. Only meaningful in split-phase configurations. uint16 1 V 1 R Holding (FC03)
40080 40080 AC voltage phase B to neutralI_AC_Voltage_BN · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. Only meaningful in split-phase configurations. uint16 1 V 1 R Holding (FC03)
40081 40081 AC voltage phase C to neutralI_AC_Voltage_CN · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40082. The scale is not fixed, read the scale factor register. Only meaningful in split-phase configurations. uint16 1 V 1 R Holding (FC03)
40082 40082 AC voltage scale factorI_AC_Voltage_SF int16 1 1 R Holding (FC03)
40083 40083 AC active powerI_AC_Power · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40084. The scale is not fixed, read the scale factor register. int16 1 W 1 R Holding (FC03)
40084 40084 AC power scale factorI_AC_Power_SF int16 1 1 R Holding (FC03)
40085 40085 AC frequencyI_AC_Frequency · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40086. The scale is not fixed, read the scale factor register. uint16 1 Hz 1 R Holding (FC03)
40086 40086 AC frequency scale factorI_AC_Frequency_SF int16 1 1 R Holding (FC03)
40087 40087 AC apparent powerI_AC_VA · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40088. The scale is not fixed, read the scale factor register. int16 1 VA 1 R Holding (FC03)
40088 40088 Apparent power scale factorI_AC_VA_SF int16 1 1 R Holding (FC03)
40089 40089 AC reactive powerI_AC_VAR · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40090. The scale is not fixed, read the scale factor register. int16 1 var 1 R Holding (FC03)
40090 40090 Reactive power scale factorI_AC_VAR_SF int16 1 1 R Holding (FC03)
40091 40091 AC power factorI_AC_PF · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40092. The scale is not fixed, read the scale factor register. int16 1 % 1 R Holding (FC03)
40092 40092 Power factor scale factorI_AC_PF_SF int16 1 1 R Holding (FC03)
40093 40093 Lifetime AC energy productionI_AC_Energy_WH · Accumulator that only increases. Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40095. The scale is not fixed, read the scale factor register. uint32 2 Wh 1 R Holding (FC03)
40095 40095 Energy scale factorI_AC_Energy_WH_SF · Listed as uint16 in the manual even though it is a signed scale factor in the SunSpec model. uint16 1 1 R Holding (FC03)
40096 40096 DC input currentI_DC_Current · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40097. The scale is not fixed, read the scale factor register. uint16 1 A 1 R Holding (FC03)
40097 40097 DC current scale factorI_DC_Current_SF int16 1 1 R Holding (FC03)
40098 40098 DC input voltageI_DC_Voltage · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40099. The scale is not fixed, read the scale factor register. uint16 1 V 1 R Holding (FC03)
40099 40099 DC voltage scale factorI_DC_Voltage_SF int16 1 1 R Holding (FC03)
40100 40100 DC input powerI_DC_Power · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40101. The scale is not fixed, read the scale factor register. int16 1 W 1 R Holding (FC03)
40101 40101 DC power scale factorI_DC_Power_SF int16 1 1 R Holding (FC03)
40103 40103 Heat sink temperatureI_Temp_Sink · Raw value is multiplied by 10^SF, where SF is the signed scale factor in register 40106. The scale is not fixed, read the scale factor register. int16 1 °C 1 R Holding (FC03)
40106 40106 Temperature scale factorI_Temp_SF int16 1 1 R Holding (FC03)
40107 40107 Operating stateI_Status · 1 off, 2 sleeping, 3 grid monitoring or wake-up, 4 producing power, 5 production curtailed, 6 shutting down, 7 fault, 8 maintenance or setup. uint16 1 1 R Holding (FC03)
40108 40108 Vendor operating state and error codeI_Status_Vendor · Use for firmware versions up to 3.19.xx. Error meanings are in the SolarEdge installation guide. uint16 1 1 R Holding (FC03)
40119 40119 Vendor status with controller type and error codeI_Status_Vendor4 · Upper 16 bits give the controller type, lower 16 bits the error code. Added in version 3.2 of the note. 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

  1. Download the Modbus Poll blocks file.
  2. 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.
  3. 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.
  4. 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 Note, SolarEdge Inverters - SunSpec Logging (knowledge-center.solaredge.com)

Version 3.3, October 2026, p. 14-21. 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.

Other solar inverters

All register maps · Modbus addressing explained