SunSpec SunSpec Model 1 — Common Modbus TCP template

SunSpec Model 1 — Common

SunSpec Model 1, the Common Block, is the mandatory identification header present on every SunSpec-compliant device across inverters, energy meters, battery systems, and HVAC controllers. Over Modbus TCP, this template reads the model identifier, block length, manufacturer name, device model, options label, firmware version, and serial number, and exposes the device address register for read and write access. Importing this template into your ModbusCloud portal gives you a verified device fingerprint, making it straightforward to confirm which physical unit is connected at any unit ID before querying its functional models.

Protocol
Modbus TCP
Connection
Ethernet, Modbus TCP
Registers
8, read and write
Brand
SunSpec
Last updated

Registers (8)

8 read, 1 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
idRead
lRead
mnRead
mdRead
optRead
vrRead
snRead
daRead and write

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 the manufacturer name and model string on newly installed SunSpec devices before commissioning functional monitoring templates.
  • Track firmware version strings across a fleet of SunSpec devices to identify units that require a software update.
  • Confirm the serial number reported over Modbus matches the device label to detect wiring or unit-ID mismatches on multi-drop buses.
  • Monitor the device address register to detect unexpected unit-ID changes that could cause polling conflicts on shared RS485 or TCP segments.
  • Audit the options field across multiple sites to verify consistent device configurations during periodic compliance checks.

Installation

  1. Enable Modbus TCP on the target device via its web interface or display menu, under the communication or Modbus section, and note the assigned IP address and port (default 502).

  2. Connect the device and the ModbusCloud Gateway to the same local network, ensuring no firewall rules block TCP port 502 between them.

  3. In the ModbusCloud portal, add the Gateway, import the SunSpec Model 1 Common template, and assign the correct Modbus unit ID matching the device configuration (commonly 1 or 126).

  4. Trigger a manual poll and spot-check the mn and sn registers: the manufacturer name and serial number should match the device nameplate, confirming the connection is live.

Things to watch for

The mn and md registers return empty or garbled strings. Why?

SunSpec string registers are null-padded and encoded in big-endian byte order. If your client swaps byte order or trims null bytes incorrectly, strings appear corrupted. Ensure the ModbusCloud Gateway reads the full register width without byte-swapping: mn spans 16 registers and md spans 16 registers from their respective offsets.

Polling returns a Modbus exception on register 0. What is wrong?

Some devices place the SunSpec map at base address 40000 or 50000, not at offset 0. The register addresses in this template are relative offsets within the SunSpec block. Confirm the device base address in its documentation and configure the ModbusCloud Gateway base offset accordingly so address 0 resolves to the correct absolute register.

No values appear even though the gateway shows a TCP connection.

Check the unit ID. Many SunSpec devices default to unit ID 1, but multi-inverter gateways use higher IDs (for example, 125 for the gateway itself and 126 and above for attached inverters). Assign the correct unit ID in the ModbusCloud portal and re-poll.

Is it safe to write to the da register to change the unit ID remotely?

Writing to da changes the device Modbus unit ID immediately and will break all existing polling sessions targeting the old ID. Before writing, document the current value from the id and sn registers to confirm you are addressing the correct device. On some devices, writing an already-in-use unit ID on the bus causes address conflicts and communication failures for all devices on that segment.

Want to see how it works?

Electrician working in an open distribution board