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,110 @@
1
+ Description: Connection Point registration
2
+ Category: Registration
3
+ Classes:
4
+ - C
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: end-device-contents
15
+ parameters:
16
+ has_connection_point_id: true
17
+ check_lfdi: true
18
+
19
+ Preconditions:
20
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
21
+ init_actions:
22
+ - type: set-comms-rate
23
+ parameters:
24
+ dcap_poll_seconds: 60
25
+ edev_list_poll_seconds: 60
26
+ fsa_list_poll_seconds: 60
27
+ der_list_poll_seconds: 60
28
+ derp_list_poll_seconds: 60
29
+ mup_post_seconds: 60
30
+
31
+ Steps:
32
+ GET-DCAP:
33
+ event:
34
+ type: GET-request-received
35
+ parameters:
36
+ endpoint: /dcap
37
+ actions:
38
+ - type: enable-steps
39
+ parameters:
40
+ steps:
41
+ - GET-EDEV
42
+ - GET-TM
43
+ - type: remove-steps
44
+ parameters:
45
+ steps:
46
+ - GET-DCAP
47
+
48
+ GET-EDEV:
49
+ event:
50
+ type: GET-request-received
51
+ parameters:
52
+ endpoint: /edev
53
+ actions:
54
+ - type: enable-steps
55
+ parameters:
56
+ steps:
57
+ - POST-EDEV
58
+ - type: remove-steps
59
+ parameters:
60
+ steps:
61
+ - GET-EDEV
62
+
63
+ GET-TM:
64
+ event:
65
+ type: GET-request-received
66
+ parameters:
67
+ endpoint: /tm
68
+ actions:
69
+ - type: remove-steps
70
+ parameters:
71
+ steps:
72
+ - GET-TM
73
+
74
+ POST-EDEV:
75
+ event:
76
+ type: POST-request-received
77
+ parameters:
78
+ endpoint: /edev
79
+ actions:
80
+ - type: enable-steps
81
+ parameters:
82
+ steps:
83
+ - GET-DER
84
+ - PUT-CP
85
+ - type: remove-steps
86
+ parameters:
87
+ steps:
88
+ - POST-EDEV
89
+
90
+ GET-DER:
91
+ event:
92
+ type: GET-request-received
93
+ parameters:
94
+ endpoint: /edev/1/der
95
+ actions:
96
+ - type: remove-steps
97
+ parameters:
98
+ steps:
99
+ - GET-DER
100
+
101
+ PUT-CP:
102
+ event:
103
+ type: PUT-request-received
104
+ parameters:
105
+ endpoint: /edev/1/cp
106
+ actions:
107
+ - type: remove-steps
108
+ parameters:
109
+ steps:
110
+ - PUT-CP
@@ -0,0 +1,69 @@
1
+ Description: Client Registration and PIN Validation
2
+ Category: Registration
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
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
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
+ actions:
27
+ - type: register-end-device
28
+ parameters:
29
+ registration_pin: 11111 # With checksum is 111115
30
+ aggregator_lfdi: 3E4F45AB31EDFE5B67E343E5E4562E3100000000 # Trailing PEN digits set to 0
31
+ aggregator_sfdi: 16726121139
32
+
33
+
34
+ Steps:
35
+ # (e, f, g)
36
+ GET-REGISTRATION:
37
+ instructions:
38
+ - "An EndDevice has already been registered (out of band) with PIN 111115"
39
+ - "[Aggregator Client Only] LFDI: 3E4F45AB31EDFE5B67E343E5E4562E31XXXXXXXX (The X values will match your client PEN)"
40
+ - "[Aggregator Client Only] SFDI: 16726121139"
41
+ event:
42
+ type: GET-request-received
43
+ parameters:
44
+ endpoint: /edev/1/rg
45
+ actions:
46
+ - type: enable-steps
47
+ parameters:
48
+ steps:
49
+ - WAIT-TEST-END
50
+ - type: remove-steps
51
+ parameters:
52
+ steps:
53
+ - GET-REGISTRATION
54
+
55
+ # (h)
56
+ WAIT-TEST-END:
57
+ instructions:
58
+ - The client should continue communicating with the utility server after validating that the PIN matches.
59
+ event:
60
+ type: wait
61
+ parameters:
62
+ duration_seconds: 120
63
+ actions:
64
+ - type: remove-steps
65
+ parameters:
66
+ steps:
67
+ - WAIT-TEST-END
68
+ - type: finish-test
69
+ parameters: {}
@@ -0,0 +1,117 @@
1
+ Description: Client Response to Lack of RegistrationLink
2
+ Category: Registration
3
+ Classes:
4
+ - A
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Preconditions:
11
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
12
+ init_actions:
13
+ - type: set-comms-rate
14
+ parameters:
15
+ dcap_poll_seconds: 60
16
+ edev_list_poll_seconds: 60
17
+ fsa_list_poll_seconds: 60
18
+ der_list_poll_seconds: 60
19
+ derp_list_poll_seconds: 60
20
+ mup_post_seconds: 60
21
+ actions:
22
+ - type: 'edev-registration-links'
23
+ parameters:
24
+ enabled: false
25
+
26
+ Criteria:
27
+ checks:
28
+ - type: all-steps-complete
29
+ parameters: {}
30
+
31
+ # Note - these steps aren't annotated with the TS 5573 test procedure steps due to them having some dubious
32
+ # references to links appearing in the wrong entities / unusual ordering
33
+ #
34
+ # The steps still represent the "intended" interpretation of a client continuing to undergo normal in band registration
35
+ # despite the EndDevice registration links being removed.
36
+ Steps:
37
+ GET-DCAP:
38
+ event:
39
+ type: GET-request-received
40
+ parameters:
41
+ endpoint: /dcap
42
+ actions:
43
+ - type: enable-steps
44
+ parameters:
45
+ steps:
46
+ - GET-EDEV
47
+ - GET-TM
48
+ - type: remove-steps
49
+ parameters:
50
+ steps:
51
+ - GET-DCAP
52
+
53
+ GET-EDEV:
54
+ event:
55
+ type: GET-request-received
56
+ parameters:
57
+ endpoint: /edev
58
+ actions:
59
+ - type: enable-steps
60
+ parameters:
61
+ steps:
62
+ - POST-EDEV
63
+ - type: remove-steps
64
+ parameters:
65
+ steps:
66
+ - GET-EDEV
67
+
68
+ GET-TM:
69
+ event:
70
+ type: GET-request-received
71
+ parameters:
72
+ endpoint: /tm
73
+ actions:
74
+ - type: remove-steps
75
+ parameters:
76
+ steps:
77
+ - GET-TM
78
+
79
+ POST-EDEV:
80
+ event:
81
+ type: POST-request-received
82
+ parameters:
83
+ endpoint: /edev
84
+ actions:
85
+ - type: enable-steps
86
+ parameters:
87
+ steps:
88
+ - GET-DER
89
+ - GET-FSA
90
+ - type: remove-steps
91
+ parameters:
92
+ steps:
93
+ - POST-EDEV
94
+
95
+ GET-FSA:
96
+ event:
97
+ type: GET-request-received
98
+ parameters:
99
+ endpoint: /edev/1/fsa
100
+ actions:
101
+ - type: remove-steps
102
+ parameters:
103
+ steps:
104
+ - GET-FSA
105
+
106
+ GET-DER:
107
+ event:
108
+ type: GET-request-received
109
+ parameters:
110
+ endpoint: /edev/1/der
111
+ actions:
112
+ - type: remove-steps
113
+ parameters:
114
+ steps:
115
+ - GET-DER
116
+
117
+
@@ -0,0 +1,128 @@
1
+ Description: Individual Readings
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
+
16
+ # Test is ~8 minutes of waiting which should leave enough time for at least 6 reading posts
17
+ - type: readings-site-active-power
18
+ parameters: {"minimum_count": 6}
19
+ - type: readings-site-reactive-power
20
+ parameters: {"minimum_count": 6}
21
+ - type: readings-voltage
22
+ parameters: {"minimum_count": 6}
23
+ - type: readings-der-active-power
24
+ parameters: {"minimum_count": 6}
25
+ - type: readings-der-reactive-power
26
+ parameters: {"minimum_count": 6}
27
+
28
+ Preconditions:
29
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
30
+ init_actions:
31
+ - type: set-comms-rate
32
+ parameters:
33
+ dcap_poll_seconds: 60
34
+ edev_list_poll_seconds: 60
35
+ fsa_list_poll_seconds: 60
36
+ der_list_poll_seconds: 60
37
+ derp_list_poll_seconds: 60
38
+ mup_post_seconds: 60
39
+ instructions:
40
+ - Connect a test load electrically in parallel with the DER.
41
+ - Set the load to consume 25% of the DER's rated active power.
42
+
43
+ Steps:
44
+ # (b, c)
45
+ GET-MUP:
46
+ event:
47
+ type: GET-request-received
48
+ parameters:
49
+ endpoint: /mup
50
+ actions:
51
+ - type: enable-steps
52
+ parameters:
53
+ steps:
54
+ - POST-MUP
55
+ - type: remove-steps
56
+ parameters:
57
+ steps:
58
+ - GET-MUP
59
+ # (d, e)
60
+ POST-MUP:
61
+ event:
62
+ type: POST-request-received
63
+ parameters:
64
+ endpoint: /mup
65
+ actions:
66
+ - type: enable-steps
67
+ parameters:
68
+ steps:
69
+ - GET-MUP-2
70
+ - type: remove-steps
71
+ parameters:
72
+ steps:
73
+ - POST-MUP
74
+
75
+ # (f, g)
76
+ GET-MUP-2:
77
+ event:
78
+ type: GET-request-received
79
+ parameters:
80
+ endpoint: /mup
81
+ actions:
82
+ - type: enable-steps
83
+ parameters:
84
+ steps:
85
+ - SET-CONTROL
86
+ - type: remove-steps
87
+ parameters:
88
+ steps:
89
+ - GET-MUP-2
90
+
91
+ # (h) - Will be validated via test criteria
92
+ # (i, j, k)
93
+ SET-CONTROL:
94
+ event:
95
+ type: wait
96
+ parameters:
97
+ duration_seconds: 300 # Wait for at least 4 sets of readings to arrive (with post rate 60 seconds)
98
+ actions:
99
+ - type: create-der-control
100
+ parameters:
101
+ start: $(now)
102
+ duration_seconds: 300
103
+ opModImpLimW: 0
104
+ opModExpLimW: 0
105
+ - type: enable-steps
106
+ parameters:
107
+ steps:
108
+ - WAIT-CONTROL
109
+ - type: remove-steps
110
+ parameters:
111
+ steps:
112
+ - SET-CONTROL
113
+
114
+ # This just lets the test run for a few more posts after the control comes into effect
115
+ # after which, we will force the test to shutdown (as Criteria is partially defined by this ONLY running for a few posts)
116
+ # (j, k)
117
+ WAIT-CONTROL:
118
+ event:
119
+ type: wait
120
+ parameters:
121
+ duration_seconds: 180 # Wait for at least 3 sets of readings to arrive (with post rate 60 seconds)
122
+ actions:
123
+ - type: remove-steps
124
+ parameters:
125
+ steps:
126
+ - WAIT-CONTROL
127
+ - type: finish-test
128
+ parameters: {}
@@ -0,0 +1,76 @@
1
+ Description: Connection Status
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
+
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
+ - type: der-status-contents
29
+ parameters:
30
+ genConnectStatus_bit0: true
31
+
32
+ Steps:
33
+
34
+ # (b, c)
35
+ PUT-DERSTATUS-DISCONNECT:
36
+ instructions:
37
+ - Disconnect all DER from the grid.
38
+ event:
39
+ type: PUT-request-received
40
+ parameters:
41
+ endpoint: /edev/1/der/1/ders
42
+ serve_request_first: true # Run this AFTER server receives the request
43
+ # Only trigger this if the server has an updated DERStatus
44
+ checks:
45
+ - type: der-status-contents
46
+ parameters:
47
+ genConnectStatus_bit0: false
48
+ actions:
49
+ - type: enable-steps
50
+ parameters:
51
+ steps:
52
+ - PUT-DERSTATUS-CONNECT
53
+ - type: remove-steps
54
+ parameters:
55
+ steps:
56
+ - PUT-DERSTATUS-DISCONNECT
57
+
58
+ # (d, e)
59
+ PUT-DERSTATUS-CONNECT:
60
+ instructions:
61
+ - Reconnect all DER to the grid.
62
+ event:
63
+ type: PUT-request-received
64
+ parameters:
65
+ endpoint: /edev/1/der/1/ders
66
+ serve_request_first: true # Run this AFTER server receives the request
67
+ # Only trigger this if the server has an updated DERStatus
68
+ checks:
69
+ - type: der-status-contents
70
+ parameters:
71
+ genConnectStatus_bit0: true
72
+ actions:
73
+ - type: remove-steps
74
+ parameters:
75
+ steps:
76
+ - PUT-DERSTATUS-CONNECT
@@ -0,0 +1,78 @@
1
+ Description: Operational Mode Status
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
+
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
+ - type: der-status-contents
29
+ parameters:
30
+ operationalModeStatus: 2
31
+ instructions:
32
+ - DER shall be generating or consuming at least 50% of the DER's active power rating.
33
+
34
+ Steps:
35
+
36
+ # (c, d)
37
+ PUT-DERSTATUS-DISCONNECT:
38
+ instructions:
39
+ - Stop DER from generating or consuming active power. (e.g. power source/sink is set to 0W)
40
+ event:
41
+ type: PUT-request-received
42
+ parameters:
43
+ endpoint: /edev/1/der/1/ders
44
+ serve_request_first: true # Run this AFTER server receives the request
45
+ # Only trigger this if the server has an updated DERStatus
46
+ checks:
47
+ - type: der-status-contents
48
+ parameters:
49
+ operationalModeStatus: 1
50
+ actions:
51
+ - type: enable-steps
52
+ parameters:
53
+ steps:
54
+ - PUT-DERSTATUS-CONNECT
55
+ - type: remove-steps
56
+ parameters:
57
+ steps:
58
+ - PUT-DERSTATUS-DISCONNECT
59
+
60
+ # (e, f)
61
+ PUT-DERSTATUS-CONNECT:
62
+ instructions:
63
+ - Re-enable ability of DER to generate or consume active power.
64
+ event:
65
+ type: PUT-request-received
66
+ parameters:
67
+ endpoint: /edev/1/der/1/ders
68
+ serve_request_first: true # Run this AFTER server receives the request
69
+ # Only trigger this if the server has an updated DERStatus
70
+ checks:
71
+ - type: der-status-contents
72
+ parameters:
73
+ operationalModeStatus: 2
74
+ actions:
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - PUT-DERSTATUS-CONNECT
@@ -0,0 +1,103 @@
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
+ rtgMaxChargeRateW: true # Maximum rate of energy transfer received
17
+ rtgMaxDischargeRateW: true # Maximum rate of energy transfer delivered
18
+ rtgMaxVA: true # Maximum apparent power
19
+ rtgMaxVar: true # Maximum reactive power delivered
20
+ rtgMaxVarNeg: true # Maximum reactive power received
21
+ rtgMaxW: true # Maximum active power
22
+ rtgMinPFOverExcited: true # Minimum power factor displacement
23
+ rtgMinPFUnderExcited: true # Minimum power factor displacement
24
+ doeModesSupported: true # CSIP-Aus DOE modes supported
25
+ - type: der-settings-contents
26
+ parameters:
27
+ setMaxChargeRateW: true # Maximum rate of energy transfer received
28
+ setMaxDischargeRateW: true # Maximum rate of energy transfer delivered
29
+ setMaxVA: true # Maximum apparent power
30
+ setMaxVar: true # Maximum reactive power delivered
31
+ setMaxVarNeg: true # Maximum reactive power received
32
+ setMaxW: true # Maximum active power
33
+ setMinPFOverExcited: true # Minimum power factor displacement
34
+ setMinPFUnderExcited: true # Minimum power factor displacement
35
+ doeModesEnabled: true # CSIP-Aus DOE modes enabled
36
+ - type: der-status-contents
37
+ parameters: {}
38
+
39
+ Preconditions:
40
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
41
+ init_actions:
42
+ - type: set-comms-rate
43
+ parameters:
44
+ dcap_poll_seconds: 60
45
+ edev_list_poll_seconds: 60
46
+ fsa_list_poll_seconds: 60
47
+ der_list_poll_seconds: 60
48
+ derp_list_poll_seconds: 60
49
+ mup_post_seconds: 60
50
+
51
+ Steps:
52
+ # (a) - This is a proxy that assumes the device has underwent initial registration / discovery
53
+ GET-DER:
54
+ event:
55
+ type: GET-request-received
56
+ parameters:
57
+ endpoint: /edev/1/der
58
+ actions:
59
+ - type: enable-steps
60
+ parameters:
61
+ steps:
62
+ - PUT-DERSTATUS
63
+ - PUT-DERCAPABILITY
64
+ - PUT-DERSETTINGS
65
+ - type: remove-steps
66
+ parameters:
67
+ steps:
68
+ - GET-DER
69
+ # (b)
70
+ PUT-DERSTATUS:
71
+ event:
72
+ type: PUT-request-received
73
+ parameters:
74
+ endpoint: /edev/1/der/1/ders
75
+ actions:
76
+ - type: remove-steps
77
+ parameters:
78
+ steps:
79
+ - PUT-DERSTATUS
80
+
81
+ # (b)
82
+ PUT-DERCAPABILITY:
83
+ event:
84
+ type: PUT-request-received
85
+ parameters:
86
+ endpoint: /edev/1/der/1/dercap
87
+ actions:
88
+ - type: remove-steps
89
+ parameters:
90
+ steps:
91
+ - PUT-DERCAPABILITY
92
+
93
+ # (b)
94
+ PUT-DERSETTINGS:
95
+ event:
96
+ type: PUT-request-received
97
+ parameters:
98
+ endpoint: /edev/1/der/1/derg
99
+ actions:
100
+ - type: remove-steps
101
+ parameters:
102
+ steps:
103
+ - PUT-DERSETTINGS