Establish a mutually authenticated TLS connection to the IEEE 2030.5 server (HostAddress and path from device configuration); the server uses client certificate authentication — provision a device certificate signed by the utility-trusted CA before attempting registration.
Retrieve the DeviceCapability resource at the server's root path (typically GET /dcap) to discover available function sets and their resource URIs; confirm the server exposes /der and /derp (DER program) endpoints.
POST a new DER resource to /der with a body containing the DERCapability fields: modesSupported (bitmask of supported operating modes), doeModesSupported, rtgMaxW (rated max real power in watts), rtgMaxVar, rtgMinPFNormalOperation, and type (e.g., 83 for photovoltaic).
Retrieve the server's DERProgram list at /derp; each DERProgram links to DERControl resources that specify active power limits, reactive power setpoints, and voltage-reactive power curves — subscribe to changes using the polling approach (GET with If-None-Match and ETag headers) or server-sent event subscriptions if supported.
Apply received DERControl commands to the physical inverter within the responseRequired window (typically specified in the DERControl's responseRequired field); send a Response resource back to the server if responseRequired is set to indicate successful execution.
Implement the default DERControl as a fallback: if no active DERControl is in effect, apply the defaultDERControl settings — IEEE 2030.5 requires this fallback to be always active to maintain grid compliance during loss of communication.
Known gotchas
IEEE 2030.5 uses a poll-based communication model by default; the client is responsible for periodically checking for new DERControl events — the server does not push unsolicited updates unless a subscription and notification mechanism is configured, which is optional in the base spec.
Power values in IEEE 2030.5 are encoded using the SFDIType (short-form device identifier) and use fixed-point representations with a separate multiplier field; incorrectly applying the multiplier will cause orders-of-magnitude errors in setpoints — always apply the PowerOfTenMultiplier from the associated UnitValueType.
CSIP (Common Smart Inverter Profile) and CSIP-AUS impose additional constraints on top of base IEEE 2030.5 (e.g., mandatory function sets, certificate chain requirements, specific timing parameters); confirm whether your jurisdiction requires CSIP compliance before implementing the base spec alone.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp