ISV IEEE Smart Village
← Standards

SunSpec Alliance

Device Information Models — SunSpec Modbus · SunSpec JSON · IEEE 1547-2018 / IEEE 2030.5 interoperability

SunSpec defines vendor-neutral information models for inverters, storage, meters, and other DER. The same model can be encoded as Modbus registers (field / installer) or as JSON (MQTT, REST, OpenAMI). IEEE 1547-2018 names SunSpec Modbus and IEEE 2030.5 as the two interoperable communications methods for the same DER functions. The 701–712 series is that shared schema.

Core purpose

Give every DER a single named point map (Model ID, point names, types, scale factors, curve groups) so a gateway can talk to any certified inverter without an OEM register spreadsheet. IEEE 2030.5 does not invent a second data model for grid-support functions — its DER function set is the WAN/XML encoding of this same SunSpec inverter-control model (IEEE 2030.5-2018 §10.10).

What it is at its core

SunSpec is a device information model, not a WAN protocol. Three layers:

Village metering context

SunSpec is the generation / inverter track, not prepaid STS revenue metering. OpenAMI MQTT northbound is shaped like SunSpec JSON so a pole EMS can translate Modbus RTU, CAN, or RF into one payload. IEEE 2030.5 wrapping of that same model is Roadmap Phase 3 (utility DERMS). Do not score SunSpec on Donsun/Calin/Inhemeter STS meter rows.

How it came to be

2009
SunSpec Modbus — Alliance publishes inverter register maps (Models 1, 101–103, later 120–126 grid-support). One SunS marker, then a scan of model ID + length blocks.
2018
IEEE 1547-2018 Annex E names SunSpec Modbus and IEEE 2030.5 as interoperable DER communications. Same functions, two encodings (local Modbus vs REST/XML over TLS).
2018
CSIP (Common Smart Inverter Profile) — SunSpec profile of IEEE 2030.5 for California Rule 21. Maps grid-support functions to DERControl / DefaultDERControl (Table 9).
2020–21
700-series DER models (701–712) replace the 100-series for new IEEE 1547 / UL 1741 SB implementations. Canonical definitions move to JSON (SMDX XML still published).
2024
Model JSON gains a standards array on each point. 701–712 points that implement 1547 behavior are tagged "IEEE 1547-2018" — the behavior standard those IEEE 2030.5 resources configure.

The schema that covers IEEE 2030.5 compatibility

Two files matter:

  1. schema.json — JSON Schema (draft-07) for how every SunSpec model is written. The standards array on each point is where 1547/2030.5 alignment is declared.
  2. Models 1 + 701–712 — the instance definitions that implement every CSIP/IEEE 2030.5 DER grid-support function. Official copies are vendored at sunspec-models/json/ (Apache-2.0, sunspec/models).

IEEE 2030.5 does not get a second SunSpec model set. CSIP maps functions onto 2030.5 resources; the 700-series is the device-side schema for those same functions. Official point tags say IEEE 1547-2018 (behavior). IEEE 2030.5 is the WAN protocol that writes the equivalent DERControl objects.

Device map — Model 1 + 701–712

☀️ SunSpec DER map (IEEE 1547-2018 profile) ↔ IEEE 2030.5 CSIP
Model 1 · common Identity: Mn Md Vr SN — maps to IEEE 2030.5 EndDevice (lFDI/sFDI live on the cert, not in Modbus).
701 · DERMeasureAC — measurements St ConnSt Alrm W Var Hz LLV/LNV + per-phase V/I/P → DERStatus / metering (/mr).
702 · DERCapacity — nameplate + settings Ratings WMaxRtg VAMaxRtg VarMaxInjRtg + CtrlModes bitfield → DERCapability / DERSettings.
703 · DEREnterService ES permit enter service, V/Hz windows, delay/ramp → opModEnergize / connect.
704 · DERCtlAC — immediate controls Fixed PF inj/abs, WMaxLimPct, WSet, VarSet, WRmpopModFixedPF, opModMaxLimW, opModFixedW / opModTargetW, opModFixedVar, setGradW.
705–706 · curves DERVoltVaropModVoltVar · DERVoltWattopModVoltWatt (curve groups Crv[] / Pt[]).
707–710 · ride-through / trip curves LV DERTripLV · HV DERTripHV · LF DERTripLF · HF DERTripHF — each with MustTrip / MayTrip / MomCess → opModLVRT* opModHVRT* opModLFRT* opModHFRT*.
711–712 · frequency droop + watt-var DERFreqDroopopModFreqDroop / opModFreqWatt · DERWattVaropModWattVar (IEEE 1547 Category B; CSIP Table 9 lists freq-watt, not always watt-var).

