Fronius Smart Meter SunSpec (float) Modbus register map
Modbus map for an energy meter (for example a Fronius Smart Meter) connected to a Fronius Datamanager over Modbus RTU and read over Modbus TCP as SunSpec meter model 211/212/213 (float setting). It lists the common block, AC currents, voltages, power, frequency, power factor and total energy counters. Registers marked not supported in the vendor table are omitted.
- Protocol
- Modbus TCP via the Fronius Datamanager
- Defaults
- The meter is read with Modbus device ID 240 for Fronius Smart Meter address 1 (241 for address 2, up to 244 for address 5). Modbus TCP port is preset to 502 on the Datamanager (p. 64, 73, 74, 96).
- 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
- 47
- Checked against
- Document 42,0410,2049, edition 031-14062024 (English US section). Checked against the copy of that vendor URL archived at web.archive.org on 2024-07-10; the live vendor URL returned HTTP 404 on 2026-10-24, so a newer edition could not be checked.
Address base. Same scheme as the Fronius inverter map: the manual gives register numbers (SunSpec start 40001) and states the address in the Modbus request is one lower, so register 40001 is read with address 40000 (p. 66-67). Addresses here are for the float setting; the integer with scale factor setting (models 201 to 203) uses different addresses. For example 40001 in the manual (SunSpec identifier "SunS") is address 40000 on the wire.
Word order. The manual does not state the word order of 32-bit values or floats. Check a known value (Common_SID should read 0x53756E53) against your master's word order setting.
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 identifier "SunS"Common_SID · Fixed value 0x53756E53 ("SunS"). |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40003 | 40002 | Model identifierCommon_ID · Fixed value 1. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40004 | 40003 | Model lengthCommon_L · Fixed value 65. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40005 | 40004 | ManufacturerCommon_Mn · Reads "Fronius". |
string | 16 | 1 | R | Holding (FC03) | |
| 40021 | 40020 | Device modelCommon_Md |
string | 16 | 1 | R | Holding (FC03) | |
| 40037 | 40036 | OptionsCommon_Opt |
string | 8 | 1 | R | Holding (FC03) | |
| 40045 | 40044 | Meter software versionCommon_Vr |
string | 8 | 1 | R | Holding (FC03) | |
| 40053 | 40052 | Meter serial numberCommon_SN |
string | 16 | 1 | R | Holding (FC03) | |
| 40069 | 40068 | Modbus device addressCommon_DA · Range 1 to 247. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40070 | 40069 | Meter model identifier (211, 212 or 213)Meter_ID · 211 = single phase, 212 = split phase, 213 = three phase. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40071 | 40070 | Meter model lengthMeter_L · Fixed value 124. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40072 | 40071 | AC total currentMeter_A |
float32 | 2 | A | 1 | R | Holding (FC03) |
| 40074 | 40073 | AC phase A currentMeter_AphA |
float32 | 2 | A | 1 | R | Holding (FC03) |
| 40076 | 40075 | AC phase B currentMeter_AphB |
float32 | 2 | A | 1 | R | Holding (FC03) |
| 40078 | 40077 | AC phase C currentMeter_AphC |
float32 | 2 | A | 1 | R | Holding (FC03) |
| 40080 | 40079 | AC voltage average, phase to neutralMeter_PhV |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40082 | 40081 | AC voltage phase A to neutralMeter_PhVphA |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40084 | 40083 | AC voltage phase B to neutralMeter_PhVphB |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40086 | 40085 | AC voltage phase C to neutralMeter_PhVphC |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40088 | 40087 | AC voltage average, phase to phaseMeter_PPV |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40090 | 40089 | AC voltage phase A to BMeter_PPVphAB |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40092 | 40091 | AC voltage phase B to CMeter_PPVphBC |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40094 | 40093 | AC voltage phase C to AMeter_PPVphCA |
float32 | 2 | V | 1 | R | Holding (FC03) |
| 40096 | 40095 | AC frequencyMeter_Hz |
float32 | 2 | Hz | 1 | R | Holding (FC03) |
| 40098 | 40097 | AC powerMeter_W · At meter location 0 (grid), positive means consuming from the grid and negative means feeding in (p. 96). |
float32 | 2 | W | 1 | R | Holding (FC03) |
| 40100 | 40099 | AC power phase AMeter_WphA |
float32 | 2 | W | 1 | R | Holding (FC03) |
| 40102 | 40101 | AC power phase BMeter_WphB |
float32 | 2 | W | 1 | R | Holding (FC03) |
| 40104 | 40103 | AC power phase CMeter_WphC |
float32 | 2 | W | 1 | R | Holding (FC03) |
| 40106 | 40105 | AC apparent powerMeter_VA |
float32 | 2 | VA | 1 | R | Holding (FC03) |
| 40108 | 40107 | AC apparent power phase AMeter_VAphA |
float32 | 2 | VA | 1 | R | Holding (FC03) |
| 40110 | 40109 | AC apparent power phase BMeter_VAphB |
float32 | 2 | VA | 1 | R | Holding (FC03) |
| 40112 | 40111 | AC apparent power phase CMeter_VAphC |
float32 | 2 | VA | 1 | R | Holding (FC03) |
| 40114 | 40113 | AC reactive powerMeter_VAR |
float32 | 2 | VAr | 1 | R | Holding (FC03) |
| 40116 | 40115 | AC reactive power phase AMeter_VARphA |
float32 | 2 | VAr | 1 | R | Holding (FC03) |
| 40118 | 40117 | AC reactive power phase BMeter_VARphB |
float32 | 2 | VAr | 1 | R | Holding (FC03) |
| 40120 | 40119 | AC reactive power phase CMeter_VARphC |
float32 | 2 | VAr | 1 | R | Holding (FC03) |
| 40122 | 40121 | Power factorMeter_PF · Unit cos(). |
float32 | 2 | 1 | R | Holding (FC03) | |
| 40124 | 40123 | Power factor phase AMeter_PFphA |
float32 | 2 | 1 | R | Holding (FC03) | |
| 40126 | 40125 | Power factor phase BMeter_PFphB |
float32 | 2 | 1 | R | Holding (FC03) | |
| 40128 | 40127 | Power factor phase CMeter_PFphC |
float32 | 2 | 1 | R | Holding (FC03) | |
| 40130 | 40129 | Total energy exportedMeter_TotWhExp |
float32 | 2 | Wh | 1 | R | Holding (FC03) |
| 40138 | 40137 | Total energy importedMeter_TotWhImp |
float32 | 2 | Wh | 1 | R | Holding (FC03) |
| 40146 | 40145 | Total apparent energy exportedMeter_TotVAhExp |
float32 | 2 | VAh | 1 | R | Holding (FC03) |
| 40154 | 40153 | Total apparent energy importedMeter_TotVAhImp |
float32 | 2 | VAh | 1 | R | Holding (FC03) |
| 40194 | 40193 | EventsMeter_Evt · Bit field. |
uint32 | 2 | 1 | R | Holding (FC03) | |
| 40196 | 40195 | End block identifierEnd_ID · Fixed value 0xFFFF. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 40197 | 40196 | End block lengthEnd_L · Fixed value 0. |
uint16 | 1 | 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: Fronius Datamanager Modbus TCP & RTU, Operating Instructions (www.fronius.com)
Document 42,0410,2049, edition 031-14062024 (English US section). Checked against the copy of that vendor URL archived at web.archive.org on 2024-07-10; the live vendor URL returned HTTP 404 on 2026-10-24, so a newer edition could not be checked., p. 64, 73, 74, 96-97 (English section, edition 031-14062024). The manual contains no register tables for the meter; the rows come from the Fronius register map archive (Meter float map xlsx, Complete Map sheet).. Read on 2026-10-24.
Also used: Fronius Modbus SunSpec Maps, State Codes and Events (register map archive, version 1.1.7-0) (www.fronius.com)
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.