
SunSpec Model 160 — Multiple MPPT Inverter Extension Model
SunSpec Model 160 is an open interoperability standard that extends any SunSpec-compliant PV inverter with per-string DC telemetry across multiple MPPT inputs. The SunSpec Model 160 — Multiple MPPT Inverter Extension Model template reads the model header registers (id, l), four scale-factor registers for current, voltage, power, and energy (dca_sf, dcv_sf, dcw_sf, dcwh_sf), a global event bitfield (evt), the input module count (n), and the timestamp period (tmsper). Accessed over Modbus TCP, it gives installers and asset managers accurate per-tracker data from any certified inverter without vendor lock-in.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 9, read only
- Brand
- SunSpec
- Last updated
Registers (9)
9 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | Read | ||||
| dca_sf | Read | ||||
| dcv_sf | Read | ||||
| dcw_sf | Read | ||||
| dcwh_sf | Read | ||||
| evt | Read | ||||
| n | Read | ||||
| tmsper | s | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor the number of active MPPT inputs to detect unexpected tracker dropouts after maintenance.
- Track the global event bitfield to receive early warnings about ground faults or over-temperature conditions.
- Verify scale factors after a firmware update to confirm current and power readings are still correctly calibrated.
- Compare the reported input module count against the commissioned string count to spot wiring errors.
- Alert on persistent non-zero event bits across multiple polling cycles to flag recurring DC-side faults.
Installation
Enable Modbus TCP on the inverter: log into the inverter's web interface or commissioning tool and activate the Modbus server under the communication or Modbus section, noting the assigned IP address and port (typically 502).
Connect the inverter to the same LAN as the ModbusCloud Gateway, using a standard Ethernet cable, and confirm the inverter responds to a ping from the same subnet.
In the ModbusCloud portal, add a new device, import this SunSpec Model 160 template with one click, and enter the inverter's IP address, port 502, and the correct unit ID used by the inverter's Modbus server.
Spot-check the connection by reading the id register: if the returned value is 160, the template is correctly mapped and data is flowing.
Things to watch for
The id register returns 0xFFFF or garbage. What is wrong?
A value of 0xFFFF is the SunSpec NaN sentinel for uint16, meaning the inverter did not return a valid model identifier. Confirm that Model 160 is actually present in the inverter's SunSpec model chain: some inverters only activate this model when more than one DC input is configured. Check your inverter documentation for multi-MPPT prerequisites.
Scale factor registers read as large negative numbers. Is that normal?
Yes. SunSpec scale factors are signed int16 exponents of ten. A value of -2 means divide the raw reading by 100. Apply the scale factor from the corresponding register (dca_sf for current, dcv_sf for voltage, dcw_sf for power, dcwh_sf for energy) before displaying or alerting on any measurement.
The gateway connects but the evt bitfield is always zero. Is the inverter healthy?
A zero evt value means no global fault bits are set, which normally indicates a healthy state. However, some inverter firmwares return zero by default even when faults exist. Cross-check against the inverter's local display or web interface, and verify the unit ID and register offset are correct in your portal configuration.
Why does tmsper always return 0 or NaN regardless of inverter?
The timestamp period point is marked as not supported by many certified inverters including Fronius and SolarEdge implementations, and will return a NaN value for that data type. This is expected behaviour. Do not use tmsper to validate connectivity; use the id register instead.
Knowledge base articles for this device

SunSpec Modbus: one register map for many inverters
SunSpec Modbus is the open register map SMA, Fronius, SolarEdge and Kostal share. The layout, int+SF vs float, the TCP port per brand and reading a mixed fleet.
Fronius Modbus: read a Symo GEN24 over Modbus TCP
Fronius Modbus explained: enable Modbus TCP on the Symo GEN24 on port 502, choose between int+SF and float, read the right SunSpec registers and scale them correctly. Practical guide for solar installers.
SMA Modbus: reading a Sunny Boy over Modbus TCP (installers)
SMA Modbus explained: enable the Modbus TCP server on port 502, choose between the SMA profile (unit ID 3) and SunSpec (unit ID 126), read the right registers, and handle the NaN values at night. Practical guide for installers.
Want to see how it works?








