Test Scenario | Test Validation Approach | Comments |
4.1.1 Discovery | 1. Perform a GET Request to Device Capability (/dcap). 2. Perform a GET Request to Time Resource (/tm) 3. Perform a GET on the End Device List Link URL retrieved in Step 1. 4. For each of the EndDevices in Step 3, perform a GET on FunctionSetAssignmentListLinks DERProgramListLinks DERControlListLinks | For Aggregator Devices, Itis mandatory that the Client Uses the ALL Attribute for the EndDeviceListLink to perform Step 3 as a query param (?l=) |
4.1.2 Site Registration | 1. Perform Site Registration by doing a POST to /edev with EndDevice info. The expected format is <EndDevice xmlns="urn:ieee:std:2030.5: ns" xmlns:ns2="https://csipaus.org/ns"> <lFDI>xxxxxx</lFDI> <sFDI>xx</sFDI> <changedTime>12345</changedTime> </EndDevice> 2. Perform a GET on the newly created EndDevice to get the ConnectionPointLink 3. PUT a valid connectionPointId to ConnectionPointLink. The expected format is: <ConnectionPoint xmlns="https://csipaus.org/ns" xmlns:ns2="urn:ieee:std:2030.5:ns"> <connectionPointId>xxxxxx </connectionPointId> </ConnectionPoint> | Error Codes: 201: Successful Device Registration 409: Device is already registered 400: Bad Request/ Invalid format. ERROR-RC:1 : Incorrect ConnectionPoint information |
Test Scenario | Test Validation Approach | Comments |
4.2.1 Readings | Client should POST the following MirrorMeterReadings to their re spective HREFs | The client needs to have posted the MirrorUsagePoints, and they’ll get the location href back in the response (or they need to do aGET of the MUPList /mup), and then they postthe MMR to the MUP href. The POST to create the MirrorUsagePoint needs to include a MirrorMeterReading Each type of MirrorMeterReading needs its own MirrorUsagePoint (5 total) MirrorMeterReadings should have a static mRID that is unique for each MirrorUsagePoint |
Site Real Power | ||
Unit of Measure : W (38) Role Flag : 0003 Site Reactive Power | ||
Unit of Measure : VAR (63) Role Flag : 0003 DER Real Power | ||
Unit of Measure : W (38) Role Flag : 0049 DER Reactive Power | ||
Unit of Measure VAR (63) Role Flag : 0049 Site Voltage | ||
Unit of Measure : V(29) Role Flag : 0003 | ||
4.2.2 Batched Readings | Future Release | Future Release |
4.2.3 Connect Status | 1. Perform a PUT to DERStatus with genConnectStatus = 0 to theServer 2. Perform a PUT to DERStatus with genConnectStatus = 7 to theServer | As long as there is a valid sequence of POSTs ( 0 -> 7) anywhere during the test, the test willpass. Example: The following sequences are valid 7 0 0 0 7 0 7 7 0 0 7 |
4.2.4 Operational Mode Status | 1. Perform a PUT to DERStatus with operationalModeStatus = 1 to the Server 2. Perform a PUT to DERStatus with operationalModeStatus = 2 to the Server | As long as there is a valid sequence of POSTs ( 1 -> 2) anywhere during the test, the test willpass. As long as there is a valid sequence of POSTs ( 0 -> 7) anywhere during the test, the test willpass. Example: The following sequences are valid 2 2 2 1 2 1 2 2 1 1 2 |
4.2.5 Capabilities /Settings | 1. Perform a PUT to DERCapabilities HREF dercap 2. Perform a PUT to DERSettings HREF derg | |
4.2.6 Update Post Rates | 1. POST a MirrorMeterReading to its HREF. 2. POST a reading to the same HREF as in Step 1 with an interval of 300 seconds between the two POSTs. 3. POST a MirrorMeterReading to its HREF. 4. POST a reading to the same HREF as in Step 1 with an interval of 60 seconds between the two POSTs. | If there is a third or further POSTs between a set of POSTs in test (Step 1 and Step2) or (Step 3 and Step 4) to the same HREF, the testwould fail. |
Test Scenario | Test Validation Approach | Comments | |
Polled ActiveControls | 4.3.1.1.1 Export Limit | 1. Perform a GET on DERControlList. The client would’ ve received a control with opModExpLimW = 0 2. Start the Control Control Response = 2 3. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4% | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList |
4.3.1.1.2 Generation Limit | 1. Perform a GET on DERControlList. The client would’ ve received a control with opModGenLimW = 0 2. Start the Control Control Response = 2 3. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4% | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList The Client can also POLL the DERControlList using NOTIFICATIONS | |
4.3.1.1.3 Energize /Deenergize | 1. Perform a GET on DERControlList. The client would’ ve received a control with opModEnergize = False 2. Start the Control Control Response = 2 3. Perform a PUT to DERStatus with genConnectStat us LSB = 0 4. Perform a GET on DERControlList. The client would’ ve received a control without opModEnergize = False 5. Start the Control Control Response = 2 6. Perform a PUT to DERStatus with genConnectStat us LSB = 1 | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList LSB = Least Significant Bit | |
Polled DefaultControls | 4.3.1.2.1 Export Limit | 1. Perform a GET on DefaultDERControl 2. Perform a POST to MirrorUsagePoint - Measurement is reduced to 0W +/-4% | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList |
4.3.1.2.2 Ramp Rate | 1. Perform a PUT to DERSettings with 10% setGradW | ||
Subscription | 4.3.2.1 Subscribe | 1. Subscribe to EndDeviceList by POSTing to /sub 2. Subscribe to DERControlList by POSTing to /sub 3. Subscribe to DefaultDERControl by POSTing to /s ub | All Subscription Payloads must have a valid notificationURI and a valid su bscribedResource attribute. The order of the subscriptions does not matter. |
Subscription Active Controls | 4.3.2.2.1 Export Limit | Same as 4.3.1.1.1 Export Limit but validator will check for NOTIFICATIONof controls instead of GET | |
4.3.2.2.2 Generation Limit | Same as 4.3.1.1.2 Generation Limit but validator will check for NOTIFICATION of controls instead of GET | ||
4.3.2.2.3 Energize | Same as 4.3.1.1.3 Energize/Deenergizebut validator will check for NOTIFICATION of controls instead of GET | ||
Subscription Default Controls | 4.3.2.3.1 Export Limit | Same as 4.3.1.2.1 Export Limit but validator will check for NOTIFICATIONof controls instead of GET | |
4.3.2.3.2 Ramp Rate | Same as 4.3.1.2.2 Ramp Rate but validator will check for NOTIFICATIONof controls instead of GET |
4.3.3 Control Responses | 1. Perform a GET on DERProgramList (/derp) 2. Perform a GET on DERControlList. The client would’ ve received two Active Controls. 3. POST Control Response = 1 (Received) for both Controls. 4. Start and Complete First Control (Control Response = 2 & Control Response = 3) 5. Start but then Cancel Second Control (Control Response = 2 & Control Response = 6) 6. POLL DERControlList to fetch Third Control. 7. Start Third Control 8. POLL DERControlList to fetch Fourth Control. 9. Supersede Third Control (Control Response = 7) | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList | ||
The client MUST perform the steps exactly in this order. It doesn’t matter ifthere are more control responses sentin between the given steps. | ||||
4.3.4 Poll Rates | 1. Perform a GET on FunctionSetAssignment (/fsa). The client would have received a Poll Rate of 60 seconds 2. Perform a subsequent GET on FunctionSetAssignment (/fsa) after 60 Seconds. | |||
4.3.5 Scheduling | 1. Perform a GET on DERProgramList (/derp) 2. Perform a GET on DERControlList. The client would’ ve received 24 Active Controls. 3. For each of the control, acknowledge that it is received (Control Response = 1) 4. For each of the control, acknowledge that it is started ( Control Response = 2) | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList | ||
The Client can also POLL the DERControlList using NOTIFICATIONS | ||||
The Client MUST start the control at theControl’s scheduled Start Value sent bythe server. | ||||
4.3.6 Randomization | 1. Perform a GET on DERProgramList (/derp) 2. Perform a GET on DERControlList. The client would’ ve received 5 Active Controls. 3. For each of the control, acknowledge that it is received (Control Response = 1) 4. For each of the control, acknowledge that it is started ( Control Response = 2) | The client needs to follow the link to the DERProgram in the DERProgramList to fetch the DERControlList | ||
The Client can also POLL the DERControlList using NOTIFICATIONS | ||||
The client MUST start the control at arandom time between the Control’s scheduled Start Value sent by the server and (startValue + control’s randomize start value) |
Powered By SwitchDin