# 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
```