
SunSpec Model 302 — Irradiance Model
SunSpec Model 302 is a standardized Modbus TCP information model defined by the SunSpec Alliance for solar irradiance measurement in photovoltaic installations. The template reads the two mandatory header registers: the model identifier, which is fixed at 302, and the model length, which tells a client how many registers follow in the fixed data block. Devices implementing this model, such as SunSpec Model 303, SunSpec Model 304, and SunSpec Model 63002, expose these headers before their payload registers. Importing this template into ModbusCloud lets you verify SunSpec model discovery and confirms correct device enumeration during commissioning.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 2, read only
- Brand
- SunSpec
- Compatible models
- SunSpec Model 303 — Back of Module Temperature Model · SunSpec Model 304 — Inclinometer Model · SunSpec Model 63002 — SunSpec Test Model 2
- Last updated
Registers (2)
2 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | 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
- Verify that a SunSpec-compliant device correctly advertises model ID 302 during initial site commissioning.
- Confirm the model length register matches the expected block size after a firmware update on a SunSpec sensor.
- Alert on an unexpected model ID value to detect device misconfiguration or swapped hardware on a PV site.
- Track model discovery across multiple SunSpec devices to audit interoperability compliance in the portal.
- Compare model length values across parallel sensor nodes to identify truncated or corrupt register maps.
Installation
Enable Modbus TCP on the target SunSpec-compliant device via its web interface or communication settings menu, and note the assigned IP address and port (default 502).
Connect the device to the same network as the ModbusCloud Gateway, ensuring no firewall rules block port 502 between the Gateway and the device.
In the ModbusCloud portal, add the Gateway, then import the SunSpec Model 302 template and assign the correct unit ID matching the device configuration.
Spot-check register address 0 (id) in the live register view: the returned value must be 302 to confirm the correct model block has been located.
Things to watch for
Why does register 0 return a value other than 302?
The SunSpec register map can start at address 0, 40000, or 50000 depending on the device implementation. If you read 0 from address 0 and get an unexpected value, the device likely places its SunSpec map at 40000 or 50000. Adjust the base address offset in the ModbusCloud portal to match the device's actual map start.
The gateway connects but both registers read zero. What now?
A zero on the id register usually means the base address is wrong or Modbus TCP is not fully enabled on the device. Confirm that the Modbus service is active in the device's communication settings, that port 502 is reachable from the Gateway, and that the unit ID in the template matches the device's configured slave address.
Register l returns an unexpected length. Is my device broken?
Different firmware versions or vendor implementations of Model 302 may declare different block lengths depending on which optional points they include. Cross-check the returned length value against the device's Modbus documentation. A mismatch is not necessarily a fault but may mean optional registers beyond the header are not populated.
Why does the model ID register keep changing between reads?
SunSpec header registers are static and should never change value during normal operation. If the id register is unstable, the most likely cause is that two Modbus clients are polling the device simultaneously, or the device is rebooting. Check for competing loggers on the same network and reduce the polling frequency until the device stabilizes.
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?