CSIP Table 9 → SunSpec 700-series

Cited from the SunSpec CSIP Implementation Guide v2.1 (Table 9) plus the official 701–712 JSON group names. Empty CSIP cells mean the function is default-only or not scheduled as a DERControl event.

Grid function (CSIP) SunSpec model IEEE 2030.5 DERControl IEEE 2030.5 DefaultDERControl
Identity / capability 1 common · 702 DERCapacity EndDevice · DERCapability DERSettings
Status / metering 701 DERMeasureAC DERStatus · /mr
Connect / disconnect · enter service 703 DEREnterService · 701 ConnSt opModEnergize opModEnergize
Fixed power factor 704 DERCtlAC PFWInj / PFWAbs opModFixedPF opModFixedPF
Real power output limit 704 WMaxLimPct opModMaxLimW opModMaxLimW
Set active power (W or %) 704 WSet / WSetPct opModFixedW · opModTargetW opModFixedW · opModTargetW
Ramp rate 704 WRmp / WRmpRef setGradW · setSoftGradW
Dynamic volt-var 705 DERVoltVar opModVoltVar opModVoltVar
Volt-watt 706 DERVoltWatt opModVoltWatt opModVoltWatt
Frequency-watt / droop 711 DERFreqDroop opModFreqWatt · opModFreqDroop opModFreqWatt · opModFreqDroop
Low/high voltage ride-through 707 DERTripLV · 708 DERTripHV opModLVRTMustTrip · MayTrip · MomentaryCessation (and HVRT twins) same
Low/high frequency ride-through 709 DERTripLF · 710 DERTripHF opModLFRTMustTrip · MayTrip (and HFRT twins) same
Watt-var (1547 Cat. B; not in CSIP Table 9) 712 DERWattVar opModWattVar opModWattVar

Model 702 CtrlModes — advertised functions

This bitfield is the SunSpec-side equivalent of IEEE 2030.5 DERCapability.modesSupported. Bits from official model_702.json:

BitSunSpec symbolLabelIEEE 2030.5 mode
0MAX_WLimit maximum active poweropModMaxLimW
1FIXED_WFixed active poweropModFixedW
2FIXED_VARFixed reactive poweropModFixedVar
3FIXED_PFFixed power factoropModFixedPFInjectW / opModFixedPFAbsorbW
4VOLT_VARVolt-varopModVoltVar
5FREQ_WATTFreq-wattopModFreqWatt / opModFreqDroop
6DYN_REACT_CURRDynamic reactive currentnot a CSIP Table 9 mandatory; 2030.5 has no 1:1 CSIP name here
7LV_TRIPLow-voltage tripopModLVRT*
8HV_TRIPHigh-voltage tripopModHVRT*
9WATT_VARWatt-varopModWattVar
10VOLT_WATTVolt-wattopModVoltWatt
11SCHEDULEDSchedulingDERProgram / DERControl events
12LF_TRIPLow-frequency tripopModLFRT*
13HF_TRIPHigh-frequency tripopModHFRT*

Exact JSON Schema (schema.json)

This is the official SunSpec JSON Schema for model definitions — including the standards field used to mark IEEE 1547-2018 (and therefore IEEE 2030.5-compatible) points. Source: sunspec/models json/schema.json.

