cactus-test-definitions 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cactus-test-definitions might be problematic. Click here for more details.

Files changed (135) hide show
  1. cactus_test_definitions/__init__.py +39 -0
  2. cactus_test_definitions/__pycache__/__init__.cpython-312.pyc +0 -0
  3. cactus_test_definitions/__pycache__/actions.cpython-312.pyc +0 -0
  4. cactus_test_definitions/__pycache__/checks.cpython-312.pyc +0 -0
  5. cactus_test_definitions/__pycache__/csipaus.cpython-312.pyc +0 -0
  6. cactus_test_definitions/__pycache__/errors.cpython-312.pyc +0 -0
  7. cactus_test_definitions/__pycache__/events.cpython-312.pyc +0 -0
  8. cactus_test_definitions/__pycache__/parameters.cpython-312.pyc +0 -0
  9. cactus_test_definitions/__pycache__/schema.cpython-312.pyc +0 -0
  10. cactus_test_definitions/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  11. cactus_test_definitions/__pycache__/test_procedures.cpython-312.pyc +0 -0
  12. cactus_test_definitions/__pycache__/variable_expressions.cpython-312.pyc +0 -0
  13. cactus_test_definitions/__pycache__/version.cpython-312.pyc +0 -0
  14. cactus_test_definitions/client/__init__.py +26 -0
  15. cactus_test_definitions/client/__pycache__/__init__.cpython-312.pyc +0 -0
  16. cactus_test_definitions/client/__pycache__/actions.cpython-312.pyc +0 -0
  17. cactus_test_definitions/client/__pycache__/checks.cpython-312.pyc +0 -0
  18. cactus_test_definitions/client/__pycache__/events.cpython-312.pyc +0 -0
  19. cactus_test_definitions/client/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  20. cactus_test_definitions/client/actions.py +98 -0
  21. cactus_test_definitions/client/checks.py +117 -0
  22. cactus_test_definitions/client/events.py +71 -0
  23. cactus_test_definitions/client/procedures/ALL-01.yaml +94 -0
  24. cactus_test_definitions/client/procedures/ALL-02.yaml +108 -0
  25. cactus_test_definitions/client/procedures/ALL-03-REJ.yaml +69 -0
  26. cactus_test_definitions/client/procedures/ALL-03.yaml +110 -0
  27. cactus_test_definitions/client/procedures/ALL-04.yaml +69 -0
  28. cactus_test_definitions/client/procedures/ALL-05.yaml +117 -0
  29. cactus_test_definitions/client/procedures/ALL-06.yaml +128 -0
  30. cactus_test_definitions/client/procedures/ALL-07.yaml +76 -0
  31. cactus_test_definitions/client/procedures/ALL-08.yaml +78 -0
  32. cactus_test_definitions/client/procedures/ALL-09.yaml +103 -0
  33. cactus_test_definitions/client/procedures/ALL-10.yaml +128 -0
  34. cactus_test_definitions/client/procedures/ALL-11.yaml +111 -0
  35. cactus_test_definitions/client/procedures/ALL-12.yaml +108 -0
  36. cactus_test_definitions/client/procedures/ALL-13.yaml +112 -0
  37. cactus_test_definitions/client/procedures/ALL-14.yaml +165 -0
  38. cactus_test_definitions/client/procedures/ALL-15.yaml +109 -0
  39. cactus_test_definitions/client/procedures/ALL-16.yaml +102 -0
  40. cactus_test_definitions/client/procedures/ALL-17.yaml +63 -0
  41. cactus_test_definitions/client/procedures/ALL-18.yaml +288 -0
  42. cactus_test_definitions/client/procedures/ALL-19.yaml +78 -0
  43. cactus_test_definitions/client/procedures/ALL-20.yaml +136 -0
  44. cactus_test_definitions/client/procedures/ALL-21.yaml +203 -0
  45. cactus_test_definitions/client/procedures/ALL-22.yaml +82 -0
  46. cactus_test_definitions/client/procedures/ALL-23.yaml +158 -0
  47. cactus_test_definitions/client/procedures/ALL-24.yaml +132 -0
  48. cactus_test_definitions/client/procedures/ALL-25.yaml +136 -0
  49. cactus_test_definitions/client/procedures/ALL-26.yaml +147 -0
  50. cactus_test_definitions/client/procedures/ALL-27.yaml +144 -0
  51. cactus_test_definitions/client/procedures/ALL-28.yaml +274 -0
  52. cactus_test_definitions/client/procedures/ALL-29.yaml +87 -0
  53. cactus_test_definitions/client/procedures/ALL-30.yaml +188 -0
  54. cactus_test_definitions/client/procedures/BES-01.yaml +136 -0
  55. cactus_test_definitions/client/procedures/BES-02.yaml +137 -0
  56. cactus_test_definitions/client/procedures/BES-03.yaml +135 -0
  57. cactus_test_definitions/client/procedures/BES-04.yaml +228 -0
  58. cactus_test_definitions/client/procedures/DRA-01.yaml +54 -0
  59. cactus_test_definitions/client/procedures/DRA-02.yaml +64 -0
  60. cactus_test_definitions/client/procedures/DRD-01.yaml +667 -0
  61. cactus_test_definitions/client/procedures/DRL-01.yaml +327 -0
  62. cactus_test_definitions/client/procedures/GEN-01.yaml +73 -0
  63. cactus_test_definitions/client/procedures/GEN-02.yaml +72 -0
  64. cactus_test_definitions/client/procedures/GEN-03.yaml +160 -0
  65. cactus_test_definitions/client/procedures/GEN-04.yaml +161 -0
  66. cactus_test_definitions/client/procedures/GEN-05.yaml +89 -0
  67. cactus_test_definitions/client/procedures/GEN-06.yaml +90 -0
  68. cactus_test_definitions/client/procedures/GEN-07.yaml +145 -0
  69. cactus_test_definitions/client/procedures/GEN-08.yaml +145 -0
  70. cactus_test_definitions/client/procedures/GEN-09.yaml +117 -0
  71. cactus_test_definitions/client/procedures/GEN-10.yaml +737 -0
  72. cactus_test_definitions/client/procedures/GEN-11.yaml +376 -0
  73. cactus_test_definitions/client/procedures/GEN-12.yaml +376 -0
  74. cactus_test_definitions/client/procedures/GEN-13.yaml +70 -0
  75. cactus_test_definitions/client/procedures/LOA-01.yaml +73 -0
  76. cactus_test_definitions/client/procedures/LOA-02.yaml +73 -0
  77. cactus_test_definitions/client/procedures/LOA-03.yaml +160 -0
  78. cactus_test_definitions/client/procedures/LOA-04.yaml +161 -0
  79. cactus_test_definitions/client/procedures/LOA-05.yaml +85 -0
  80. cactus_test_definitions/client/procedures/LOA-06.yaml +85 -0
  81. cactus_test_definitions/client/procedures/LOA-07.yaml +145 -0
  82. cactus_test_definitions/client/procedures/LOA-08.yaml +145 -0
  83. cactus_test_definitions/client/procedures/LOA-09.yaml +117 -0
  84. cactus_test_definitions/client/procedures/LOA-10.yaml +739 -0
  85. cactus_test_definitions/client/procedures/LOA-11.yaml +376 -0
  86. cactus_test_definitions/client/procedures/LOA-12.yaml +376 -0
  87. cactus_test_definitions/client/procedures/LOA-13.yaml +71 -0
  88. cactus_test_definitions/client/procedures/MUL-01.yaml +92 -0
  89. cactus_test_definitions/client/procedures/MUL-02.yaml +80 -0
  90. cactus_test_definitions/client/procedures/MUL-03.yaml +78 -0
  91. cactus_test_definitions/client/procedures/OPT-1-IN-BAND.yaml +115 -0
  92. cactus_test_definitions/client/procedures/OPT-1-OUT-OF-BAND.yaml +101 -0
  93. cactus_test_definitions/client/procedures/test-procedures.yaml +75 -0
  94. cactus_test_definitions/client/test_procedures.py +296 -0
  95. cactus_test_definitions/csipaus.py +81 -0
  96. cactus_test_definitions/errors.py +15 -0
  97. cactus_test_definitions/parameters.py +149 -0
  98. cactus_test_definitions/py.typed +0 -0
  99. cactus_test_definitions/schema.py +22 -0
  100. cactus_test_definitions/server/README.md +170 -0
  101. cactus_test_definitions/server/__pycache__/actions.cpython-312.pyc +0 -0
  102. cactus_test_definitions/server/__pycache__/checks.cpython-312.pyc +0 -0
  103. cactus_test_definitions/server/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  104. cactus_test_definitions/server/actions.py +139 -0
  105. cactus_test_definitions/server/checks.py +117 -0
  106. cactus_test_definitions/server/procedures/S-ALL-01.yaml +42 -0
  107. cactus_test_definitions/server/procedures/S-ALL-02.yaml +65 -0
  108. cactus_test_definitions/server/procedures/S-ALL-03.yaml +65 -0
  109. cactus_test_definitions/server/procedures/S-ALL-04.yaml +137 -0
  110. cactus_test_definitions/server/procedures/S-ALL-05.yaml +111 -0
  111. cactus_test_definitions/server/procedures/S-OPT-01.yaml +42 -0
  112. cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
  113. cactus_test_definitions/server/procedures/S-OPT-03.yaml +44 -0
  114. cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
  115. cactus_test_definitions/server/procedures/test-procedures.yaml +14 -0
  116. cactus_test_definitions/server/test_procedures.py +183 -0
  117. cactus_test_definitions/variable_expressions.py +419 -0
  118. cactus_test_definitions-1.0.0.dist-info/METADATA +288 -0
  119. cactus_test_definitions-1.0.0.dist-info/RECORD +135 -0
  120. cactus_test_definitions-1.0.0.dist-info/WHEEL +5 -0
  121. cactus_test_definitions-1.0.0.dist-info/licenses/LICENSE.txt +22 -0
  122. cactus_test_definitions-1.0.0.dist-info/top_level.txt +2 -0
  123. tests/__init__.py +0 -0
  124. tests/unit/__init__.py +0 -0
  125. tests/unit/client/__init__.py +0 -0
  126. tests/unit/client/test_actions.py +72 -0
  127. tests/unit/client/test_checks.py +47 -0
  128. tests/unit/client/test_config.py +61 -0
  129. tests/unit/client/test_events.py +36 -0
  130. tests/unit/client/test_test_procedures.py +150 -0
  131. tests/unit/server/__init__.py +0 -0
  132. tests/unit/server/test_test_procedures.py +86 -0
  133. tests/unit/test_csipaus.py +49 -0
  134. tests/unit/test_parameters.py +197 -0
  135. tests/unit/test_variable_expressions.py +402 -0
