# IEC 61968-5 Distributed Energy Optimization — Test Cases Source: EPRI 3002014703, *Test Script for IEC 61968-5 Distributed Energy Optimization, Third Edition*. Per test case: narrative, pre/post-conditions, each message step with its sample XML, and the Test Results step summary. Sequence diagrams and WSDL/XSD artifact tables omitted (see PDF). ## DER Group Creation, Modification, Deletion and Retrieval (Section 9) ### DERG-1a: Client requests creation of a DER Group and Server replies (Success - Single DER Group) In this test case, the Client requests the Server to instantiate a single DER Group: DG1 with three EndDevice members and two DERFunctions (connectDisconnect and realPowerDispatch). In this example, an mRID identifier is also assigned to the DER Group. The Server returns a response message indicating success with no errors. If the Server were in fact a true DERMS, then upon success of this messaging interchange, the DER Group would be known to the DERMS and could be subsequently changed or deleted. Subsequent test cases in this report will assume the persistence of specific DERGroups and refer to them by the mRIDs and/or Names assigned in the “create” test cases. See the Pre-Condition(s) section of subsequent test cases for additional information. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. As noted, this test case also illustrates the successful creation of a single DER Group. Subsequent test cases will illustrate attempts to create multiple DER Groups through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** None **Post-Condition(s):** A new DER Group is created with the mRID and Names identifier(s) that were passed in the request message #### Step 1 - Request Message ```xml create DERGroups 2017-05-31T13:55:27-06:00 bc9b3eaa-bdc0-4d61-9577-0c78515fee65 bb9a2075-e2e1-43ba-a234-e5d800bfff6e a20c559c-dda3-41e5-98b7-41afeb63ae5b DER Group 1 true false false false false true false false false 23cbd502-128a-4c4e-b7cd-5eaf6d9ae275 7fc50292-2e8a-4e9c-80ae-9105f50ce3ea 63d092b7-baed-4bfe-ad97-5709f2ce4ec9 DG1 2017-05-31T13:55:01-06:00 1 0 0 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-05-31T13:58:44-06:00 1ff7fd0a-1e68-4f1e-b347-3a8c77c1ef70 bb9a2075-e2e1-43ba-a234-e5d800bfff6e OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group | http://xx.xxx.xxx.xxx/ | create | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-1b: Client requests creation of a DER Group and Server replies (Failure - Single DER Group) In this test case, the Client requests the Server to instantiate a single DER Group with two members and one DERFunction; however, the IDs (mRIDs and Names) of the DER Group are the same as in Test Case DERG-1a. Consequently, the Server returns a response message indicating a failure based on a business rule prohibiting multiple DER Groups with the same mRID or Name(s). (See Appendix F for error codes.) The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. As noted, this test case also illustrates a failure of a request to create a single DER Group. Subsequent test cases will illustrate attempts to create multiple DER Groups through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** Assumed completion of Test Case DERG-1a **Post-Condition(s):** Creation of the DER Group failed as indicated in the Step 2 response message #### Step 1 - Request Message ```xml create DERGroups 2017-05-31T14:37:02-06:00 d6ad7d26-21f5-4b3a-8646-29dd2bd07c0d ab2841cf-4388-435b-b3f6-4ee8144fbf79 a20c559c-dda3-41e5-98b7-41afeb63ae5b DER Group 1 false false false false false true false false false 646bd360-9519-4c60-8c1f-c4d225e806f7 8b0e2733-0c5d-4d69-be89-c8ed1d8564b7 DG1 2017-05-31T13:36:33-06:00 1 0 0 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-05-31T14:37:45-06:00 78da84bc-02a3-4bfc-97f9-cb5fd52b612d ab2841cf-4388-435b-b3f6-4ee8144fbf79 FAILED 6.1 FATAL Request cancelled per business rule a20c559c-dda3-41e5-98b7-41afeb63ae5b ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group | http://xx.xxx.xxx.xxx/ | create | DERGroups | | | 2 | Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-1c: Client requests creation of two DER Groups and Server replies (Success - Two DER Groups in a single message) In this test case, the Client requests the Server to instantiate two DER Groups: DG2 with two members and two DERFunctions and DG3 with four members and three DERFunctions. The Server returns a response message indicating success with no errors. If the Server were in fact a true DERMS, then upon success of this messaging interchange, the DER Groups would be known to the DERMS and could be subsequently changed or deleted. Subsequent test cases in this report will assume the persistence of specific DER Groups and refer to them by the mRIDs and/or Names assigned in the “create” test cases. See the Pre-Condition(s) section of subsequent test cases for additional information. **Pre-Condition(s):** None **Post-Condition(s):** Two new DER Groups are created with the Names identifiers that were passed in the request message #### Step 1 - Request Message ```xml create DERGroups 2017-06-02T10:04:29-06:00 1c6c3e7e-8a67-48cf-8d7c-af9164863baa d151d469-d8b2-492c-b352-4a175e73f8cf 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true false false false 46029b51-8d94-4a06-b242-74d4a3fc2390 13a801e1-b45d-4dbe-960f-84f04ef39fcb DG2 2017-06-02T10:04:10-06:00 1 0 0 6b3241b8-a0f1-429b-b163-459122b5672e String true false false false true true false false false c3af4062-e6a9-4a05-bbac-e0215875fda2 7195c25f-4b54-4714-a90e-710dd7b1bcdd 9d6b55b4-e320-45d5-8ff8-6f947afa4b02 d1062c85-a938-4d11-af45-9ba97d444d5e DG3 2017-06-02T10:04:12-06:00 1 0 0 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T10:04:41-06:00 aeaa09a7-f6fd-4621-a8fb-3144061b34aa d151d469-d8b2-492c-b352-4a175e73f8cf OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group | http://xx.xxx.xxx.xxx/ | create | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-1d: Client requests creation of two DER Groups and Server replies (Two DER Groups in a single message - One succeeds and one fails) In this test case, the Client requests the Server to instantiate two DER Groups: DG4 and DG5. The Server returns a response message indicating that instantiation of the second DER Group (DG5) failed because of a business rule. Because no error is reported for the first DER Group (DG4), the interpretation of the response message is that the instantiation of the first DER Group (DG4) succeeded. (See Appendix F for error codes.) If the Server were in fact a true DERMS, then upon success of this messaging interchange, the first of the two DER Groups would be known to the DERMS and could be subsequently changed or deleted. Subsequent test cases in this report will assume the persistence of specific DER Groups and refer to them by the mRIDs and/or Names assigned in the “create” test cases. See the Pre-Condition(s) section of subsequent test cases for additional information. **Pre-Condition(s):** Assumed completion of Test Case DERG-1c. **Post-Condition(s):** One new DER Group is created with the Names identifier that was passed in the request message. An error is returned, indicating that instantiation of the second DER Group failed. #### Step 1 - Request Message ```xml create DERGroups 2017-06-02T10:52:50-06:00 221aa996-3c96-4729-a845-54bec6892089 01943d53-c111-4924-8e92-e487296c88b0 true false false false false true true false false c378df3a-294c-4743-ad78-65f970231b5b 6de3d770-6087-45bc-a5c8-6fca25f5a318 DG4 2017-06-02T10:52:31-06:00 1 0 0 true false false false true true true false false 8e5439f8-e95a-43ca-8b95-7bc176fa8a35 DG5 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T10:52:59-06:00 6eb9a15d-ba79-4c58-ba0a-4c74e8879703 01943d53-c111-4924-8e92-e487296c88b0 FAILED 6.1 FATAL Request cancelled per business rule DG5 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group | http://xx.xxx.xxx.xxx/ | create | DERGroups | | | 2 | Mixed Success/Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-1e: Client requests creation of a DER Group and Server replies (Success - Single DER Group; Responder supplies mRID) In this test case, the Client requests the Server to instantiate a single DER Group (DG6) by specifying a valid Names identifier for the DERGroup. The Server returns a response message indicating success with no errors. The Server (because of an assumed business rule) also assigns an mRID identifier to the DER Group; consequently, the response message in Step 2 includes a Payload section that adds the mRID identifier to the Payload of the Step 1 request message. If the Server were in fact a true DERMS, then upon success of this messaging interchange, the DER Group would be known to the DERMS and could be subsequently changed or deleted. Subsequent test cases in this report will assume the persistence of specific DER Groups and refer to them by the mRIDs and/or Names assigned in the “create” test cases. See the Pre-Condition(s) section of subsequent test cases for additional information. **Pre-Condition(s):** None. **Post-Condition(s):** A new DER Group is created with the Names identifier that was passed in the request message. The server responds with an indication of success and adds the mRID identifier in the Payload section of the response message. #### Step 1 - Request Message ```xml create DERGroups 2017-06-02T11:20:42-06:00 d83c8b6a-91df-441d-9bda-4ceb19066a15 ddce82e7-c3a3-48d9-816e-6cc6a3cfe619 true false false false true true false false false e8a2f05b-aca9-46dc-971b-be22fcedc00b DG6 2017-06-02T11:20:28-06:00 1 0 0 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T11:20:52-06:00 e2fd30cd-afbb-4089-a56c-98c8f2028383 ddce82e7-c3a3-48d9-816e-6cc6a3cfe619 OK 0.0 854d906-1f5d-40fe-9db3-2fb76bc43499 true false false false true true false false false e8a2f05b-aca9-46dc-971b-be22fcedc00b DG6 2017-06-02T11:20:28-06:00 1 0 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group | http://xx.xxx.xxx.xxx/ | create | DERGroups | | | 2 | Success Response including | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-2a: Client requests modification of an existing DER Group and Server replies (Success - Change supported DER Functions to include voltage regulation) In this test case, the Client requests the Server to modify an existing DER Group (DG1) by changing the list of supported DER Functions to include voltage regulation. The Server returns a response message indicating success with no errors. Note: Because all of the attributes of DERFunction are mandatory in the DERGroups.xsd profile, it is necessary to specify all of the attributes (changing voltageRegulation to “true” while specifying the remaining function attributes with the values assigned when the group was last created or modified). In this case, DER Group DG1 was created in Test Case DERG-1 and has not been previously modified. **Pre-Condition(s):** A DER Group with a Names.name identifier DG1, as created in Test Case DERG-1a, is assumed to exist. **Post-Condition(s):** The subject DER Group is modified to support the voltage regulation DER Function. #### Step 1 - Request Message ```xml change DERGroups 2017-06-02T12:21:19-06:00 439feabd-fb5f-451c-81dd-89b8bde37e30 fb30f952-73a4-49bd-833e-a5cc7d4ea310 true false false false false true true false false DG1 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T12:21:24-06:00 b92605a2-f7d3-40ee-8b30-ae276ff07a01 fb30f952-73a4-49bd-833e-a5cc7d4ea310 OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Change DER Group | http://xx.xxx.xxx.xxx/ | change | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-2b: Client requests modification of an existing DER Group and Server replies (Success - Add an additional DER) In this test case, the Client requests the Server to modify an existing DER Group (DG2, but referencing it by its mRID of 228650bf-7f77-44fa-9576-db4bbce8a07f) by adding an additional DER member (EndDevice) to the DER Group (bringing the total number of members to three). The Server returns a response message indicating success with no errors. Note 1: To add an additional DER member, the only required content normally in the Payload is the identifier of the DERGroup plus the identifier(s) for the new member. However, because this group was originally created with version information, this test case also illustrates the change in the versioning information. Note 2: If the intent had been to remove an existing DER member and substitute a new member, it would be necessary to leverage the OperationSet technique illustrated in Test Case DERG-3 to remove the existing DER member. A second transaction, similar to the one illustrated in this test case, could then be performed to add the new DER member. If desired, the two operations (deleting one member and adding another member) could be combined in one request message using an OperationSet with two operations. **Pre-Condition(s):** A DER Group with an mRID of 228650bf-7f77-44fa-9576-db4bbce8a07f as created in Test Case DERG-1c is assumed to exist. **Post-Condition(s):** The subject DER Group is modified to have a third member. #### Step 1 - Request Message ```xml change DERGroups 2017-06-02T12:30:44-06:00 e032908a-50df-4b7a-a177-e3944d228fad fc493167-bb9d-46c4-9018-95c0691a0b08 228650bf-7f77-44fa-9576-db4bbce8a07f 7a02c3a5-606e-4d0e-adaf-0e1b98757512 2017-06-02T12:30:21-06:00 1 1 0 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T12:30:57-06:00 5ca13572-70f7-48dd-b39d-88a857ce3ff6 fc493167-bb9d-46c4-9018-95c0691a0b08 OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Change DER Group | http://xx.xxx.xxx.xxx/ | change | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-3: Client requests modification of an existing DER Group and Server replies (Success - Delete a DER) In this test case, the Client requests the Server to modify an existing DER Group by deleting one of the DER members (EndDevice with mRID of 7195c25f-4b54-4714-a90e-710dd7b1bcdd) from DER Group DG3. The Server returns a response message indicating success with no errors. Because the intent is to remove an existing DER member, it is necessary to leverage the OperationSet technique. Refer to the subsection “IEC 61968-100:2013 Considerations” in Section 2 as well as Appendix C for a more complete discussion of the use of OperationSets to accomplish the deletion of attributes and/or association classes. A DER member (EndDevice) is an example of an association class—in the UML an EndDevice is a separate CIM object associated with a DERGroup. Attributes, in contrast, are just that: they appear in the UML as an attribute of a CIM class (sometimes inherited from a parent class). **Pre-Condition(s):** DER Group DG3, as created in Test Case DERG-1c and modified in Test Case DERG- 2b, is assumed to exist. **Post-Condition(s):** The subject DER Group is modified to have the DER member (EndDevice) with mRID of 7195c25f-4b54-4714-a90e-710dd7b1bcdd removed. #### Step 1 - Request Message ```xml execute OperationSet 2017-06-02T12:42:19-06:00 958e7f6e-f0e5-490f-922b-3e51ef8eed7b bde49d7f-e87e-4496-b98b-2ed4785dfdbc 1 DERGroups delete true 7195c25f-4b54-4714-a90e-710dd7b1bcdd DG3 ``` #### Step 2 - Response Message ```xml reply OperationSet 2017-06-02T12:42:36-06:00 9929802c-ce2a-4573-87fa-fcebde886d1d bde49d7f-e87e-4496-b98b-2ed4785dfdbc OK 0.0 0 String 0 true true 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Delete Details from existing DER | http://xx.xxx.xxx.xxx/ | execute | OperationSet* | | ### DERG-4: Client requests deletion of an existing DER Group and Server replies (Success) In this test case, the Client requests the Server to delete an existing DER Group (DG1) (in its entirety). The Server returns a response message indicating success with no errors. This test case is included to distinguish the deletion of a DER Group in its entirety from the deletion of attributes or associated classes from an existing DER Group (as illustrated in Test Case DERG-3). **Pre-Condition(s):** DER Group with a Names.name identifier of DG1, as created in Test Case DERG-1a, is assumed to exist. **Post-Condition(s):** The subject DER Group is deleted. #### Step 1 - Request Message ```xml delete DERGroups 2017-06-02T13:00:58-06:00 d0a3ac3b-f903-4e87-824c-89fb3af420e1 765a69ee-f7ab-41ba-a731-defbba676710 DG1 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T13:01:08-06:00 0e250533-deba-422d-a0eb-4059377c8825 765a69ee-f7ab-41ba-a731-defbba676710 OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Delete existing DER Group | http://xx.xxx.xxx.xxx/ | delete | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-5a: Client requests retrieval of an existing DER Group and Server replies (Success - Single DER Group) In this test case, the Client requests the Server to provide the details of a single DER Group identified by its Names.name identifier of DG2. This DER Group was previously created in Test Case DERG-1c and modified in Test Case DERG-2b. The Server returns a response message indicating success with no errors and including the details of the current state of the DER Group in the Payload section of the response message. This message exchange can also be characterized as DER Group Capability Discovery because the response message contains (and is required to contain) the list of DER Functions supported by the DER Group. Note 1: The parameters for the request query (in this case, the Names.name identifier of the DER Group whose details are being requested) are supplied using XML generated using the DERGroupQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Groups will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroups.xsd used for “create” scenarios and not the unconstrained version used for “change or delete” scenarios. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the applications being tested may contain any of the request and Payload elements and attributes permitted by the XSDs found in Appendices B and D. **Pre-Condition(s):** A DER Group with a Names.name identifier of DG2, as created in Test Case DERG-1c and modified in DERG-2b, is assumed to exist. **Post-Condition(s):** The full content of the subject DER Group is returned in response to the query. #### Step 1 - Request Message ```xml get DERGroups 2017-06-02T13:22:38-06:00 836a18cd-d8f9-4c34-a144-7d3f59f34229 37d7b6e7-8098-4960-a297-4b2cb49ca81f DG2 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T13:22:45-06:00 16f37e9e-be26-40be-a9b8-4d7855391565 37d7b6e7-8098-4960-a297-4b2cb49ca81f OK 0.0 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true false false false 46029b51-8d94-4a06-b242-74d4a3fc2390 13a801e1-b45d-4dbe-960f-84f04ef39fcb 7a02c3a5-606e-4d0e-adaf-0e1b98757512 DG2 2017-06-02T12:30:21-06:00 1 1 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Groups | http://xx.xxx.xxx.xxx/ | get | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-5b: Client requests retrieval of two DER Groups and Server replies (Success - Two DER Groups in a single message) In this test case, the Client requests the Server to provide the details of two DER Groups (DG2 and DG4). The Server returns a response message indicating success with no errors and including the details of the current state of the two DER Groups in the Payload section of the response message. Note 1: The parameters for the request query (in this case, the Names.name identifier of the DER Group whose details are being requested) are supplied using XML generated using the DERGroupQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Groups will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroups.xsd used for “create” scenarios and not the unconstrained version used for “change or delete” scenarios. **Pre-Condition(s):** DER Groups with Names.name identifiers of DG2 (as created in Test Case DERG-1c and modified in Test Case DERG-2b) and DG4 (as created in Test Case DERG-1d ) are assumed to exist. **Post-Condition(s):** The full contents of the subject DER Groups are returned in response to the query. #### Step 1 - Request Message ```xml get DERGroups 2017-06-02T13:43:10-06:00 cc632a80-f51c-41c6-b7fc-dd42abae295c 407112d5-e8a5-4967-a475-cc3a9c393a9c DG2 DG4 ``` #### Step 2 - Response Message ```xml reply DERGroups 2017-06-02T13:22:45-06:00 16f37e9e-be26-40be-a9b8-4d7855391565 37d7b6e7-8098-4960-a297-4b2cb49ca81f OK 0.0 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true false false false 46029b51-8d94-4a06-b242-74d4a3fc2390 13a801e1-b45d-4dbe-960f-84f04ef39fcb 7a02c3a5-606e-4d0e-adaf-0e1b98757512 DG2 2017-06-02T12:30:21-06:00 1 1 0 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true true false false c378df3a-294c-4743-ad78-65f970231b5b 6de3d770-6087-45bc-a5c8-6fca25f5a318 DG4 2017-06-02T10:52:31-06:00 1 0 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Groups | http://xx.xxx.xxx.xxx/ | get | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroups | | ### DERG-5c: Client requests retrieval of all DER Groups and Server replies (Success - All DER Groups in a single message) In this test case, the Client requests the Server to provide the details of all DER Groups by sending nothing at all. The Server returns a response message indicating success with no errors and including the details of the current state of all the DER Groups in the Payload section of the response message. DER Group DG1 was created in Test Case DERG-1a and then was deleted in Test Case DERG-4. DER Groups DG2 and DG3 were previously created in Test Case DERG-1c. DER Group DG4 was created in Test Case DERG-1d; however, DG5 was not created because of an error. Lastly, DER Group DG6 was created in Test Case DERG-1e. Only those groups that were successfully created and not deleted in previous test cases will be present in this query. **Pre-Condition(s):** DER Groups with Names.name identifiers of DG2 (as created in Test Case DERG-1c and modified in Test Case DERG-2b), DG3 (as created in Test Case DERG-1c and later modified in DERG-3), DG4 (as created in Test Case DERG-1d), and DG6 (as created in Test Case DERG-1e) are assumed to exist. **Post-Condition(s):** The full contents of the subject DER Groups are returned in response to the query. #### Step 1 - Request Message ```xml get DERGroups 2018-09-27T14:30:10-06:00 8f2dd684-a736-4068-97e6-6167b4fff406 30488987-17f9-46a2-b0bc-a4e4db825e8f ``` #### Step 2 - Response Message ```xml reply DERGroups 2018-09-27T14:30:12-06:00 6a804cb1-54c9-4a43-baa8-cd901a299ede 30488987-17f9-46a2-b0bc-a4e4db825e8f OK 0.0 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true false false false 46029b51-8d94-4a06-b242-74d4a3fc2390 13a801e1-b45d-4dbe-960f-84f04ef39fcb 7a02c3a5-606e-4d0e-adaf-0e1b98757512 DG2 2017-06-02T12:30:21-06:00 1 1 0 6b3241b8-a0f1-429b-b163-459122b5672e String true false false false true true false false false c3af4062-e6a9-4a05-bbac-e0215875fda2 9d6b55b4-e320-45d5-8ff8-6f947afa4b02 d1062c85-a938-4d11-af45-9ba97d444d5e DG3 2017-06-02T10:04:12-06:00 1 0 0 228650bf-7f77-44fa-9576-db4bbce8a07f DER Group 2 true false false false false true true false false c378df3a-294c-4743-ad78-65f970231b5b 6de3d770-6087-45bc-a5c8-6fca25f5a318 DG4 2017-06-02T10:52:31-06:00 1 0 0 854d906-1f5d-40fe-9db3-2fb76bc43499 true false false false true true false false false e8a2f05b-aca9-46dc-971b-be22fcedc00b DG6 2017-06-02T11:20:28-06:00 1 0 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Groups | http://xx.xxx.xxx.xxx/ | Get | DERGroups | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | Reply | DERGroups | | ### DERG-6: Server informs Client of the creation of two DER Groups (Two DER Groups in a single message) In this test case, the Server informs the Client of the creation of two DER Groups: DG7 with three members (EndDevices) and three DER Functions and DG8 with two members and four DER Functions. Such a notification may occur if the Client is not the original requestor but instead is being notified of the DER Groups instantiated directly within the Server or because of a request by a third system. The notification may occur immediately upon instantiation or at some later date/time. This is an asynchronous notification using an Event Stereotype message. There is no response message. If the Server were in fact a true DERMS, then upon success of this messaging interchange, the DER Groups would be known to the DERMS and could be subsequently changed or deleted. Subsequent test cases in this report will assume the persistence of specific DER Groups and refer to them by the mRIDs and/or Names assigned in the “created” test cases. See the Pre- Condition(s) section of subsequent test cases for additional information. **Pre-Condition(s):** It is assumed that DER Groups DG7 and DG8 were created at different times earlier in the day. **Post-Condition(s):** The Client is informed of the details of two DER Groups created earlier in the day. #### Step 1 - Event Message (Notification Message) ```xml created DERGroups 2017-06-02T13:58:11-06:00 d11e23fb-9183-46fb-bd5a-8e4693e02aa9 6c42f1ee-d5d9-4d93-8249-3ad11afdcc67 DER Group 7 true false false false true true false false false 727294db-354f-4343-b2cd-acbf5a23297f 9392b37c-1882-4fcc-905a-2d29c769b1c2 e2665091-8a1c-469d-9056-6371db5beb4b DG7 2017-06-02T09:31:17 1 0 0 5a3a8b59-42fe-4989-9622-6f4206e9579e DER Group 8 true false false false true true true false false d9db9ab9-6dba-4d09-a889-f5a55946e515 29896015-ce74-4594-9f68-593ac8b58762 DG8 2017-06-02T09:35:40 1 0 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Created DER Groups Notification | http://xx.xxx.xxx.xxx/ | created | DERGroups | | ### DERG-7: Server informs Client of modification of an existing DER Group (Change list of supported DER Functions to include ramp rate control) In this test case, the Server informs the Client that ramp rate control has been added to the list of DER Functions supported by DER Group DG7. Such a notification may occur if the Client is not the original requestor of the change but instead is being notified of the change made directly within the Server or because of a request by a third system. The notification may occur immediately at the time of the change or at some later date/time. This is an asynchronous notification using an Event Stereotype message. There is no response message. Note: Because all of the attributes of DERFunction are mandatory in the DERGroups.xsd profile, it is necessary to specify all of the attributes (changing rampRateControl to “true” while specifying the remaining function attributes with the values assigned when the group was last created or modified). In this case, DER Group DG7 was created in Test Case DERG-6 and has not been previoulsy modified. **Pre-Condition(s):** DER Group with a Names.name identifier of DG7, as created in Test Case DERG-6, is assumed to exist. **Post-Condition(s):** The Client is provided with the updated list of supported DER Functions. #### Step 1 - Event Message (Notification Message) ```xml changed DERGroups 2017-06-02T14:30:18-06:00 91771168-df25-4395-96ec-f5ca253dcff3 true false false true true true false false false DG7 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Changed DER Group Notification | http://xx.xxx.xxx.xxx/ | changed | DERGroups | | ### DERG-8: Server informs Client of modification of an existing DER Group (Deletion of a member) In this test case, the Server informs the Client of the deletion of a member (EndDevice) from DER Group DG8, which was previously created in Test Case DERG-6. This is an asynchronous notification using an Event Stereotype message. There is no response message. Because the intent is to remove an existing element (DER member), it is necessary to leverage the OperationSet technique. Refer to the subsection “IEC 61968-100:2013 Considerations” in Section 2 as well as Appendix C for a more complete discussion of the use of OperationSets to accomplish the deletion of attributes and/or association classes. A member (EndDevice) is an example of an association class. **Pre-Condition(s):** A DER Group with a Names.name identifier of DG8 and two members, as created in Test Case DERG-6, is assumed to exist. **Post-Condition(s):** The Client is informed that one of the two members of the subject DER Group has been deleted from the DER Group. #### Step 1 - Event Message (Notification Message) ```xml executed OperationSet 2017-06-02T14:43:10-06:00 ba6f89bf-f10f-4058-b743-8404e368e358 1 deleted DERGroups true d9db9ab9-6dba-4d09-a889-f5a55946e515 DG8 2017-06-02T14:42:58-06:00 1 1 0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Deleted Details from existing | http://xx.xxx.xxx.xxx/ | Executed | OperationSet* | | ### DERG-9: Server informs Client of the deletion of an existing DER Group In this test case, the Server informs the Client of the deletion of existing DER Group. This is an asynchronous notification using an Event Stereotype message. There is no response message. In this test case, DER Group DG7, which was previously created in Test Case DERG-6 and modified in Test Case DERG-7, is deleted. **Pre-Condition(s):** A DER Group with a Names.name identifier of DG7, as created in Test Case DERG-6 and modified in Test Case DERG-7, is assumed to exist. **Post-Condition(s):** The Client is informed that the subject DER Group has been deleted. #### Step 1 - Event Message (Notification Message) ```xml deleted DERGroups 2017-06-02T14:49:40-06:00 232663b4-1fcf-4364-8f9d-b936361a015a DG7 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Deleted Details from existing DER | http://xx.xxx.xxx.xxx/ | deleted | DERGroups | | ## DER Group Status Retrieval (Section 10) ### DERGS-1a: Client requests status of a DER Group and Server replies (Success - Single DER Group) In this test case, the Client requests the Server to provide the status of a single DER Group as identified by its Names.name identifier of DG2. This DER Group was previously created in Test Case DERG-1c and modified in Test Case DERG-2b. The Server returns a response message indicating success with no errors and including the details of the status of the DER Group in the Payload section of the response message. Note 1: The parameters for the request query (in this case, the Names.name identifier of the DER Group whose status is being requested) are supplied using XML generated using the DERGroupStatusQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Statuses will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupStatuses profile and not the unconstrained version that is used for “changed” scenarios. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the applications being tested may contain any of the request and Payload elements and attributes permitted by the XSDs found in Appendices B and D. **Pre-Condition(s):** A DER Group with a Names.name identifier of DG2, as created in Test Case DERG-1c and modified in Test Case DERG-2b, is assumed to exist. **Post-Condition(s):** The status of the subject DER Group is returned in response to the query. #### Step 1 - Request Message ```xml get DERGroupStatuses 2017-06-12T15:54:29-06:00 9e78323f-7ae5-4aee-aaa7-53130f5da8dd 125981da-6a49-4e14-9f9c-c4aa3bafaf08 DG2 ``` #### Step 2 - Response Message ```xml reply DERGroupStatuses 2017-06-12T15:54:36-06:00 d996b1c0-1d5a-45b9-9ad0-2457e2615244 125981da-6a49-4e14-9f9c-c4aa3bafaf08 OK 0.0 String activePower k W 41.2 2017-12-06T15:54:35-06:00 DG2 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Status | http://xx.xxx.xxx.xxx/ | get | DERGroupStatuses | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupStatuses | | ### DERGS-1b: Client requests status of a DER Group and Server replies (Failure - Single DER Group) In this test case, the Client requests the Server to provide the status of a single DER Group as identified by its Names.name identifier of DG1. This DER Group was previously deleted in Test Case DERG-4. Consequently, the Server returns a response message indicating a failure because no such DER Group exists. (See Appendix F for error codes.) The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. In addition, as noted, this test case illustrates a failure of a request for the status of a single DER Group. Subsequent test cases will illustrate requests for the statuses of multiple DER Groups through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** DER Group DG1 is assumed not to exist. **Post-Condition(s):** The request fails because DER Group DG1 does not exist. #### Step 1 - Request Message ```xml get DERGroupStatuses 2017-06-12T16:25:20-06:00 9f45c50a-6a81-4319-89db-55e484f93e32 a7dad3bd-5d2a-48a7-9500-ad40acc0713f DG1 ``` #### Step 2 - Response Message ```xml reply DERGroupStatuses 2017-06-12T16:25:24-06:00 6b04ffc7-28b4-4961-83a8-abb4e4652268 a7dad3bd-5d2a-48a7-9500-ad40acc0713f FAILED 99.1 FATAL
DERGroup does not exist
DG1
``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Status | http://xx.xxx.xxx.xxx/ | get | DERGroupStatuses | | | 2 | Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupStatuses | | ### DERGS-1c: Client requests status of two DER Groups and Server replies (Success - Two DER Groups in a single message) In this test case, the Client requests the Server to provide the status of two DER Groups as identified by their Names.name identifiers of DG3 and DG4, respectively. DER Group DG3 was created in Test Case DERG-1c and modified in Test Case DERG-3. DER Group DG4 was created in Test Case DERG-1d. The Server returns a response message indicating success with no errors and including the details of the status of the two DER Groups in the Payload section of the response message. Note 1: The parameters for the request query (in this case, the Names.name identifier of the DER Groups whose statuses are being requested) are supplied using XML generated using the DERGroupStatusQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Statuses will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupStatuses profile and not the unconstrained version used for “changed” scenarios. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the applications being tested may contain any of the request and Payload elements and attributes permitted by the XSDs found in Appendices B and D. **Pre-Condition(s):** DER Groups with Names.name identifiers of DG3 and DG4, as created and/or modified in test cases DERG-1c, DERG-1d, and DERG-3, are assumed to exist. **Post-Condition(s):** The statuses of the subject DER Groups are returned in response to the query. #### Step 1 - Request Message ```xml get DERGroupStatuses 2017-06-12T16:34:54-06:00 21b6f9bd-49fd-4a28-9e5b-f541924d81c9 4bf02e07-6cdd-430d-a318-965838d58b9d DG3 DG4 ``` #### Step 2 - Response Message ```xml reply DERGroupStatuses 2017-06-12T16:35:23-06:00 11beae4e-d615-416c-921f-b0a65ef0af7e 4bf02e07-6cdd-430d-a318-965838d58b9d OK 0.0 6b3241b8-a0f1-429b-b163-459122b5672e activePower k W 114.2 2017-06-12T16:35:11-06:00 DG3 activePower k W 88.65 2017-06-12T16:35:18-06:00 voltage none V 240.09 2017-06-12T16:35:18-06:00 DG4 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Statuses | http://xx.xxx.xxx.xxx/ | get | DERGroupStatuses | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupStatuses | | ### DERGS-1d: Client requests status of two DER Groups and Server replies (Two DER Groups in a single message - One succeeds and one fails) In this test case, the Client requests the Server to provide the status of two DER Groups as identified by their Names.name identifiers of DG6 and DG7, respectively. DER Group DG6 was created in Test Case DERG-1e. DER Group DG7 was created in Test Case DERG-6 and modified in Test Case DERG-7 but was subsequently deleted in Test Case DERG-9. Consequently, the Server returns a response message indicating a failure of the request for DER Group DG7. Because no error is reported for DER Group DG6, the interpretation of the response message is that the request for DER Group DG6 was successful; accordingly, the status for DER Group DG6 is returned in the Payload section of the response message. (See Appendix F for error codes.) Note 1: The parameters for the request query (in this case, the Names.name identifier of the DER Groups whose statuses are being requested) are supplied using XML generated using the DERGroupStatusQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Statuses will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupStatuses profile and not the unconstrained version used for “changed” scenarios. **Pre-Condition(s):** The DER Group with a Names.name identifier of DG6, as created in Test Case DERG- 1e, is assumed to exist. A DER Group with a Names.name identifier of DG7 is assumed not to exist because it was deleted in Test Case DERG-9. **Post-Condition(s):** The response message contains the status of DER Group DG6 and an indication of an error for DER Group DG7. #### Step 1 - Request Message ```xml get DERGroupStatuses 2017-06-12T16:56:21-06:00 c3b0823f-8fcd-4f2f-a37d-b91adf711498 9debb17b-d579-4917-8c5e-7f386c68ea40 DG6 DG7 ``` #### Step 2 - Response Message ```xml reply DERGroupStatuses 2017-06-12T16:56:55-06:00 3e58c71d-0303-4346-89db-c14b4121e39b 9debb17b-d579-4917-8c5e-7f386c68ea40 FAILED 99.1 FATAL
DERGroup does not exist
DG7
activePower k W 102.0 2017-06-12T16:56:45-06:00 reactivePower k VAr 105.0 2017-06-12T16:56:45-06:00 DG6
``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Statuses | http://xx.xxx.xxx.xxx/ | create | DERGroupStatuses | | | 2 | Mixed Success/Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupStatuses | | ### DERGS-2: Server informs Client of a change in DER Group Status (Change in current active, apparent, and reactive power) In this test case, the Server informs the Client that the status of DER Group DG8 has changed, and the Server provides the new values for the current active, reactive, and apparent power. In addition, the time at which this change occurred appears in the status element. Such a notification may occur if the Client has not asked for the status but instead is being notified of the change detected by the Server. The notification may occur immediately at the time of the change or at some short time thereafter. This is an asynchronous notification using an Event Stereotype message. There is no response message. In this test case, DER Group DG8 was created in Test Case DERG-6 and modified in Test Case DERG-8. **Pre-Condition(s):** DER Group with a Names.name identifier of DG8, as created in Test Case DERG-6 and modified in Test Case DERG-8, is assumed to exist. **Post-Condition(s):** The updated status of DER Group DG8 is sent to the Client by the Server. #### Step 1 - Event Message (Notification Message) ```xml changed DERGroupStatuses 2017-06-12T18:43:43-06:00 10c58e78-1045-45c4-aa7e-f9707ec4d620 activePower M W 2.52 2017-06-12T18:43:40-06:00 reactivePower M VAr 2.43 2017-06-12T18:43:40-06:00 DG8 2017-06-12T18:43:40-06:00 Online ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Changed DER Group Status | http://xx.xxx.xxx.xxx/ | changed | DERGroupStatuses | | ## DER Group Forecast Retrieval (Section 11) ### DERGF-1a: Client requests forecast for a DER Group and Server replies (Success - Single DER Group) In this test case, the Client requests the Server to provide a forecast for a single DER Group. The DER Group, with an mRID of 228650bf-7f77-44fa-9576-db4bbce8a07f and a Names.name identifier of DG2, was created in Test Case DERG-1c and modified in Test Case DERG-2b. It supports the realPowerDispatch DERFunction. In the Sample XML for this test case, the query (request) for the forecast is made using the mRID for illustration purposes. Reformulating the query using the Names.name identifier is equally valid; the remaining DER Group Forecast test cases in this report are formulated using the Names.name identifier(s). Note that normal practice is to specify either the mRID or a Names.name identifier when referring to a previously created CIM object; however, specifying both is permissible. The Server returns a response message indicating success with no errors and including the details of the forecast for the DER Group in the Payload section of the response message. Normal practice is for the Server to refer to CIM objects by both mRID and Names.name identifiers (presuming the Server knows both), as shown in the response XML for this test case. However, in all cases, the Server should include in the response the identifier (mRID or Names.name) used in the request message. Note 1: The parameters for the request query are supplied using XML generated using the DERGroupForecastQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Forecasts will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupForecasts profile. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the applications being tested may contain any of the request and Payload elements and attributes permitted by the XSDs found in Appendices B and D. **Pre-Condition(s):** A DER Group with a Names.name identifier of DG2, as created in Test Case DERG-1c and modified in Test Case DERG-2b, is assumed to exist. **Post-Condition(s):** The forecast for the subject DER Group is returned in response to the query. #### Step 1 - Request Message ```xml get DEGroupForecasts 2017-06-14T15:45:00-06:00 8e13f6fe-27a8-4686-bcaa-5176ce460486 12668dce-4005-4acf-bcc0-d81194a5d3f1 activePower straightLineYValues 4 2017-06-15T15:00:00-06:00 15 m 228650bf-7f77-44fa-9576-db4bbce8a07f ``` #### Step 2 - Response Message ```xml reply DERGroupForecasts 2017-06-14T13:03:19-06:00 3c6f308f-653b-49cd-92b0-620cbb5a7169 12668dce-4005-4acf-bcc0-d81194a5d3f1 OK 0.0 035ab91a-a826-4b8b-86fd-fb28da52514c 2017-06-14T13:03:16-06:00 228650bf-7f77-44fa-9576-db4bbce8a07f activePower k W straightLineYValues 2017-06-15T15:00:00-06:00 15 m 1 145.0 100.0 134.5 2 147.0 100.0 135.3 3 141.0 98.0 129.5 4 145.0 100.00 135.2 5 153.0 105.00 139.7 DG2 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Forecast | http://xx.xxx.xxx.xxx/ | get | DERGroupForecasts | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupForecasts | | ### DERGF-1b: Client requests forecast for a DER Group and Server replies (Failure - Single DER Group) In this test case, the Client requests the Server to provide a forecast for a single DER Group as identified by its Names.name identifier of DG1. This DER Group was deleted in Test Case DERG-4. Consequently, the Server returns a response message indicating a failure because no such DER Group exists. (See Appendix F for error codes.) Note 1: The parameters for the request query are supplied using XML generated using the DERGroupForecastQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Forecasts will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupForecasts profile. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. In addition, as noted, this test case illustrates a failure of a request for the status of a single DER Group. Subsequent test cases will illustrate requests for the statuses of multiple DER Groups through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** DER Group DG1 is assumed not to exist. **Post-Condition(s):** The request fails because DER Group DG1 does not exist. #### Step 1 - Request Message ```xml get DEGroupForecasts 2017-06-14T14:20:01-06:00 b7aff1b9-2ca7-4251-a2d9-91485211cc21 1f237f4f-661b-42ad-8483-19330a3d7d88 activePower straightLineYValues 4 2017-06-15T13:00:00-06:00 1 h DG1 ``` #### Step 2 - Response Message ```xml reply DERGroupForecasts 2017-06-14T14:20:05-06:00 a5e65f21-5c2b-40ee-98e6-8ecfe786420d 1f237f4f-661b-42ad-8483-19330a3d7d88 FAILED 99.1 FATAL
DERGroup does not exist
DG1
``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Forecast | http://xx.xxx.xxx.xxx/ | get | DERGroupForecasts | | | 2 | Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupForecasts | | ### DERGF-1c: Client requests forecasts for two DER Groups and Server replies (Success - Two DER Groups in a single message) In this test case, the Client requests the Server to provide forecasts for two DER Groups as identified by their Names.name identifiers of DG3 and DG4, respectively. DER Group DG3 was created in Test Case DERG-1c and modified in Test Case DERG-3 and supports the realPowerDispatch DER Function. DER Group DG4 was created in Test Case DERG-1d and supports the realPowerDispatch and voltageRegulation DER Functions. The Server returns a response message indicating success with no errors and including the details of the forecasts for the two DER Groups in the Payload section of the response message. Note 1: The parameters for the request query are supplied using XML generated using the DERGroupForecastQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Forecasts will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupForecasts profile. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the applications being tested may contain any of the request and Payload elements and attributes permitted by the XSDs found in Appendices B and D. **Pre-Condition(s):** DER Groups with a Names.name identifier of DG3 and DG4, as created and/or modified in test cases DERG-1c, DERG-1d, and DERG-3, are assumed to exist. **Post-Condition(s):** The forecasts for the subject DER Groups are returned in response to the query. #### Step 1 - Request Message ```xml get DEGroupForecasts 2017-06-14T14:46:33-06:00 18b0ed39-34fd-4c31-9ace-7d56d57beb81 977cbce0-53c5-4587-9306-ebb57d3b8b1a activePower voltage straightLineYValues 4 2017-06-15T08:00:00-06:00 1 h DG3 DG4 ``` #### Step 2 - Response Message ```xml reply DERGroupForecasts 2017-06-14T15:45:20-06:00 c0ae415d-ecf6-4041-9eec-4b16f13b4a09 977cbce0-53c5-4587-9306-ebb57d3b8b1a OK 0.0 c8df7792-7ea7-4d7d-aeed-761e2d2853be 2017-06-14T15:45:12-06:00 activePower k W straightLineYValues 2017-06-15T08:00:00-06:00 1 h 1 26.0 11.0 19.0 2 27.5 11.5 21.0 3 29.8 15.2 24.0 4 31.0 13.5 25.3 5 22.0 8.4 14.9 DG3 dcee5dff-00a3-4c3b-945c-de72d2981939 2017-06-14T15:45:16-06:00 activePower k W straightLineYValues 2017-06-15T08:00:00-06:00 1 h 1 576.0 250.7 562.0 2 570.0 545.4 556.1 3 572.0 549.3 561.0 4 579.0 562.0 570.6 5 582.4 550.2 567.1 voltage none V straightLineYValues 2017-06-15T08:00:00-06:00 1 h 1 240.8 239.2 240.2 2 240.8 239.2 239.9 3 240.8 239.2 240.4 4 240.8 239.2 240.3 5 240.8 239.2 239.8 DG4 ``` **Test Results** | Step Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---| | 1 | Get DER Group Forecasts | http://xx.xxx.xxx.xxx/ | get | DERGroupForecasts | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupForecasts | ### DERGF-1d: Client requests forecasts for two DER Groups and Server replies (Two DER Groups in a single message - One succeeds and one fails) In this test case, the Client requests the Server to provide forecasts for two DER Groups as identified by their Names.name identifiers of DG6 and DG7, respectively. DER Group DG6 was created in Test Case DERG-1e and supports the realPowerDispatch and reactivePowerDispatch DERFunctions; however, for this test case, only the forecast for the reactive power is requested. DER Group DG7 was created in Test Case DERG-6 and modified in Test Case DERG-7 but was subsequently deleted in Test Case DERG-9. Consequently, the Server returns a response message indicating a failure of the request for DER Group DG7. Because no error is reported for DER Group DG6, the interpretation of the response message is that the request for DER Group DG6 was successful; accordingly, the forecast for DER Group DG6 is returned in the Payload section of the response message. (See Appendix F for error codes.) Note 1: The parameters for the request query are supplied using XML generated using the DERGroupForecastQueries profile. The XML for this request is placed in the Request section of the Message envelope and not in the Payload section of the Message envelope. Note 2: Not all response messages will contain a Payload; only those for which the query returns one or more DER Group Forecasts will have contents in the Payload section. In response messages that contain a Payload, the Payload must validate against the constrained version of the DERGroupForecasts profile. **Pre-Condition(s):** The DER Group with a Names.name identifier of DG6, as created in Test Case DERG- 1e, is assumed to exist. A DER Group with a Names.name identifier of DG7 is assumed not to exist because it was previously deleted in Test Case DERG-9. **Post-Condition(s):** The response message contains the forecast for DER Group DG6 and an indication of an error for DER Group DG7. #### Step 1 - Request Message ```xml get DEGroupForecasts 2017-06-14T16:43:18-06:00 3972b6f0-ff1e-45ae-b5c5-ca64ee807249 bdb8fadf-73e6-471f-9cdd-dce3f9e254b0 reactivePower constantYValue 2 2017-06-16T12:00:00-06:00 1 h DG6 DG7 ``` #### Step 2 - Response Message ```xml reply DERGroupForecasts 2017-06-14T16:43:41-06:00 a8092269-c748-4ece-ae1f-7de7a276828b bdb8fadf-73e6-471f-9cdd-dce3f9e254b0 FAILED 99.1 FATAL does not exist String 65ed8258-756c-43c8-b571-75c5addc41d3 2017-06-14T16:43:35-06:00 reactivePower k VAr constantYValue 2017-06-16T12:00:00-06:00 2 h 1 115.6 87.7 102.4 2 119.2 89.9 105.1 DG6 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Get DER Group Forecasts | http://xx.xxx.xxx.xxx/ | get | DERGroupForecasts | | | 2 | Mixed Success/Failure | http://xx.xxx.xxx.xxx/ | reply | DERGroupForecasts | | ### DERGF-2: Server informs Client of creation of a DER Group Forecast In this test case, the Server informs the Client that a forecast for DER Group DG8 has been created and the Server provides the new forecast. Such a notification may occur if the Client has not asked for the forecast but instead is being notified of the forecast that was created by the Server. The notification may occur immediately at the time of the forecast or at some short time thereafter. This is an asynchronous notification using an Event Stereotype message. There is no response message. In this test case, DER Group DG8 was previously created in Test Case DERG-6 and modified in Test Case DERG-8. **Pre-Condition(s):** DER Group with a Names.name identifier of DG8, as created in Test Case DERG-6 and modified in Test Case DERG-8, is assumed to exist. **Post-Condition(s):** The new forecast for DER Group DG8 is sent to the Client by the Server. #### Step 1 - Event Message (Notification Message) ```xml created DERGroupForecasts 2017-06-14T17:15:02-06:00 42d206dd-2aa2-4eb3-83b6-ea931ac4f7cd bf4283ad-ca68-4044-9d5f-27ac63d10c30 2017-06-14T17:14:48-06:00 activePower k W constantYValue 2017-06-14T18:00:00-06:00 1 h 1 160.2 153.3 156.7 reactivePower k VAr constantYValue 2017-06-14T18:00:00-06:00 1 h 1 190.1 178.8 183.7 voltage none V constantYValue 2017-06-14T18:00:00-06:00 1 h 1 122.0 118.0 120.2 DG8 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Created DER Group Forecast | http://xx.xxx.xxx.xxx/ | changed | DERGroupForecasts | | ## DER Group Dispatch (Section 12) ### DERGD-1a: Client requests creation of a DER Group Dispatch and Server replies (Success - Single DER Group) In this test case, the Client requests the Server to create a single DER Group Dispatch for the DER Group having a Names.name identifier of DG2. DER Group DG2 was created in Test Case DERG-1c and modified in Test Case DERG-2b. The Server returns a response message indicating success with no errors. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. In addition, as noted, this test case illustrates the successful creation of a single DER Group Dispatch. Subsequent test cases will illustrate attempts to create multiple DER Group Dispatches through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** DER Group DG2, as created in Test Case DERG-1c and modified in Test Case DERG- 2b, is assumed to exist. **Post-Condition(s):** A new DER Group Dispatch is created with the mRID and Names identifiers that were passed in the request message. #### Step 1 - Request Message ```xml create DERGroupDispatches 2017-06-16T16:23:33-06:00 d463ff88-7625-46f7-b8f4-64665b7484b2 5d0a1857-9e68-405a-afbe-9b5f6d3165d3 016cf0c9-4eb6-4e6c-b6d8-d50e5746f54e activePower k W straightLineYValues 2017-06-16T17:00:00-06:00 15 m 1 190.0 2 200.0 3 200.0 4 180.0 5 175.0 DG2 GD-20170616-029 ``` #### Step 2 - Response Message ```xml reply DERGroupDispatches 2017-06-16T16:23:41-06:00 a21fff09-ff62-413c-8ddb-7ed74d231752 5d0a1857-9e68-405a-afbe-9b5f6d3165d3 OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group Dispatch | http://xx.xxx.xxx.xxx/ | create | DERGroupDispatches | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupDispatches | | ### DERGD-1b: Client requests creation of a DER Group Dispatch and Server replies (Failure - Single DER Group) In this test case, the Client requests the Server to create a single DER Group Dispatch for DER Group DG1. DER Group DG1 was created in Test Case DERG-1a and modified in Test Case DERG-2a; however, it was subsequently deleted in Test Case DERG-4. Consequently, the Server returns a response message indicating a failure because DER Group DG1 no longer exists. (See Appendix F for error codes.) The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. In addition, as noted, this test case illustrates a failure of a request to create a single DER Group Dispatch. Subsequent test cases will illustrate attempts to create multiple DER Group Dispatches through a single request message as well as responses indicating various failures as well as successes. **Pre-Condition(s):** DER Group DG1 is assumed not to exist because it was deleted in Test Case DERG-4. Post- Creation of the DER Group Dispatch failed as indicated in the Step 2 response message. Condition(s) #### Step 1 - Request Message ```xml create DERGroupDispatches 2017-06-16T16:54:01-06:00 ca716db7-da13-4b5d-889c-03fb1013d163 41cecb29-73f9-4e48-a907-e33e1848e366 73cc9ce2-4b3c-4ba4-b3a9-8f757a9f7054 activePower k W constantYValue 2017-06-16T17:30:00-06:00 15 m 1 35.5 2 38.6 DG1 ``` #### Step 2 - Response Message ```xml reply DERGroupDispatches 2017-06-16T16:54:18-06:00 996ee749-4e28-4c5c-8cc8-d0cfac2279e3 41cecb29-73f9-4e48-a907-e33e1848e366 FAILED 99.1 FATAL
DERGroup does not exist
DG1
``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group Dispatch | http://xx.xxx.xxx.xxx/ | create | DERGroupDispatches | | | 2 | Failure Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupDispatches | | ### DERGD-1c: Client requests creation of two DER Group Dispatches and Server replies (Success - Two DER Groups in a single message) In this test case, the Client requests the Server to create two DER Group Dispatches: one for DER Group DG3 and one for DER Group DG4. DER Group DG3 was created in Test Case DERG-1c and modified in Test Case DERG-3. DER Group DG4 was created in Test Case DERG-1d. The Server returns a response message indicating success with no errors. **Pre-Condition(s):** DER Group DG3, as created in Test Case DERG-1c and modified in Test Case DERG- 3, is assumed to exist. DER Group DG4, as previously created in Test Case DERG-1d, is assumed to exist. **Post-Condition(s):** Two new DER Group Dispatches are created with the mRID identifiers that were passed in the request message. #### Step 1 - Request Message ```xml create DERGroupDispatches 2017-06-16T17:11:22-06:00 993e3047-5bc4-4d50-b31e-8f5850d99be7 a613a3d1-c880-4f73-a90b-2c7d3f524ba1 cf78aff3-afcf-4304-8e70-72de5ff98801 reactivePower k VAr straightLineYValues 2017-06-16T18:00:00-06:00 1 h 1 415.7 2 439.5 DG3 c646bd5c-9ca1-4d31-8e8e-33aba6ee2ab4 voltage k V constantYValue 2017-06-16T18:00:00-06:00 1 h 2 12.20 2 12.35 DG4 ``` #### Step 2 - Response Message ```xml reply DERGroupDispatches 2017-06-16T17:11:43-06:00 8478ec44-4871-4216-86f2-5fcd84d21cae a613a3d1-c880-4f73-a90b-2c7d3f524ba1 OK 0.0 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group Dispatches http://xx.xxx.xxx.xxx/ | create | DERGroupDispatches | | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupDispatches | | ### DERGD-1d: Client requests creation of two DER Group Dispatches and Server replies (Two DER Group in a single message - One succeeds and one fails) In this test case, the Client requests the Server to create two DER Group Dispatches: one for DER Group DG6 and one for DER Group DG7. DER Group DG6 was created in Test Case DERG-1e. DER Group DG7 was created in Test Case DERG-6 and modified in Test Case DERG-7 but was subsequently deleted in Test Case DERG-9. Consequently, the Server returns a response message indicating that creation of the second DER Group Dispatch failed. Because no error is reported for the first DER Group Dispatch, the interpretation of the response message is that the creation of the first DER Group Dispatch succeeded. (See Appendix F for error codes.) **Pre-Condition(s):** DER Group DG6, as created in Test Case DERG-1e, is assumed to exist. DER Group DG7, as created in Test Case DERG-6 and modified in Test Case DERG-7, is assumed not to exist because it was subsequently deleted in Test Case DERG-9. **Post-Condition(s):** One new DER Group Dispatch (for DER Group DG6) is created with the mRID identifier that was passed in the request message. An error is returned, indicating that creation of the DER Group Dispatch for DER Group DG7 failed. #### Step 1 - Request Message ```xml create DERGroupDispatches 2017-06-16T17:27:18-06:00 352946bb-f19b-4480-abd4-ba56e479b5c3 fa172999-de6d-4264-bbed-1798458e3fda 124d7edb-5e4b-4128-bf09-7647a6244fc1 reactivePower k VAr straightLineYValues 2017-06-16T17:30:00-06:00 10 m 1 332.2 2 355.3 3 361.9 4 351.8 DG6 700c4f22-071a-4f8b-b633-ce867f2ffe4a activePower k W constantYValue 2017-06-16T17:30:00-06:00 30 m 1 14.1 DG7 ``` #### Step 2 - Response Message ```xml reply DERGroupDispatches 2017-06-16T17:27:34-06:00 09c5f99c-0b90-44c4-926e-79372e56cc27 fa172999-de6d-4264-bbed-1798458e3fda FAILED 99.1 FATAL
DERGroup does not exist
DG1
``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group Dispatches | http://xx.xxx.xxx.xxx/ | create | DERGroupDispatches | | | 2 | Mixed Success/Failure | http://xx.xxx.xxx.xxx/ | reply | DERGroupDispatches | | ### DERGD-1e: Client requests creation of a DER Group Dispatch and Server replies (Success - Single DER Group; Responder supplies mRID) In this test case, the Client requests the Server to create a single DER Group Dispatch for DER Group DG8. DER Group DG8 was created in Test Case DERG-6 and modified in Test Case DERG-8. The Server returns a response message indicating success with no errors. The Server (because of an assumed business rule) also assigns an mRID identifier to the DER Group Dispatch; consequently, the response message in Step 2 includes a Payload section that adds the mRID identifier to the Payload of the Step 1 request message. **Pre-Condition(s):** DER Group DG8, as created in Test Case DERG-6 and modified in Test Case DERG-8, is assumed to exist. **Post-Condition(s):** A new DER Group Dispatch is created with the Names identifier that was passed in the request message. The server responds with an indication of success and adds the mRID identifier in the Payload section of the response message. #### Step 1 - Request Message ```xml create DERGroupDispatches 2017-06-16T17:56:28-06:00 d39015d3-0862-4828-b924-aea7b163fed9 c7eada9d-b9c7-43b3-9911-f4edf5643471 activePower k W constantYValue 2017-06-16T18:00:00-06:00 30 m 1 0.9 DG8 DER Dispatch Request 20170616_A543 ``` #### Step 2 - Response Message ```xml reply DERGroupDispatches 2017-06-16T17:56:38-06:00 7d489885-29db-459d-b068-f6b53260a80e c7eada9d-b9c7-43b3-9911-f4edf5643471 OK 0.0 da753558-ab8b-42c7-b0cd-cd0200493810 activePower k W constantYValue 2017-06-16T18:00:00-06:00 30 m 1 0.9 DG8 DER Dispatch Request 20170616_A543 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | Create DER Group Dispatch | http://xx.xxx.xxx.xxx/ | create | DERGroupDispatches | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | DERGroupDispatches | | ## DER Group Connect / Disconnect (Section 13) ### DERGCD-1a: Client Requests Connection of a DER Group and Server Replies (Full Success - Single DER Group) In this test case, the Client uses an EndDeviceControls message to request the Server to connect the DER Group with a Names.name identifier of DG2 to the grid. DER Group DG2 was created in Test Case DERG-1c and modified in Test Case DERG-2b. There are three DER Devices in DER Group DG2. The Server returns a response message indicating success with no errors. This means that the server has accepted and validated the connection request and will attempt to disconnect the DER Devices in the DER Group. The response message does not indicate whether the connection of each DER Device was successful. After the Server has responded with the response message, it attempts to connect each of the DER Devices in the DER Group. For each DER Device in the DER Group, the server then issues an EndDeviceEvents consequential event message. These consequential event messages indicate whether each DER Device was or was not successfully connected. In this test case, all three DER Devices are successfully connected to the grid. Note 1: See Appendix G for the four-digit EndDeviceControlType codes used to request connection or disconnection of DER Groups (technically the DER Devices in a DER Group) to/from the grid. Note 2: See Appendix H for the four-digit EndDeviceEventType codes used to indicate successful or failed connection or disconnection of DER Devices from the grid. Note 3: Even though the consequential event messages are asynchronous, the Header of each EndDeviceEvents consequential event message carries the CorrelationID of the preceding EndDeviceControls message. This provides the mechansim to link the asynchronous consequential EndDeviceEvent with the EndDeviceControl responsible for its creation. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. As noted, this test case illustrates the successful connection of a single DER Group and all its associated DER Devices to the grid. Subsequent test cases will illustrate attempts to connect or disconnect both single and multiple DER Group Dispatches as well as reflect various success and failure indications. Note: This DER Group Connect test case can be altered from a connect to a disconnect by simply changing the EndDeviceControlType codes (see Appendix G) and EndDeviceEventType codes (see Appendix H). **Pre-Condition(s):** DER Group DG2, as created in Test Case DERG-1c and modified in Test Case DERG- 2b, is assumed to exist. **Post-Condition(s):** DER Group DG2 and its three associated DER Devices are connected to the grid. #### Step 1 - Request Message ```xml create EndDeviceControls 2017-06-20T11:24:04-06:00 aab72e66-d8b4-406c-8e18-4df2864cf947 3a913c02-bc54-4a63-b82a-b255ffa0b7da 2b928834-b538-4244-9daf-6db54f700a76 DG2 ``` #### Step 2 - Response Message ```xml reply EndDeviceControls 2017-06-20T11:24:12-06:00 e7bdb90c-17cb-42fe-a559-19022b72a130 3a913c02-bc54-4a63-b82a-b255ffa0b7da OK 0.0 ``` #### Step 3 - Event Message ```xml created EndDeviceEvents 2017-06-20T11:24:31-06:00 ca8fe4d0-00b7-4276-a185-f53e113f5802 3a913c02-bc54-4a63-b82a-b255ffa0b7da 02a4d91f-6727-4005-8f60-b523729afd16 2017-06-20T11:24:28-06:00 46029b51-8d94-4a06-b242-74d4a3fc2390 ``` #### Step 4 - Event Message ```xml created EndDeviceEvents 2017-06-20T11:24:35-06:00 ca8fe4d0-00b7-4276-a185-f53e113f5802 3a913c02-bc54-4a63-b82a-b255ffa0b7da e8839736-4977-4b67-9a0a-e63b7ed9ff3f 2017-06-20T11:24:29-06:00 13a801e1-b45d-4dbe-960f-84f04ef39fcb ``` #### Step 5 - Event Message ```xml created EndDeviceEvents 2017-06-20T11:24:39-06:00 60631d18-3353-49b4-94be-69daf1feb9f9 3a913c02-bc54-4a63-b82a-b255ffa0b7da 15682227-b766-401e-ad90-52045e0901be 2017-06-20T11:24:33-06:00 7a02c3a5-606e-4d0e-adaf-0e1b98757512 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | DER Group Connection Request http://xx.xxx.xxx.xxx/ | Create | EndDeviceControls | | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | Reply | EndDeviceControls | | | 4 | DER Device Connected Event | http://xx.xxx.xxx.xxx/ | Created EndDeviceEvents | | | | 4 | DER Device Connected Event | http://xx.xxx.xxx.xxx/ | Created EndDeviceEvents | | | | 5 | DER Device Connected Event | http://xx.xxx.xxx.xxx/ | created | EndDeviceEvents | | ### DERGCD-1b: Client requests connection of a DER Group and Server replies (Failure - Single DER Group; Request rejected) In this test case, the Client uses an EndDeviceControls message to request the Server to connect the DER Group with a Names.name identifier of DG1 to the grid. DER Group DG1 was created in Test Case DERG-1a and modified in Test Case DERG-2a; however, it was subsequently deleted in Test Case DERG-4. Consequently, the Server returns a response message indicating a failure because DER Group DG1 no longer exists. (See Appendix F for error codes.) Note 1: See Appendix G for the four-digit EndDeviceControlType codes used to request connection or disconnection of DER Groups (technically the DER Devices in a DER Group) to/from the grid. The examples in this and other test cases illustrate the population of an exemplary subset of elements and attributes selected solely for illustrative purposes. Actual messages created by the Client and Server applications may contain any of the elements and attributes permitted by the XSDs found in Appendices B and D. As noted, this test case illustrates a failed attempt to connect a single DER Group because the DER Group no longer exists. Subsequent test cases will illustrate attempts to connect or disconnect both single and multiple DER Group Dispatches as well as reflect various success and failure indications. Note: This DER Group Connect test case can be altered from a connect to a disconnect by simply changing the EndDeviceControlType code (see Appendix G). **Pre-Condition(s):** DER Group DG1 is assumed not to exist because it was deleted in Test Case DERG-4. Post- The request to connect DER Group DG1 to the grid was rejected as indicated in the Step Condition(s) 2 response message. #### Step 1 - Request Message ```xml create EndDeviceControls 2017-06-20T12:40:03-06:00 e80d8963-11db-451f-a757-9e74e34df569 3b56562c-fc74-46ea-9b0b-97fde6055818 52d5d3e4-601b-4030-a9b8-7742bf019c88 DG1 ``` #### Step 2 - Response Message ```xml reply EndDeviceControls 2017-06-20T12:40:08-06:00 01bd72e8-686c-456b-b441-9bb6eca84c1f 3b56562c-fc74-46ea-9b0b-97fde6055818 FAILED 99.1 FATAL DERGroup does not exist DG1 ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | DER Group Connection Request | http://xx.xxx.xxx.xxx/ | create | EndDeviceControls | | | 2 | Failure Response | http://xx.xxx.xxx.xxx/ | reply | EndDeviceControls | | ### DERGCD-1c: Client requests connection of a DER Group and Server replies (Partial failure - Single DER Group; One DER Device fails to connect) In this test case, the Client uses an EndDeviceControls message to request the Server to connect the DER Group with a Names.name identifier of DG4 to the grid. DER Group DG2 was created in Test Case DERG-1d. There are two DER Devices in DER Group DG4. The Server returns a response message indicating success with no errors. This means that the server has accepted and validated the connection request and will attempt to disconnect the DER Devices in the DER Group. The response message does not indicate whether the connection of each DER Device was successful. After the Server has responded with the response message, it attempts to connect each of the DER Devices in the DER Group. For each DER Device in the DER Group, the server then issues an EndDeviceEvents consequential event message. These consequential event messages indicate whether each DER Device was or was not successfully connected. In this test case, all three DER Devices are successfully connected to the grid. Note 1: See Appendix G for the four-digit EndDeviceControlType codes used to request connection or disconnection of DER Groups (technically the DER Devices in a DER Group) to/from the grid. Note 2: See Appendix H for the four-digit EndDeviceEventType codes used to indicate successful or failed connection or disconnection of DER Devices from the grid. Note 3: Even though the consequential event messages are asynchronous, the Header of each EndDeviceEvents consequential event message carries the CorrelationID of the preceding EndDeviceControls message. This provides the mechansim to link the asynchronous consequential EndDeviceEvent with the EndDeviceControl responsible for its creation. Note: This DER Group Connect test case can be altered from a connect to a disconnect by simply changing the EndDeviceControlType codes (see Appendix G) and EndDeviceEventType codes (see Appendix H). **Pre-Condition(s):** DER Group DG4, as previously created in Test Case DERG-1d, is assumed to exist. **Post-Condition(s):** One of the DER Devices in DER Group DG4 is connected to the grid. The other DER Device in DER Group DG4 fails to connect to the grid. #### Step 1 - Request Message ```xml create EndDeviceControls 2017-06-20T13:05:16-06:00 a9b30165-5af4-44e7-a949-5d7a1be3c6ca 381a99a9-86c3-4b09-9603-2ef0eb5ad584 2617cc93-b5da-4803-8974-5bd3dadd70db DG4 ``` #### Step 2 - Response Message ```xml reply EndDeviceControls 2017-06-20T13:05:19-06:00 29cd8d52-abd9-4cc5-8ceb-06b26c7b0f40 381a99a9-86c3-4b09-9603-2ef0eb5ad584 OK 0.0 ``` #### Step 3 - Event Message ```xml created EndDeviceEvents 2017-06-20T13:05:33-06:00 fe0470e3-0219-439e-a940-d28ece37f476 381a99a9-86c3-4b09-9603-2ef0eb5ad584 23bac639-0b13-4830-8f0b-4fa39e05d58c 2017-06-20T13:05:29-06:00 6de3d770-6087-45bc-a5c8-6fca25f5a318 ``` #### Step 4 - Event Message ```xml created EndDeviceEvents 2017-06-20T13:05:45-06:00 8c01b434-a0e1-424e-88d0-83aa99b3e4e5 381a99a9-86c3-4b09-9603-2ef0eb5ad584 b2281827-8aee-4cac-91a5-069e679450b6 2017-06-20T13:05:39-06:00 c378df3a-294c-4743-ad78-65f970231b5b ``` **Test Results** | Step | Function | Endpoint | Verb | Noun | Pass/Fail | |---|---|---|---|---|---| | 1 | DER Group Connection Request | http://xx.xxx.xxx.xxx/ | create | EndDeviceControls | | | 2 | Success Response | http://xx.xxx.xxx.xxx/ | reply | EndDeviceControls | | | 3 | DER Device Connected Event | http://xx.xxx.xxx.xxx/ | created | EndDeviceEvents | | | 4 | DER Device Connection Failed | http://xx.xxx.xxx.xxx/ | created | EndDeviceEvents | | ### DERGCD-1d: Client requests disconnection of two DER Groups and Server replies (Full Success - Two DER Groups in a single message) In this test case, the Client uses an EndDeviceControls message to request the Server to disconnect the DER Groups with Names.name identifiers of DG2 and DG6 from the grid. DER Group DG2 was created in Test Case DERG-1c and modified in Test Case DERG-2b. There are three DER Devices in DER Group DG2. DER Group DG6 was created in Test Case DERG-1e. There is one DER Device in DER Group DG6. The Server returns a response message indicating success with no errors. This means that the server has accepted and validated the disconnection request and will attempt to disconnect the DER Devices in the two DER Groups. The response message does not indicate whether the disconnection of each DER Device was successful. After the Server has responded with the response message, it attempts to disconnect each of the DER Devices in the two DER Groups. For each DER Device, the server then issues an EndDeviceEvents consequential event message. These consequential event messages indicate whether each DER Device was or was not successfully disconnected. In this test case, all four of the DER Devices (three from DER Group DG2 and one from DER Group DG6) are successfully disconnected from the grid. Note 1: See Appendix G for the four-digit EndDeviceControlType codes used to request connection or disconnection of DER Groups (technically the DER Devices in a DER Group) to/from the grid. Note 2: See Appendix H for the four-digit EndDeviceEventType codes used to indicate successful or failed connection or disconnection of DER Devices from the grid. Note 3: Even though the consequential event messages are asynchronous, the Header of each EndDeviceEvents consequential event message carries the CorrelationID of the preceding EndDeviceControls message. This provides the mechansim to link the asynchronous consequential EndDeviceEvent with the EndDeviceControl responsible for its creation. Note: This DER Group Connect test case can be altered from a connect to a disconnect by simply changing the EndDeviceControlType codes (see Appendix G) and EndDeviceEventType codes (see Appendix H). **Pre-Condition(s):** DER Group DG2, as created in Test Case DERG-1c and modified in Test Case DERG- 2b, is assumed to exist. DER Group DG6, as created in Test Case DERG-1e, is assumed to exist. **Post-Condition(s):** DER Group DG2 and its three associated DER Devices are disconnected from the grid. DER Group DG6 and its single associated DER Device are disconnected from the grid. #### Step 1 - Request Message ```xml create EndDeviceControls 2017-06-20T14:16:22-06:00 8826b860-8165-4013-8b51-ce89b5a5dfaf 76f191ae-478c-4f73-b4c0-e654eeeb4be8 b9c5767a-5536-44db-84db-fa73eadc2050 DG6 DG2 ``` #### Step 2 - Response Message ```xml reply EndDeviceControls 2017-06-20T14:16:35-06:00 c968e839-2744-4143-8208-4302472ed92d 76f191ae-478c-4f73-b4c0-e654eeeb4be8 OK 0.0 ``` #### Step 3 - Event Message ```xml created EndDeviceEvents 2017-06-20T14:16:45-06:00 16788885-da56-4c7d-ae95-49427afe1182 76f191ae-478c-4f73-b4c0-e654eeeb4be8 c9116fec-1f33-44ed-a24c-cfebb0b3f986 2017-06-20T14:16:28-06:00 46029b51-8d94-4a06-b242-74d4a3fc2390 ``` #### Step 4 - Event Message ```xml created EndDeviceEvents 2017-06-20T14:16:47-06:00 e1bf0fda-8140-4133-8dc5-260ba9e1c209 76f191ae-478c-4f73-b4c0-e654eeeb4be8 0f4cad64-e8e4-44cd-b4fe-62f77c9cac37 2017-06-20T14:16:29-06:00 13a801e1-b45d-4dbe-960f-84f04ef39fcb ``` #### Step 5 - Event Message ```xml created EndDeviceEvents 2017-06-20T14:16:48-06:00 1da41a9b-db16-469a-96ed-75ea9c02e6b3 76f191ae-478c-4f73-b4c0-e654eeeb4be8 f7e5a1e7-5f4f-466a-ac4c-02dde49737f9 2017-06-20T14:16:33-06:00 7a02c3a5-606e-4d0e-adaf-0e1b98757512 ``` #### Step 6 - Event Message ```xml created EndDeviceEvents 2017-06-20T14:16:51-06:00 472b1af2-2b65-44a3-91ff-eaaacb72ab00 76f191ae-478c-4f73-b4c0-e654eeeb4be8 ae128c57-d010-42f0-a556-71401f7e557d 2017-06-20T14:16:33-06:00 e8a2f05b-aca9-46dc-971b-be22fcedc00b ```