cactus-test-definitions 1.6.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.
- cactus_test_definitions/__init__.py +39 -0
- cactus_test_definitions/__pycache__/__init__.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/csipaus.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/errors.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/events.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/parameters.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/schema.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/__pycache__/test_procedures.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/variable_expressions.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/version.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__init__.py +26 -0
- cactus_test_definitions/client/__pycache__/__init__.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/events.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/client/__pycache__/validate.cpython-312.pyc +0 -0
- cactus_test_definitions/client/actions.py +98 -0
- cactus_test_definitions/client/checks.py +127 -0
- cactus_test_definitions/client/events.py +71 -0
- cactus_test_definitions/client/procedures/ALL-01.yaml +94 -0
- cactus_test_definitions/client/procedures/ALL-02.yaml +113 -0
- cactus_test_definitions/client/procedures/ALL-03-REJ.yaml +69 -0
- cactus_test_definitions/client/procedures/ALL-03.yaml +110 -0
- cactus_test_definitions/client/procedures/ALL-04.yaml +69 -0
- cactus_test_definitions/client/procedures/ALL-05.yaml +117 -0
- cactus_test_definitions/client/procedures/ALL-06.yaml +128 -0
- cactus_test_definitions/client/procedures/ALL-07.yaml +76 -0
- cactus_test_definitions/client/procedures/ALL-08.yaml +78 -0
- cactus_test_definitions/client/procedures/ALL-09.yaml +111 -0
- cactus_test_definitions/client/procedures/ALL-10.yaml +128 -0
- cactus_test_definitions/client/procedures/ALL-11.yaml +111 -0
- cactus_test_definitions/client/procedures/ALL-12.yaml +108 -0
- cactus_test_definitions/client/procedures/ALL-13.yaml +112 -0
- cactus_test_definitions/client/procedures/ALL-14.yaml +165 -0
- cactus_test_definitions/client/procedures/ALL-15.yaml +109 -0
- cactus_test_definitions/client/procedures/ALL-16.yaml +102 -0
- cactus_test_definitions/client/procedures/ALL-17.yaml +63 -0
- cactus_test_definitions/client/procedures/ALL-18.yaml +288 -0
- cactus_test_definitions/client/procedures/ALL-19.yaml +78 -0
- cactus_test_definitions/client/procedures/ALL-20.yaml +136 -0
- cactus_test_definitions/client/procedures/ALL-21.yaml +203 -0
- cactus_test_definitions/client/procedures/ALL-22.yaml +82 -0
- cactus_test_definitions/client/procedures/ALL-23.yaml +158 -0
- cactus_test_definitions/client/procedures/ALL-24.yaml +132 -0
- cactus_test_definitions/client/procedures/ALL-25-EXT.yaml +228 -0
- cactus_test_definitions/client/procedures/ALL-25.yaml +136 -0
- cactus_test_definitions/client/procedures/ALL-26.yaml +147 -0
- cactus_test_definitions/client/procedures/ALL-27.yaml +144 -0
- cactus_test_definitions/client/procedures/ALL-28.yaml +274 -0
- cactus_test_definitions/client/procedures/ALL-29.yaml +87 -0
- cactus_test_definitions/client/procedures/ALL-30.yaml +188 -0
- cactus_test_definitions/client/procedures/BES-01.yaml +136 -0
- cactus_test_definitions/client/procedures/BES-02.yaml +137 -0
- cactus_test_definitions/client/procedures/BES-03.yaml +135 -0
- cactus_test_definitions/client/procedures/BES-04.yaml +228 -0
- cactus_test_definitions/client/procedures/DRA-01.yaml +54 -0
- cactus_test_definitions/client/procedures/DRA-02.yaml +64 -0
- cactus_test_definitions/client/procedures/DRD-01.yaml +667 -0
- cactus_test_definitions/client/procedures/DRL-01.yaml +327 -0
- cactus_test_definitions/client/procedures/GEN-01.yaml +73 -0
- cactus_test_definitions/client/procedures/GEN-02.yaml +72 -0
- cactus_test_definitions/client/procedures/GEN-03.yaml +160 -0
- cactus_test_definitions/client/procedures/GEN-04.yaml +161 -0
- cactus_test_definitions/client/procedures/GEN-05.yaml +89 -0
- cactus_test_definitions/client/procedures/GEN-06.yaml +90 -0
- cactus_test_definitions/client/procedures/GEN-07.yaml +145 -0
- cactus_test_definitions/client/procedures/GEN-08.yaml +145 -0
- cactus_test_definitions/client/procedures/GEN-09.yaml +117 -0
- cactus_test_definitions/client/procedures/GEN-10.yaml +739 -0
- cactus_test_definitions/client/procedures/GEN-11.yaml +378 -0
- cactus_test_definitions/client/procedures/GEN-12.yaml +378 -0
- cactus_test_definitions/client/procedures/GEN-13.yaml +70 -0
- cactus_test_definitions/client/procedures/LOA-01.yaml +73 -0
- cactus_test_definitions/client/procedures/LOA-02.yaml +73 -0
- cactus_test_definitions/client/procedures/LOA-03.yaml +160 -0
- cactus_test_definitions/client/procedures/LOA-04.yaml +161 -0
- cactus_test_definitions/client/procedures/LOA-05.yaml +89 -0
- cactus_test_definitions/client/procedures/LOA-06.yaml +89 -0
- cactus_test_definitions/client/procedures/LOA-07.yaml +145 -0
- cactus_test_definitions/client/procedures/LOA-08.yaml +145 -0
- cactus_test_definitions/client/procedures/LOA-09.yaml +117 -0
- cactus_test_definitions/client/procedures/LOA-10.yaml +741 -0
- cactus_test_definitions/client/procedures/LOA-11.yaml +378 -0
- cactus_test_definitions/client/procedures/LOA-12.yaml +378 -0
- cactus_test_definitions/client/procedures/LOA-13.yaml +71 -0
- cactus_test_definitions/client/procedures/MUL-01.yaml +92 -0
- cactus_test_definitions/client/procedures/MUL-02.yaml +80 -0
- cactus_test_definitions/client/procedures/MUL-03.yaml +74 -0
- cactus_test_definitions/client/test_procedures.py +185 -0
- cactus_test_definitions/client/validate.py +98 -0
- cactus_test_definitions/csipaus.py +81 -0
- cactus_test_definitions/errors.py +15 -0
- cactus_test_definitions/parameters.py +153 -0
- cactus_test_definitions/py.typed +0 -0
- cactus_test_definitions/schema.py +22 -0
- cactus_test_definitions/server/README.md +170 -0
- cactus_test_definitions/server/__init__.py +23 -0
- cactus_test_definitions/server/__pycache__/__init__.cpython-312.pyc +0 -0
- cactus_test_definitions/server/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/server/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/server/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/server/__pycache__/validate.cpython-312.pyc +0 -0
- cactus_test_definitions/server/actions.py +139 -0
- cactus_test_definitions/server/checks.py +117 -0
- cactus_test_definitions/server/procedures/S-ALL-01.yaml +42 -0
- cactus_test_definitions/server/procedures/S-ALL-02.yaml +65 -0
- cactus_test_definitions/server/procedures/S-ALL-03.yaml +65 -0
- cactus_test_definitions/server/procedures/S-ALL-04.yaml +137 -0
- cactus_test_definitions/server/procedures/S-ALL-05.yaml +111 -0
- cactus_test_definitions/server/procedures/S-OPT-01.yaml +42 -0
- cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
- cactus_test_definitions/server/procedures/S-OPT-03.yaml +44 -0
- cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
- cactus_test_definitions/server/test_procedures.py +122 -0
- cactus_test_definitions/server/validate.py +30 -0
- cactus_test_definitions/variable_expressions.py +419 -0
- cactus_test_definitions-1.6.0.dist-info/METADATA +289 -0
- cactus_test_definitions-1.6.0.dist-info/RECORD +139 -0
- cactus_test_definitions-1.6.0.dist-info/WHEEL +5 -0
- cactus_test_definitions-1.6.0.dist-info/licenses/LICENSE.txt +22 -0
- cactus_test_definitions-1.6.0.dist-info/top_level.txt +2 -0
- tests/__init__.py +0 -0
- tests/unit/__init__.py +0 -0
- tests/unit/client/__init__.py +0 -0
- tests/unit/client/test_actions.py +72 -0
- tests/unit/client/test_checks.py +71 -0
- tests/unit/client/test_events.py +36 -0
- tests/unit/client/test_test_procedures.py +103 -0
- tests/unit/client/test_validate.py +153 -0
- tests/unit/server/__init__.py +0 -0
- tests/unit/server/test_test_procedures.py +60 -0
- tests/unit/server/test_validate.py +62 -0
- tests/unit/test_csipaus.py +49 -0
- tests/unit/test_parameters.py +197 -0
- tests/unit/test_variable_expressions.py +402 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Description: Capabilities and Settings
|
|
2
|
+
Category: Monitoring
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
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
|
+
#
|
|
17
|
+
# NOTE - These checks have been loosened from TS:5573 (which requires EVERYTHING) until clarification on
|
|
18
|
+
# about what the MINIMUM subset of values is determined for each class of device
|
|
19
|
+
#
|
|
20
|
+
# rtgMaxChargeRateW: true # Maximum rate of energy transfer received
|
|
21
|
+
# rtgMaxDischargeRateW: true # Maximum rate of energy transfer delivered
|
|
22
|
+
# rtgMaxVA: true # Maximum apparent power
|
|
23
|
+
# rtgMaxVar: true # Maximum reactive power delivered
|
|
24
|
+
# rtgMaxVarNeg: true # Maximum reactive power received
|
|
25
|
+
rtgMaxW: true # Maximum active power
|
|
26
|
+
# rtgMinPFOverExcited: true # Minimum power factor displacement
|
|
27
|
+
# rtgMinPFUnderExcited: true # Minimum power factor displacement
|
|
28
|
+
doeModesSupported: true # CSIP-Aus DOE modes supported
|
|
29
|
+
- type: der-settings-contents
|
|
30
|
+
parameters:
|
|
31
|
+
#
|
|
32
|
+
# NOTE - These checks have been loosened from TS:5573 (which requires EVERYTHING) until clarification on
|
|
33
|
+
# about what the MINIMUM subset of values is determined for each class of device
|
|
34
|
+
#
|
|
35
|
+
# setMaxChargeRateW: true # Maximum rate of energy transfer received
|
|
36
|
+
# setMaxDischargeRateW: true # Maximum rate of energy transfer delivered
|
|
37
|
+
# setMaxVA: true # Maximum apparent power
|
|
38
|
+
# setMaxVar: true # Maximum reactive power delivered
|
|
39
|
+
# setMaxVarNeg: true # Maximum reactive power received
|
|
40
|
+
setMaxW: true # Maximum active power
|
|
41
|
+
# setMinPFOverExcited: true # Minimum power factor displacement
|
|
42
|
+
# setMinPFUnderExcited: true # Minimum power factor displacement
|
|
43
|
+
doeModesEnabled: true # CSIP-Aus DOE modes enabled
|
|
44
|
+
- type: der-status-contents
|
|
45
|
+
parameters: {}
|
|
46
|
+
|
|
47
|
+
Preconditions:
|
|
48
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
49
|
+
init_actions:
|
|
50
|
+
- type: set-comms-rate
|
|
51
|
+
parameters:
|
|
52
|
+
dcap_poll_seconds: 60
|
|
53
|
+
edev_list_poll_seconds: 60
|
|
54
|
+
fsa_list_poll_seconds: 60
|
|
55
|
+
der_list_poll_seconds: 60
|
|
56
|
+
derp_list_poll_seconds: 60
|
|
57
|
+
mup_post_seconds: 60
|
|
58
|
+
|
|
59
|
+
Steps:
|
|
60
|
+
# (a) - This is a proxy that assumes the device has underwent initial registration / discovery
|
|
61
|
+
GET-DER:
|
|
62
|
+
event:
|
|
63
|
+
type: GET-request-received
|
|
64
|
+
parameters:
|
|
65
|
+
endpoint: /edev/1/der
|
|
66
|
+
actions:
|
|
67
|
+
- type: enable-steps
|
|
68
|
+
parameters:
|
|
69
|
+
steps:
|
|
70
|
+
- PUT-DERSTATUS
|
|
71
|
+
- PUT-DERCAPABILITY
|
|
72
|
+
- PUT-DERSETTINGS
|
|
73
|
+
- type: remove-steps
|
|
74
|
+
parameters:
|
|
75
|
+
steps:
|
|
76
|
+
- GET-DER
|
|
77
|
+
# (b)
|
|
78
|
+
PUT-DERSTATUS:
|
|
79
|
+
event:
|
|
80
|
+
type: PUT-request-received
|
|
81
|
+
parameters:
|
|
82
|
+
endpoint: /edev/1/der/1/ders
|
|
83
|
+
actions:
|
|
84
|
+
- type: remove-steps
|
|
85
|
+
parameters:
|
|
86
|
+
steps:
|
|
87
|
+
- PUT-DERSTATUS
|
|
88
|
+
|
|
89
|
+
# (b)
|
|
90
|
+
PUT-DERCAPABILITY:
|
|
91
|
+
event:
|
|
92
|
+
type: PUT-request-received
|
|
93
|
+
parameters:
|
|
94
|
+
endpoint: /edev/1/der/1/dercap
|
|
95
|
+
actions:
|
|
96
|
+
- type: remove-steps
|
|
97
|
+
parameters:
|
|
98
|
+
steps:
|
|
99
|
+
- PUT-DERCAPABILITY
|
|
100
|
+
|
|
101
|
+
# (b)
|
|
102
|
+
PUT-DERSETTINGS:
|
|
103
|
+
event:
|
|
104
|
+
type: PUT-request-received
|
|
105
|
+
parameters:
|
|
106
|
+
endpoint: /edev/1/der/1/derg
|
|
107
|
+
actions:
|
|
108
|
+
- type: remove-steps
|
|
109
|
+
parameters:
|
|
110
|
+
steps:
|
|
111
|
+
- PUT-DERSETTINGS
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
Description: Update telemetry post rates
|
|
2
|
+
Category: Monitoring
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
5
|
+
- DR-A
|
|
6
|
+
|
|
7
|
+
TargetVersions:
|
|
8
|
+
- v1.2
|
|
9
|
+
- v1.3-beta/storage
|
|
10
|
+
|
|
11
|
+
Criteria:
|
|
12
|
+
checks:
|
|
13
|
+
- type: all-steps-complete
|
|
14
|
+
parameters: {}
|
|
15
|
+
# Test is ~11.5 minutes of waiting which should leave enough time for:
|
|
16
|
+
# one post @ 60 seconds (during startup - might not happen if timings line up)
|
|
17
|
+
# two posts @ 300 seconds
|
|
18
|
+
# one post @ 60 seconds (after update)
|
|
19
|
+
- type: readings-site-active-power
|
|
20
|
+
parameters: {"minimum_count": 3}
|
|
21
|
+
- type: readings-site-reactive-power
|
|
22
|
+
parameters: {"minimum_count": 3}
|
|
23
|
+
- type: readings-voltage
|
|
24
|
+
parameters: {"minimum_count": 3}
|
|
25
|
+
- type: readings-der-active-power
|
|
26
|
+
parameters: {"minimum_count": 3}
|
|
27
|
+
- type: readings-der-reactive-power
|
|
28
|
+
parameters: {"minimum_count": 3}
|
|
29
|
+
|
|
30
|
+
Preconditions:
|
|
31
|
+
init_actions:
|
|
32
|
+
- type: set-comms-rate
|
|
33
|
+
parameters:
|
|
34
|
+
dcap_poll_seconds: 60
|
|
35
|
+
edev_list_poll_seconds: 60
|
|
36
|
+
fsa_list_poll_seconds: 60
|
|
37
|
+
der_list_poll_seconds: 60
|
|
38
|
+
derp_list_poll_seconds: 60
|
|
39
|
+
mup_post_seconds: 60
|
|
40
|
+
checks:
|
|
41
|
+
- type: end-device-contents
|
|
42
|
+
parameters: {}
|
|
43
|
+
|
|
44
|
+
Steps:
|
|
45
|
+
|
|
46
|
+
# (a, b)
|
|
47
|
+
GET-MUP-INITIAL:
|
|
48
|
+
event:
|
|
49
|
+
type: GET-request-received
|
|
50
|
+
parameters:
|
|
51
|
+
endpoint: /mup
|
|
52
|
+
actions:
|
|
53
|
+
- type: set-comms-rate
|
|
54
|
+
parameters:
|
|
55
|
+
mup_post_seconds: 300
|
|
56
|
+
- type: enable-steps
|
|
57
|
+
parameters:
|
|
58
|
+
steps:
|
|
59
|
+
- WAIT-TILL-UPDATE
|
|
60
|
+
- type: remove-steps
|
|
61
|
+
parameters:
|
|
62
|
+
steps:
|
|
63
|
+
- GET-MUP-INITIAL
|
|
64
|
+
|
|
65
|
+
# NOTE - (c) will be evaluated via TestCriteria checks
|
|
66
|
+
|
|
67
|
+
# (d, e)
|
|
68
|
+
WAIT-TILL-UPDATE:
|
|
69
|
+
event:
|
|
70
|
+
type: wait
|
|
71
|
+
parameters:
|
|
72
|
+
duration_seconds: 600
|
|
73
|
+
actions:
|
|
74
|
+
- type: enable-steps
|
|
75
|
+
parameters:
|
|
76
|
+
steps:
|
|
77
|
+
- GET-MUP-UPDATED
|
|
78
|
+
- type: remove-steps
|
|
79
|
+
parameters:
|
|
80
|
+
steps:
|
|
81
|
+
- WAIT-TILL-UPDATE
|
|
82
|
+
|
|
83
|
+
# (d, e)
|
|
84
|
+
GET-MUP-UPDATED:
|
|
85
|
+
event:
|
|
86
|
+
type: GET-request-received
|
|
87
|
+
parameters:
|
|
88
|
+
endpoint: /mup
|
|
89
|
+
actions:
|
|
90
|
+
- type: set-comms-rate
|
|
91
|
+
parameters:
|
|
92
|
+
mup_post_seconds: 60
|
|
93
|
+
- type: enable-steps
|
|
94
|
+
parameters:
|
|
95
|
+
steps:
|
|
96
|
+
- POST-MUP-1
|
|
97
|
+
- WAIT-TILL-END
|
|
98
|
+
- type: remove-steps
|
|
99
|
+
parameters:
|
|
100
|
+
steps:
|
|
101
|
+
- GET-MUP-UPDATED
|
|
102
|
+
|
|
103
|
+
# (f) - This is our proxy for making sure that post rate has returned to 60s - it has 90 seconds to be hit after GET-MUP-UPDATED
|
|
104
|
+
POST-MUP-1:
|
|
105
|
+
event:
|
|
106
|
+
type: POST-request-received
|
|
107
|
+
parameters:
|
|
108
|
+
endpoint: /mup/*
|
|
109
|
+
actions:
|
|
110
|
+
- type: remove-steps
|
|
111
|
+
parameters:
|
|
112
|
+
steps:
|
|
113
|
+
- POST-MUP-1
|
|
114
|
+
|
|
115
|
+
# (f)
|
|
116
|
+
WAIT-TILL-END:
|
|
117
|
+
event:
|
|
118
|
+
type: wait
|
|
119
|
+
parameters:
|
|
120
|
+
duration_seconds: 90
|
|
121
|
+
actions:
|
|
122
|
+
- type: remove-steps
|
|
123
|
+
parameters:
|
|
124
|
+
steps:
|
|
125
|
+
- WAIT-TILL-END
|
|
126
|
+
- type: finish-test
|
|
127
|
+
parameters: {}
|
|
128
|
+
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Description: Active Control – Energise / De-energise
|
|
2
|
+
Category: Control
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
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: 300
|
|
23
|
+
derp_list_poll_seconds: 300
|
|
24
|
+
mup_post_seconds: 60
|
|
25
|
+
checks:
|
|
26
|
+
- type: end-device-contents
|
|
27
|
+
parameters: {}
|
|
28
|
+
- type: der-settings-contents
|
|
29
|
+
parameters: {}
|
|
30
|
+
actions:
|
|
31
|
+
- type: create-der-control
|
|
32
|
+
parameters:
|
|
33
|
+
start: $(now)
|
|
34
|
+
duration_seconds: 900
|
|
35
|
+
opModEnergize: true
|
|
36
|
+
- type: create-der-control
|
|
37
|
+
parameters:
|
|
38
|
+
start: $(now + '5 minutes')
|
|
39
|
+
duration_seconds: 300
|
|
40
|
+
opModEnergize: false
|
|
41
|
+
instructions:
|
|
42
|
+
- DER shall be generating or consuming at least 50% of its active power rating.
|
|
43
|
+
|
|
44
|
+
Steps:
|
|
45
|
+
|
|
46
|
+
# (b) - Wait until just before the opModEnergize: False control before accepting a DERStatus update
|
|
47
|
+
WAIT-CONTROL-START:
|
|
48
|
+
event:
|
|
49
|
+
type: wait
|
|
50
|
+
parameters:
|
|
51
|
+
duration_seconds: 270
|
|
52
|
+
actions:
|
|
53
|
+
- type: enable-steps
|
|
54
|
+
parameters:
|
|
55
|
+
steps:
|
|
56
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
57
|
+
- WAIT-CONTROL-END
|
|
58
|
+
- type: remove-steps
|
|
59
|
+
parameters:
|
|
60
|
+
steps:
|
|
61
|
+
- WAIT-CONTROL-START
|
|
62
|
+
|
|
63
|
+
# (c)
|
|
64
|
+
PUT-DERSTATUS-DISCONNECT:
|
|
65
|
+
event:
|
|
66
|
+
type: PUT-request-received
|
|
67
|
+
parameters:
|
|
68
|
+
endpoint: /edev/1/der/1/ders
|
|
69
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
70
|
+
checks:
|
|
71
|
+
- type: der-status-contents
|
|
72
|
+
parameters:
|
|
73
|
+
genConnectStatus_bit0: false
|
|
74
|
+
actions:
|
|
75
|
+
- type: remove-steps
|
|
76
|
+
parameters:
|
|
77
|
+
steps:
|
|
78
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
79
|
+
|
|
80
|
+
# (d) - This is soley to prevent a client from reporting reconnect too early
|
|
81
|
+
WAIT-CONTROL-END:
|
|
82
|
+
event:
|
|
83
|
+
type: wait
|
|
84
|
+
parameters:
|
|
85
|
+
duration_seconds: 600
|
|
86
|
+
actions:
|
|
87
|
+
- type: enable-steps
|
|
88
|
+
parameters:
|
|
89
|
+
steps:
|
|
90
|
+
- PUT-DERSTATUS-RECONNECT
|
|
91
|
+
- type: remove-steps
|
|
92
|
+
parameters:
|
|
93
|
+
steps:
|
|
94
|
+
- WAIT-CONTROL-END
|
|
95
|
+
|
|
96
|
+
# (d)
|
|
97
|
+
PUT-DERSTATUS-RECONNECT:
|
|
98
|
+
event:
|
|
99
|
+
type: PUT-request-received
|
|
100
|
+
parameters:
|
|
101
|
+
endpoint: /edev/1/der/1/ders
|
|
102
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
103
|
+
checks:
|
|
104
|
+
- type: der-status-contents
|
|
105
|
+
parameters:
|
|
106
|
+
genConnectStatus_bit0: true
|
|
107
|
+
actions:
|
|
108
|
+
- type: remove-steps
|
|
109
|
+
parameters:
|
|
110
|
+
steps:
|
|
111
|
+
- PUT-DERSTATUS-RECONNECT
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Description: Active Control – Disconnect
|
|
2
|
+
Category: Control
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
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
|
+
checks:
|
|
26
|
+
- type: end-device-contents
|
|
27
|
+
parameters: {}
|
|
28
|
+
actions:
|
|
29
|
+
- type: create-der-program
|
|
30
|
+
parameters:
|
|
31
|
+
primacy: 0
|
|
32
|
+
|
|
33
|
+
instructions:
|
|
34
|
+
- DER shall be generating or consuming at least 50% of its active power rating.
|
|
35
|
+
|
|
36
|
+
Steps:
|
|
37
|
+
# (precondition, a, b)
|
|
38
|
+
GET-DERC:
|
|
39
|
+
event:
|
|
40
|
+
type: GET-request-received
|
|
41
|
+
parameters:
|
|
42
|
+
endpoint: /edev/1/derp/1/derc
|
|
43
|
+
actions:
|
|
44
|
+
- type: create-der-control
|
|
45
|
+
parameters:
|
|
46
|
+
start: $(now + '5 minutes')
|
|
47
|
+
duration_seconds: 600
|
|
48
|
+
opModConnect: false
|
|
49
|
+
- type: enable-steps
|
|
50
|
+
parameters:
|
|
51
|
+
steps:
|
|
52
|
+
- WAIT-TILL-END
|
|
53
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
54
|
+
- type: remove-steps
|
|
55
|
+
parameters:
|
|
56
|
+
steps:
|
|
57
|
+
- GET-DERC
|
|
58
|
+
|
|
59
|
+
# (c) This will wait until the client POST's a DERStatus saying it has disconnected
|
|
60
|
+
PUT-DERSTATUS-DISCONNECT:
|
|
61
|
+
event:
|
|
62
|
+
type: PUT-request-received
|
|
63
|
+
parameters:
|
|
64
|
+
endpoint: /edev/1/der/1/ders
|
|
65
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
66
|
+
checks:
|
|
67
|
+
- type: der-status-contents
|
|
68
|
+
parameters:
|
|
69
|
+
genConnectStatus_bit0: false
|
|
70
|
+
actions:
|
|
71
|
+
- type: enable-steps
|
|
72
|
+
parameters:
|
|
73
|
+
steps:
|
|
74
|
+
- PUT-DERSTATUS-RECONNECT
|
|
75
|
+
- type: remove-steps
|
|
76
|
+
parameters:
|
|
77
|
+
steps:
|
|
78
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
79
|
+
|
|
80
|
+
# (d) This will wait until the client POST's a DERStatus saying it has reconnected
|
|
81
|
+
PUT-DERSTATUS-RECONNECT:
|
|
82
|
+
event:
|
|
83
|
+
type: PUT-request-received
|
|
84
|
+
parameters:
|
|
85
|
+
endpoint: /edev/1/der/1/ders
|
|
86
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
87
|
+
checks:
|
|
88
|
+
- type: der-status-contents
|
|
89
|
+
parameters:
|
|
90
|
+
genConnectStatus_bit0: true
|
|
91
|
+
actions:
|
|
92
|
+
- type: remove-steps
|
|
93
|
+
parameters:
|
|
94
|
+
steps:
|
|
95
|
+
- PUT-DERSTATUS-RECONNECT
|
|
96
|
+
|
|
97
|
+
WAIT-TILL-END:
|
|
98
|
+
event:
|
|
99
|
+
type: wait
|
|
100
|
+
parameters:
|
|
101
|
+
duration_seconds: 960
|
|
102
|
+
actions:
|
|
103
|
+
- type: remove-steps
|
|
104
|
+
parameters:
|
|
105
|
+
steps:
|
|
106
|
+
- WAIT-TILL-END
|
|
107
|
+
- type: finish-test
|
|
108
|
+
parameters: {}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
Description: Default Controls – Ramp Rate
|
|
2
|
+
Category: Control
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
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
|
+
checks:
|
|
29
|
+
- type: end-device-contents
|
|
30
|
+
parameters: {}
|
|
31
|
+
|
|
32
|
+
Steps:
|
|
33
|
+
|
|
34
|
+
# (a, b)
|
|
35
|
+
# On first poll of default control - set setGradW to 1%/s
|
|
36
|
+
GET-DEFAULT-DERC-100:
|
|
37
|
+
event:
|
|
38
|
+
type: GET-request-received
|
|
39
|
+
parameters:
|
|
40
|
+
endpoint: /edev/1/derp/1/dderc
|
|
41
|
+
actions:
|
|
42
|
+
- type: set-default-der-control
|
|
43
|
+
parameters:
|
|
44
|
+
setGradW: 100 # hundredths of a percent - this is 1%
|
|
45
|
+
- type: enable-steps
|
|
46
|
+
parameters:
|
|
47
|
+
steps:
|
|
48
|
+
- PUT-DERSETTINGS-SET-GRAD-W-100
|
|
49
|
+
- type: remove-steps
|
|
50
|
+
parameters:
|
|
51
|
+
steps:
|
|
52
|
+
- GET-DEFAULT-DERC-100
|
|
53
|
+
|
|
54
|
+
# (c)
|
|
55
|
+
# This will wait until the client POST's a DERSettings with the 1% setGradW
|
|
56
|
+
PUT-DERSETTINGS-SET-GRAD-W-100:
|
|
57
|
+
event:
|
|
58
|
+
type: PUT-request-received
|
|
59
|
+
parameters:
|
|
60
|
+
endpoint: /edev/1/der/1/derg
|
|
61
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
62
|
+
checks:
|
|
63
|
+
- type: der-settings-contents
|
|
64
|
+
parameters:
|
|
65
|
+
setGradW: 100
|
|
66
|
+
actions:
|
|
67
|
+
- type: enable-steps
|
|
68
|
+
parameters:
|
|
69
|
+
steps:
|
|
70
|
+
- GET-DEFAULT-DERC-27
|
|
71
|
+
- type: remove-steps
|
|
72
|
+
parameters:
|
|
73
|
+
steps:
|
|
74
|
+
- PUT-DERSETTINGS-SET-GRAD-W-100
|
|
75
|
+
|
|
76
|
+
# (after)
|
|
77
|
+
GET-DEFAULT-DERC-27:
|
|
78
|
+
event:
|
|
79
|
+
type: GET-request-received
|
|
80
|
+
parameters:
|
|
81
|
+
endpoint: /edev/1/derp/1/dderc
|
|
82
|
+
actions:
|
|
83
|
+
- type: set-default-der-control
|
|
84
|
+
parameters:
|
|
85
|
+
setGradW: 27 # hundredths of a percent - this is 0.27%
|
|
86
|
+
- type: enable-steps
|
|
87
|
+
parameters:
|
|
88
|
+
steps:
|
|
89
|
+
- PUT-DERSETTINGS-SET-GRAD-W-27
|
|
90
|
+
- type: remove-steps
|
|
91
|
+
parameters:
|
|
92
|
+
steps:
|
|
93
|
+
- GET-DEFAULT-DERC-27
|
|
94
|
+
|
|
95
|
+
# (after)
|
|
96
|
+
# This will wait until the client POST's a DERSettings with the 0.27% setGradW
|
|
97
|
+
PUT-DERSETTINGS-SET-GRAD-W-27:
|
|
98
|
+
event:
|
|
99
|
+
type: PUT-request-received
|
|
100
|
+
parameters:
|
|
101
|
+
endpoint: /edev/1/der/1/derg
|
|
102
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
103
|
+
checks:
|
|
104
|
+
- type: der-settings-contents
|
|
105
|
+
parameters:
|
|
106
|
+
setGradW: 27
|
|
107
|
+
actions:
|
|
108
|
+
- type: remove-steps
|
|
109
|
+
parameters:
|
|
110
|
+
steps:
|
|
111
|
+
- PUT-DERSETTINGS-SET-GRAD-W-27
|
|
112
|
+
|