@@ -0,0 +1,376 @@
1
+ Description: Variable Load Limit
2
+ Category: DER
3
+ Classes:
4
+ - DER-L
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+
15
+ Preconditions:
16
+ init_actions:
17
+ - type: set-comms-rate
18
+ parameters:
19
+ dcap_poll_seconds: 60
20
+ edev_list_poll_seconds: 60
21
+ fsa_list_poll_seconds: 60
22
+ der_list_poll_seconds: 60
23
+ derp_list_poll_seconds: 60
24
+ mup_post_seconds: 60
25
+ - type: create-der-program
26
+ parameters:
27
+ primacy: 0
28
+
29
+ checks:
30
+ - type: end-device-contents
31
+ parameters: {}
32
+
33
+ Steps:
34
+
35
+ # (precondition) - Create a DERControl - set to 200% of max
36
+ GET-DERC-1:
37
+ event:
38
+ type: GET-request-received
39
+ parameters:
40
+ endpoint: /edev/1/derp/1/derc
41
+ actions:
42
+ - type: create-der-control
43
+ parameters:
44
+ start: $(now)
45
+ duration_seconds: 60
46
+ opModLoadLimW: $(setMaxW * 2)
47
+ - type: enable-steps
48
+ parameters:
49
+ steps:
50
+ - GET-DERC-2
51
+ - type: remove-steps
52
+ parameters:
53
+ steps:
54
+ - GET-DERC-1
55
+
56
+ # (a,b) - Create a DERControl - set to 100% of max
57
+ GET-DERC-2:
58
+ event:
59
+ type: GET-request-received
60
+ parameters:
61
+ endpoint: /edev/1/derp/1/derc
62
+ actions:
63
+ - type: create-der-control
64
+ parameters:
65
+ start: $(now)
66
+ duration_seconds: 60
67
+ opModLoadLimW: $(setMaxW)
68
+ - type: enable-steps
69
+ parameters:
70
+ steps:
71
+ - POST-DERC-2-RESPONSE-RECEIVED
72
+ - POST-DERC-2-RESPONSE-STARTED
73
+ - POST-DERC-2-RESPONSE-COMPLETE
74
+ - type: remove-steps
75
+ parameters:
76
+ steps:
77
+ - GET-DERC-2
78
+
79
+ # (b) Wait for "received" response from DERC-2
80
+ POST-DERC-2-RESPONSE-RECEIVED:
81
+ event:
82
+ type: POST-request-received
83
+ parameters:
84
+ endpoint: /edev/1/rsps/site_control/rsp
85
+ serve_request_first: true
86
+ checks:
87
+ - type: response-contents
88
+ parameters:
89
+ latest: true
90
+ status: 1
91
+ actions:
92
+ - type: remove-steps
93
+ parameters:
94
+ steps:
95
+ - POST-DERC-2-RESPONSE-RECEIVED
96
+
97
+ # (b) Wait for "Started" response from DERC-2
98
+ POST-DERC-2-RESPONSE-STARTED:
99
+ event:
100
+ type: POST-request-received
101
+ parameters:
102
+ endpoint: /edev/1/rsps/site_control/rsp
103
+ serve_request_first: true
104
+ checks:
105
+ - type: response-contents
106
+ parameters:
107
+ latest: true
108
+ status: 2
109
+ actions:
110
+ - type: remove-steps
111
+ parameters:
112
+ steps:
113
+ - POST-DERC-2-RESPONSE-STARTED
114
+
115
+ # (b) Wait for "complete" response from DERC-2 - this will trigger the injection of the next control
116
+ POST-DERC-2-RESPONSE-COMPLETE:
117
+ event:
118
+ type: POST-request-received
119
+ parameters:
120
+ endpoint: /edev/1/rsps/site_control/rsp
121
+ serve_request_first: true
122
+ checks:
123
+ - type: response-contents
124
+ parameters:
125
+ latest: true
126
+ status: 3
127
+ actions:
128
+ - type: enable-steps
129
+ parameters:
130
+ steps:
131
+ - GET-DERC-3
132
+ - type: remove-steps
133
+ parameters:
134
+ steps:
135
+ - POST-DERC-2-RESPONSE-COMPLETE
136
+
137
+ # (c,d) - Create a DERControl - set to 40% of max
138
+ GET-DERC-3:
139
+ event:
140
+ type: GET-request-received
141
+ parameters:
142
+ endpoint: /edev/1/derp/1/derc
143
+ actions:
144
+ - type: create-der-control
145
+ parameters:
146
+ start: $(now)
147
+ duration_seconds: 60
148
+ opModLoadLimW: $(setMaxW * 0.4)
149
+ - type: enable-steps
150
+ parameters:
151
+ steps:
152
+ - POST-DERC-3-RESPONSE-RECEIVED
153
+ - POST-DERC-3-RESPONSE-STARTED
154
+ - POST-DERC-3-RESPONSE-COMPLETE
155
+ - type: remove-steps
156
+ parameters:
157
+ steps:
158
+ - GET-DERC-3
159
+
160
+ # (b) Wait for "received" response from DERC-3
161
+ POST-DERC-3-RESPONSE-RECEIVED:
162
+ event:
163
+ type: POST-request-received
164
+ parameters:
165
+ endpoint: /edev/1/rsps/site_control/rsp
166
+ serve_request_first: true
167
+ checks:
168
+ - type: response-contents
169
+ parameters:
170
+ latest: true
171
+ status: 1
172
+ actions:
173
+ - type: remove-steps
174
+ parameters:
175
+ steps:
176
+ - POST-DERC-3-RESPONSE-RECEIVED
177
+
178
+ # (b) Wait for "Started" response from DERC-3
179
+ POST-DERC-3-RESPONSE-STARTED:
180
+ event:
181
+ type: POST-request-received
182
+ parameters:
183
+ endpoint: /edev/1/rsps/site_control/rsp
184
+ serve_request_first: true
185
+ checks:
186
+ - type: response-contents
187
+ parameters:
188
+ latest: true
189
+ status: 2
190
+ actions:
191
+ - type: remove-steps
192
+ parameters:
193
+ steps:
194
+ - POST-DERC-3-RESPONSE-STARTED
195
+
196
+ # (b) Wait for "complete" response from DERC-3
197
+ POST-DERC-3-RESPONSE-COMPLETE:
198
+ event:
199
+ type: POST-request-received
200
+ parameters:
201
+ endpoint: /edev/1/rsps/site_control/rsp
202
+ serve_request_first: true
203
+ checks:
204
+ - type: response-contents
205
+ parameters:
206
+ latest: true
207
+ status: 3
208
+ actions:
209
+ - type: enable-steps
210
+ parameters:
211
+ steps:
212
+ - GET-DERC-4
213
+ - type: remove-steps
214
+ parameters:
215
+ steps:
216
+ - POST-DERC-3-RESPONSE-COMPLETE
217
+
218
+ # (e, f) - Create a DERControl - set to 25% of max
219
+ GET-DERC-4:
220
+ event:
221
+ type: GET-request-received
222
+ parameters:
223
+ endpoint: /edev/1/derp/1/derc
224
+ actions:
225
+ - type: create-der-control
226
+ parameters:
227
+ start: $(now)
228
+ duration_seconds: 60
229
+ opModLoadLimW: $(setMaxW * 0.25)
230
+ - type: enable-steps
231
+ parameters:
232
+ steps:
233
+ - POST-DERC-4-RESPONSE-RECEIVED
234
+ - POST-DERC-4-RESPONSE-STARTED
235
+ - POST-DERC-4-RESPONSE-COMPLETE
236
+ - type: remove-steps
237
+ parameters:
238
+ steps:
239
+ - GET-DERC-4
240
+
241
+ # (f) Wait for "received" response from DERC-4
242
+ POST-DERC-4-RESPONSE-RECEIVED:
243
+ event:
244
+ type: POST-request-received
245
+ parameters:
246
+ endpoint: /edev/1/rsps/site_control/rsp
247
+ serve_request_first: true
248
+ checks:
249
+ - type: response-contents
250
+ parameters:
251
+ latest: true
252
+ status: 1
253
+ actions:
254
+ - type: remove-steps
255
+ parameters:
256
+ steps:
257
+ - POST-DERC-4-RESPONSE-RECEIVED
258
+
259
+ # (f) Wait for "Started" response from DERC-4
260
+ POST-DERC-4-RESPONSE-STARTED:
261
+ event:
262
+ type: POST-request-received
263
+ parameters:
264
+ endpoint: /edev/1/rsps/site_control/rsp
265
+ serve_request_first: true
266
+ checks:
267
+ - type: response-contents
268
+ parameters:
269
+ latest: true
270
+ status: 2
271
+ actions:
272
+ - type: remove-steps
273
+ parameters:
274
+ steps:
275
+ - POST-DERC-4-RESPONSE-STARTED
276
+
277
+ # (f) Wait for "complete" response from DERC-4
278
+ POST-DERC-4-RESPONSE-COMPLETE:
279
+ event:
280
+ type: POST-request-received
281
+ parameters:
282
+ endpoint: /edev/1/rsps/site_control/rsp
283
+ serve_request_first: true
284
+ checks:
285
+ - type: response-contents
286
+ parameters:
287
+ latest: true
288
+ status: 3
289
+ actions:
290
+ - type: enable-steps
291
+ parameters:
292
+ steps:
293
+ - GET-DERC-5
294
+ - type: remove-steps
295
+ parameters:
296
+ steps:
297
+ - POST-DERC-4-RESPONSE-COMPLETE
298
+
299
+ # (g, h) - Create a DERControl - set to 0% of max
300
+ GET-DERC-5:
301
+ event:
302
+ type: GET-request-received
303
+ parameters:
304
+ endpoint: /edev/1/derp/1/derc
305
+ actions:
306
+ - type: create-der-control
307
+ parameters:
308
+ start: $(now)
309
+ duration_seconds: 60
310
+ opModLoadLimW: 0
311
+ - type: enable-steps
312
+ parameters:
313
+ steps:
314
+ - POST-DERC-5-RESPONSE-RECEIVED
315
+ - POST-DERC-5-RESPONSE-STARTED
316
+ - POST-DERC-5-RESPONSE-COMPLETE
317
+ - type: remove-steps
318
+ parameters:
319
+ steps:
320
+ - GET-DERC-5
321
+
322
+ # (h) Wait for "received" response from DERC-5
323
+ POST-DERC-5-RESPONSE-RECEIVED:
324
+ event:
325
+ type: POST-request-received
326
+ parameters:
327
+ endpoint: /edev/1/rsps/site_control/rsp
328
+ serve_request_first: true
329
+ checks:
330
+ - type: response-contents
331
+ parameters:
332
+ latest: true
333
+ status: 1
334
+ actions:
335
+ - type: remove-steps
336
+ parameters:
337
+ steps:
338
+ - POST-DERC-5-RESPONSE-RECEIVED
339
+
340
+ # (h) Wait for "Started" response from DERC-5
341
+ POST-DERC-5-RESPONSE-STARTED:
342
+ event:
343
+ type: POST-request-received
344
+ parameters:
345
+ endpoint: /edev/1/rsps/site_control/rsp
346
+ serve_request_first: true
347
+ checks:
348
+ - type: response-contents
349
+ parameters:
350
+ latest: true
351
+ status: 2
352
+ actions:
353
+ - type: remove-steps
354
+ parameters:
355
+ steps:
356
+ - POST-DERC-5-RESPONSE-STARTED
357
+
358
+ # (f) Wait for "complete" response from DERC-5
359
+ POST-DERC-5-RESPONSE-COMPLETE:
360
+ event:
361
+ type: POST-request-received
362
+ parameters:
363
+ endpoint: /edev/1/rsps/site_control/rsp
364
+ serve_request_first: true
365
+ checks:
366
+ - type: response-contents
367
+ parameters:
368
+ latest: true
369
+ status: 3
370
+ actions:
371
+ - type: remove-steps
372
+ parameters:
373
+ steps:
374
+ - POST-DERC-5-RESPONSE-COMPLETE
375
+ - type: finish-test
376
+ parameters: {}
@@ -0,0 +1,71 @@
1
+ Description: Tracking import-limit through variable load
2
+ Category: DER
3
+ Classes:
4
+ - DER-L
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+
15
+ Preconditions:
16
+ init_actions:
17
+ - type: set-comms-rate
18
+ parameters:
19
+ dcap_poll_seconds: 60
20
+ edev_list_poll_seconds: 60
21
+ fsa_list_poll_seconds: 60
22
+ der_list_poll_seconds: 60
23
+ derp_list_poll_seconds: 60
24
+ mup_post_seconds: 60
25
+
26
+ checks:
27
+ - type: end-device-contents
28
+ parameters: {}
29
+ - type: der-settings-contents
30
+ parameters: {}
31
+ actions:
32
+ - type: create-der-control
33
+ parameters:
34
+ start: $(now)
35
+ duration_seconds: 60
36
+ opModImpLimW: $(setMaxW * 2)
37
+ - type: create-der-control
38
+ parameters:
39
+ start: $(now + '1 minute')
40
+ duration_seconds: 420
41
+ opModImpLimW: $(setMaxW * 0.2)
42
+ instructions:
43
+ - Connect a test load electrically in parallel with the DER.
44
+ - Set the load to consume 0W.
45
+
46
+ Steps:
47
+
48
+ # This test is purely following a sequence of DERControls. It's expected that the following events occurs out of band:
49
+ # at t=0 - Test load is consuming 0W
50
+ # at t=120s - Test load is consuming 20% of setMaxW
51
+ # at t=240s - Test load is consuming 10% of setMaxW
52
+ # at t=360s - Test load is consuming 0W
53
+ #
54
+ # Validation MUST be performed by power meter to ensure that the DER is adjusting its power in response to changing
55
+ # loads
56
+ WAIT-TEST-END:
57
+ instructions:
58
+ - At t=120s, set the load to consume 20% of the DER's rated active power.
59
+ - At t=240s, set the load to consume 10% of the DER's rated active power.
60
+ - At t=360s, set the load to consume 0W.
61
+ event:
62
+ type: wait
63
+ parameters:
64
+ duration_seconds: 500
65
+ actions:
66
+ - type: remove-steps
67
+ parameters:
68
+ steps:
69
+ - WAIT-TEST-END
70
+ - type: finish-test
71
+ parameters: {}
@@ -0,0 +1,92 @@
1
+ Description: Returning DERStatus Values for Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+
15
+
16
+ Preconditions:
17
+ init_actions:
18
+ - type: set-comms-rate
19
+ parameters:
20
+ dcap_poll_seconds: 60
21
+ edev_list_poll_seconds: 60
22
+ fsa_list_poll_seconds: 60
23
+ der_list_poll_seconds: 60
24
+ derp_list_poll_seconds: 60
25
+ mup_post_seconds: 60
26
+ checks:
27
+ - type: end-device-contents
28
+ parameters: {}
29
+ - type: der-settings-contents
30
+ parameters: {}
31
+ - type: der-status-contents
32
+ parameters:
33
+ genConnectStatus_bit0: true
34
+ actions:
35
+ - type: create-der-control
36
+ parameters:
37
+ start: $(now)
38
+ duration_seconds: 900
39
+ opModExpLimW: $(setMaxW * 2)
40
+ opModImpLimW: $(setMaxW * 2)
41
+
42
+ Steps:
43
+
44
+ # The client powers off one DER
45
+ PUT-DERSTATUS-FIRST-DISCONNECT:
46
+ instructions:
47
+ - Power off one DER either by a hardware switch on the DER or by disconnection from the grid supply. Priority should be given to DER capable of generation.
48
+ event:
49
+ type: PUT-request-received
50
+ parameters:
51
+ endpoint: /edev/1/der/1/ders
52
+ serve_request_first: true # Run this AFTER server receives the request
53
+ # Only trigger this if the server has an updated DERStatus
54
+ checks:
55
+ - type: der-status-contents
56
+ parameters:
57
+ operationalModeStatus: 2
58
+ genConnectStatus_bit0: true
59
+ genConnectStatus_bit1: true
60
+ genConnectStatus_bit2: true
61
+ actions:
62
+ - type: enable-steps
63
+ parameters:
64
+ steps:
65
+ - PUT-DERSTATUS-FULL-DISCONNECT
66
+ - type: remove-steps
67
+ parameters:
68
+ steps:
69
+ - PUT-DERSTATUS-FIRST-DISCONNECT
70
+
71
+ # The client powers off all remaining DER
72
+ PUT-DERSTATUS-FULL-DISCONNECT:
73
+ instructions:
74
+ - Power off off remaining DER.
75
+ event:
76
+ type: PUT-request-received
77
+ parameters:
78
+ endpoint: /edev/1/der/1/ders
79
+ serve_request_first: true # Run this AFTER server receives the request
80
+ # Only trigger this if the server has an updated DERStatus
81
+ checks:
82
+ - type: der-status-contents
83
+ parameters:
84
+ operationalModeStatus: 1
85
+ genConnectStatus_bit0: false
86
+ genConnectStatus_bit1: false
87
+ genConnectStatus_bit2: false
88
+ actions:
89
+ - type: remove-steps
90
+ parameters:
91
+ steps:
92
+ - PUT-DERSTATUS-FULL-DISCONNECT
@@ -0,0 +1,80 @@
1
+ Description: Reporting Aggregated Telemetry for Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+
15
+ # Test is ~5 minutes of waiting which should leave enough time for at least 3 reading posts
16
+ - type: readings-site-active-power
17
+ parameters: {"minimum_count": 3}
18
+ - type: readings-site-reactive-power
19
+ parameters: {"minimum_count": 3}
20
+ - type: readings-voltage
21
+ parameters: {"minimum_count": 3}
22
+ - type: readings-der-active-power
23
+ parameters: {"minimum_count": 3}
24
+ - type: readings-der-reactive-power
25
+ parameters: {"minimum_count": 3}
26
+
27
+ Preconditions:
28
+ init_actions:
29
+ - type: set-comms-rate
30
+ parameters:
31
+ dcap_poll_seconds: 60
32
+ edev_list_poll_seconds: 60
33
+ fsa_list_poll_seconds: 60
34
+ der_list_poll_seconds: 60
35
+ derp_list_poll_seconds: 60
36
+ mup_post_seconds: 60
37
+
38
+ checks:
39
+ - type: end-device-contents
40
+ parameters: {}
41
+ - type: der-settings-contents
42
+ parameters: {}
43
+ actions:
44
+ - type: set-comms-rate
45
+ parameters:
46
+ der_list_poll_seconds: 60
47
+ mup_post_seconds: 60
48
+ - type: create-der-control
49
+ parameters:
50
+ start: $(now)
51
+ duration_seconds: 120
52
+ opModExpLimW: $(setMaxW * 2)
53
+ opModImpLimW: $(setMaxW * 2)
54
+ - type: create-der-control
55
+ parameters:
56
+ start: $(now + '2 minutes')
57
+ duration_seconds: 120
58
+ opModExpLimW: 0
59
+ opModImpLimW: 0
60
+ instructions:
61
+ - Connect a test load electrically in parallel with the DER.
62
+ - Set the load to consume 10% of the sum total of the DERs' rated active power.
63
+
64
+ Steps:
65
+
66
+ # Wait for the test end - validation of device response will need to be validated out of band
67
+ WAIT-TEST-END:
68
+ event:
69
+ type: wait
70
+ parameters:
71
+ duration_seconds: 300 # Wait for at least 4/5 sets of readings to arrive (with post rate 60 seconds)
72
+ actions:
73
+ - type: remove-steps
74
+ parameters:
75
+ steps:
76
+ - WAIT-TEST-END
77
+ - type: finish-test
78
+ parameters: {}
79
+ instructions:
80
+ - DER should send correct readings, aggregated according TS 5573 2025
@@ -0,0 +1,78 @@
1
+ Description: Validate DERCapability and DERSettings For Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+ - type: der-capability-contents
15
+ parameters: {}
16
+ - type: der-settings-contents
17
+ parameters: {}
18
+ - type: der-status-contents
19
+ parameters: {}
20
+
21
+ Preconditions:
22
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
23
+ init_actions:
24
+ - type: set-comms-rate
25
+ parameters:
26
+ dcap_poll_seconds: 60
27
+ edev_list_poll_seconds: 60
28
+ fsa_list_poll_seconds: 60
29
+ der_list_poll_seconds: 60
30
+ derp_list_poll_seconds: 60
31
+ mup_post_seconds: 60
32
+ - type: create-der-program
33
+ parameters:
34
+ primacy: 0
35
+
36
+ checks:
37
+ - type: end-device-contents
38
+ parameters: {}
39
+
40
+ Steps:
41
+
42
+ # (a, b, c)
43
+ PUT-DERSETTINGS-FIRST:
44
+ event:
45
+ type: PUT-request-received
46
+ parameters:
47
+ endpoint: /edev/1/der/1/derg
48
+ actions:
49
+ - type: set-default-der-control
50
+ parameters:
51
+ setGradW: 100 # Value in hundredths, 100 = 1%
52
+ - type: remove-steps
53
+ parameters:
54
+ steps:
55
+ - PUT-DERSETTINGS-FIRST
56
+ - type: enable-steps
57
+ parameters:
58
+ steps:
59
+ - PUT-DERSETTINGS-UPDATED
60
+
61
+ # (d)
62
+ PUT-DERSETTINGS-UPDATED:
63
+ instructions:
64
+ - Modify the maximum rating of one DER in the device settings.
65
+ event:
66
+ type: PUT-request-received
67
+ parameters:
68
+ endpoint: /edev/1/der/1/derg
69
+ serve_request_first: true
70
+ checks:
71
+ type: der-settings-contents
72
+ parameters:
73
+ setGradW: 100
74
+ actions:
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - PUT-DERSETTINGS-UPDATED