SolarEdge Inverters (SunSpec 101-103) Modbus register map
SolarEdge single, split and three phase inverters with SetApp or LCD firmware 3.xxxx+, monitoring data through SunSpec. Multi-MPPT model 160 (Synergy) and the energy meters are separate maps
- Official
- 45 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
- 115200 8N1 · 115200 baud, 8 data bits, none parity, 1 stop bit
- 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
- 45 holding registers
- Groups
- 8
- Translation tables
- 1
- Revision
- 2 · 2026-11-10
- Added
- ()
- File
- maps/solaredge/inverters-sunspec.mbmap.json · 10 KB · history
- SHA-256
- 27f9eaaee335e3dba64cbfeb8654d95fd1c1c953716c98f029349bbcc658ad64
- Manufacturer
- solaredge.com
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.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Firmware | Version | holding 40044 | string[8] | |
| Serial number | Serial number | holding 40052 | string[16] |
Sources and notes
- SolarEdge Inverters - SunSpec Logging - Technical Note · version 2.6, 2023-12 register mapping
- SunSpec Alliance information model definitions models 1 and 103
Source: SolarEdge, "SolarEdge Inverters - SunSpec Logging - Technical Note" v2.6 (December 2023), register mapping; SunSpec Alliance information model definitions (github.com/sunspec/models), models 1 and 103
- SolarEdge inverters, SunSpec monitoring data (models 101, 102 and 103).
- Values are integers with scale factor registers; values a model does not use read 0xFFFF or 0x8000.
- Modbus TCP is off by default: enable it in the inverter's LAN or communication menu.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| 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 = single phase, 102 = split phase, 103 = 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. Split-phase configurations only (Japanese grid, 240 V North America) | |
| HR | 40080 | uint16 | R | V | ×10^V_SF | SunSpec PhVphB. Split-phase configurations only (Japanese grid, 240 V North America) | |
| HR | 40081 | uint16 | R | V | ×10^V_SF | SunSpec PhVphC. Split-phase configurations only (Japanese grid, 240 V North America) | |
| 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. The SolarEdge note lists this register as uint16; it is the signed SunSpec scale factor (int16) | |||
| 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 | 40103 | int16 | R | °C | ×10^Tmp_SF | SunSpec TmpSnk | |
| HR | 40106 | int16 | R | SunSpec Tmp_SF | |||
| HR | 40107 | uint16 | R | SunSpec St | |||
| HR | 40108 | uint16 | R | SunSpec StVnd. Vendor status and error codes: see the SolarEdge installation guide |
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).