sunspec-models/json/schema.json — Apache-2.0 copy of sunspec/models

Loading schema.json…

What schema.json requires

Model root

Required id (1–65535) and group. Optional label, desc, detail, notes, comments.

Group

Required name + type (group or sync). Nested points[] then groups[]. count is an integer or a point name (repeating curves).

Point

Required name, type, size. Optional sf, units, access (R/RW), mandatory (M/O), static (D/S), symbols[].

standards[]

Array of strings on each point. 701–712 tags 1547-required points "IEEE 1547-2018". That is the IEEE 2030.5-compatible subset — empty array means SunSpec-only / optional.

Curve-group shape (Models 705–710, 712)

IEEE 2030.5 DERCurve resources are this nested group, not a flat register list. Official Model 705 skeleton:

{
  "id": 705,
  "group": {
    "name": "DERVoltVar",
    "label": "DER Volt-Var",
    "type": "group",
    "points": [
      { "name": "ID", "value": 705, "type": "uint16", "mandatory": "M", "standards": ["IEEE 1547-2018"] },
      { "name": "L", "type": "uint16", "mandatory": "M", "standards": ["IEEE 1547-2018"] },
      { "name": "Ena", "type": "enum16", "access": "RW", "standards": ["IEEE 1547-2018"] },
      { "name": "AdptCrvReq", "type": "uint16", "access": "RW", "standards": ["IEEE 1547-2018"] },
      { "name": "NPt", "type": "uint16", "standards": ["IEEE 1547-2018"] },
      { "name": "NCrv", "type": "uint16", "standards": ["IEEE 1547-2018"] }
    ],
    "groups": [
      {
        "name": "Crv",
        "count": "NCrv",
        "type": "group",
        "points": [
          { "name": "ActPt", "type": "uint16", "access": "RW", "standards": ["IEEE 1547-2018"] },
          { "name": "DeptRef", "type": "enum16", "access": "RW", "standards": ["IEEE 1547-2018"] }
        ],
        "groups": [
          {
            "name": "Pt",
            "count": "NPt",
            "type": "group",
            "points": [
              { "name": "V", "type": "uint16", "units": "VNomPct", "access": "RW", "standards": ["IEEE 1547-2018"] },
              { "name": "Var", "type": "int16", "units": "DeptRef", "access": "RW", "standards": ["IEEE 1547-2018"] }
            ]
          }
        ]
      }
    ]
  }
}

Use the file picker above for the full official model_705.json (symbols, scale factors, reversion timers). Ride-through models 707–710 nest three curves per stored set: MustTrip, MayTrip, MomCess — the three IEEE 2030.5 LVRT/HVRT/LFRT/HFRT mode families.

Relationship to other standards

Standard Relationship to SunSpec
IEEE 1547-2018 Defines DER behavior. Annex E names SunSpec Modbus as one of two interoperable interfaces. 701–712 points tagged IEEE 1547-2018 are that interface.
IEEE 2030.5 WAN application protocol (HTTPS/XML, TLS, certs). DER function set is based on the SunSpec inverter control model. CSIP is the SunSpec profile of 2030.5.
CSIP Which 2030.5 function sets are mandatory (Rule 21). Table 9 is the control mapping; 701–712 are the device schema behind it.
Modbus RTU/TCP Transport for the register encoding. RS-485 carries the map; SunSpec is the map.
TLS 1.2 Required for IEEE 2030.5. Not required for local SunSpec Modbus on an isolated RS-485 bus (Phase 1–2).
OpenAMI MQTT Village northbound. Payloads align to SunSpec JSON group/point names so a later 2030.5 gateway has a known model to wrap — not a second register language.

Relevance to village microgrids

When SunSpec matters for ISV deployments

Use SunSpec on the inverter / hybrid / feeder EMS path (Victron, Enphase, Deye, Street Pole EMS). Do not expect STS keypad meters to speak it.

Key takeaways

Further reading