Annex B - DER Management Envelope Extensions
![]()
Support for Dynamic Operating Envelopes communicated through the protocol is enabled by the Australian Smart Inverter Profile extensions. This set of extensions shall be supported by conforming equipment to manage site- and device-level operating envelopes.
Using these extensions, a device shall report its capabilities according to DERCapability::doeModesSupported according to the following bit positions:
Bit Position | Mode |
0 | opModExpLimW |
1 | opModImpLimW |
2 | opModGenLimW |
3 | opModLoadLimW |
Note: This attribute (and bit positions) corresponds to the new setting DERSetting::doeModesEnabled.
Note: As per the conventions specified in IEEE 2030.5 Resources all extensions defined in this guide are placed in a new namespace “https://csipaus.org/ns”. The XML examples provided in this guide use the prefix “csipaus:” to represent this namespace; when no prefix is specified the default SEP2 namespace applies.
These modes refer to the following additional attributes of DERControlBase:
csipaus:opModImpLimW attribute (ActivePower) [0..1]
This is the constraint on the imported active power at the connection point.
csipaus:opModExpLimW attribute (ActivePower) [0..1]
This is the constraint on the exported active power at the connection point.
csipaus:opModGenLimW attribute (ActivePower) [0..1]
This is a constraint on the maximum allowable discharge rate, in Watts, specifically for a single physical device (or aggregation of devices, excluding uncontrolled devices) such as an EV charge station.
csipaus:opModLoadLimW attribute (ActivePower) [0..1]
This is a constraint on the maximum allowable charge rate, in Watts, specifically for a single physical device (or aggregation of devices, excluding uncontrolled devices) such as an EV charge station.
Note: charge and discharge limits apply to bi-directional resources (such as a battery, that can act as a load and generator). In the case of a pure load or generator (e.g. solar system, hot water system),
support for this extension requires that the charge or discharge limit be interpreted in the same manner as opModMaxLimW. If both values are present, the most restrictive value is to be used. Where both site and resource limits are specified within a single DERControlBase and are in conflict with each other, the EndDevice may ignore the opModLoadLimW and opModGenLimW values in favour of opModExpLimW and opModImpLimW settings.
Example - Envelope Communication
Ste p | Description |
1 | The client discovers a server of its EndDevice instance and GETs its FunctionSetAssignments (FSA). Through its FSA the client discovers it is enrolled in a DERProgram (enrollment occurs out of band). The client registers with the specified DERProgram server if a secure connection is required. |
2 | Client GETs the DERProgramList specified in its FSA. Client sends the following request, in this case indicating that it can accept either EXI or XML: GET /derp HTTP/1.1 Host: {hostname} Accept: application/sep+xml; level=+S1 |
3 | The DER server responds with the requested DERProgramList, for example: HTTP/1.1 200 OK Content-Type: application/sep+xml Content-Length: {contentLength} <DERProgramList all="1" href="/derp" results="1" xmlns="urn:ieee:std:2030.5:ns"> <DERProgram href="/derp/0"> <mRID>01BE7A7E57</mRID> <description>Example DER Program</description> <DERControlListLink all="2" href="/derp/0/derc"/> <primacy>2</primacy> </DERProgram> </DERProgramList> |
4 | The client locates or creates a local Notification resource that can be used to receive notification of changes to the DERControlList. |
5 | The client POSTs the URI of the Notification resource, together with the DERControlListLink it read from the DERProgram, to the subscription list of its EndDevice instance on the DER server. POST /edev/0/sub HTTP/1.1 Host: {hostname} Content-Type: application/sep+xml Content-Length: {contentLength} <subscription xmlns="urn:ieee:std:2030.5:ns"> |
<subscribedResource>http://server.example.com/derp/0/derc</subscribedResource> <encoding>0</encoding> <level>+S1</level> <limit>0</limit> <notificationURI>http://client.example.com/ntfy</notificationURI> </subscription> | |
6 | The DER server responds with Status 201 Created. In the future, the DER server will “push” DERControlList updates to the client. HTTP/1.1 201 Created Location: /edev/0/sub/1 Content-Length: 0 |
7 | Client GETs the list of DERControls from the DER server. Client sends the below request, in this case asking for the first element of the list. N.B. Lists are ordered according to: 1. DERControl.Interval.start (ascending) 2. DERControl.creationTime (descending) 3. DERControl.mRID (descending) GET /derp/0/derc?s=0&l=1 HTTP/1.1 Host: {hostname} Accept: application/sep+xml |
8 | DER server responds with the first DERControl on the list. Server sends the following response: HTTP/1.1 200 OK Content-Type: application/sep+xml Content-Length: {contentLength} <DERControlList all="2" href="/derp/0/derc" results="1" xmlns="urn:ieee:std:203 0.5:ns" xmlns:csipaus="https://csipaus.org/ns"> <DERControl> <mRID> ABCDEF0123456789 </mRID> <description>Example DERControl 1</description> <interval> <duration>86400</duration> <start> 1605621600 </start> </interval> <DERControlBase> <csipaus:opModImpLimW> <multiplier>0</multiplier> <value>20000</value> </csipaus:opModImpLimW> <csipaus:opModExpLimW> |
<multiplier>0</multiplier> <value>5000</value> </csipaus:opModExpLimW> <csipaus:opModGenLimW> <multiplier>0</multiplier> <value>5000</value> </csipaus:opModGenLimW> <csipaus:opModLoadLimW> <multiplier>0</multiplier> <value>20000</value> </csipaus:opModLoadLimW> </DERControlBase> </DERControl> </DERControlList> | |
9 | For each DERControl with ResponseRequired Bit 0 set, the Client POSTs a response with a status of “Message Received” to the response resource specified by the replyTo field in the DERControl. Client sends the following: POST /rsp HTTP/1.1 Host: {hostname} Content-Type: application/sep+xml Content-Length: {contentLength} <DERControlResponse xmlns="urn:ieee:std:2030.5:ns"> <createdDateTime>1341507000</createdDateTime> <endDeviceLFDI>C0FFEE00</endDeviceLFDI> <status>1</status> <subject>02BE7A7E5 </DERControlResponse> |