rsmp_schema 0.4.5 → 0.5

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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yaml +1 -1
  3. data/.tool-versions +1 -0
  4. data/Gemfile.lock +2 -2
  5. data/lib/rsmp_schema/schema.rb +6 -3
  6. data/lib/rsmp_schema/version.rb +1 -1
  7. data/schemas/core/3.2/status_response.json +1 -1
  8. data/schemas/core/3.2.1/core.json +39 -0
  9. data/schemas/core/3.2.1/rsmp.json +133 -0
  10. data/schemas/tlc/1.2/alarms/A0001.json +3 -0
  11. data/schemas/tlc/1.2/alarms/A0002.json +3 -0
  12. data/schemas/tlc/1.2/alarms/A0003.json +3 -0
  13. data/schemas/tlc/1.2/alarms/A0004.json +3 -0
  14. data/schemas/tlc/1.2/alarms/A0005.json +3 -0
  15. data/schemas/tlc/1.2/alarms/A0006.json +3 -0
  16. data/schemas/tlc/1.2/alarms/A0007.json +59 -0
  17. data/schemas/tlc/1.2/alarms/A0008.json +61 -0
  18. data/schemas/tlc/1.2/alarms/A0009.json +3 -0
  19. data/schemas/tlc/1.2/alarms/A0010.json +3 -0
  20. data/schemas/tlc/1.2/alarms/A0101.json +3 -0
  21. data/schemas/tlc/1.2/alarms/A0201.json +60 -0
  22. data/schemas/tlc/1.2/alarms/A0202.json +60 -0
  23. data/schemas/tlc/1.2/alarms/A0301.json +132 -0
  24. data/schemas/tlc/1.2/alarms/A0302.json +158 -0
  25. data/schemas/tlc/1.2/alarms/A0303.json +132 -0
  26. data/schemas/tlc/1.2/alarms/A0304.json +158 -0
  27. data/schemas/tlc/1.2/alarms/alarms.json +286 -0
  28. data/schemas/tlc/1.2/commands/M0001.json +138 -0
  29. data/schemas/tlc/1.2/commands/M0002.json +112 -0
  30. data/schemas/tlc/1.2/commands/M0003.json +112 -0
  31. data/schemas/tlc/1.2/commands/M0004.json +85 -0
  32. data/schemas/tlc/1.2/commands/M0005.json +112 -0
  33. data/schemas/tlc/1.2/commands/M0006.json +112 -0
  34. data/schemas/tlc/1.2/commands/M0007.json +85 -0
  35. data/schemas/tlc/1.2/commands/M0008.json +112 -0
  36. data/schemas/tlc/1.2/commands/M0010.json +85 -0
  37. data/schemas/tlc/1.2/commands/M0011.json +85 -0
  38. data/schemas/tlc/1.2/commands/M0012.json +79 -0
  39. data/schemas/tlc/1.2/commands/M0013.json +79 -0
  40. data/schemas/tlc/1.2/commands/M0014.json +106 -0
  41. data/schemas/tlc/1.2/commands/M0015.json +112 -0
  42. data/schemas/tlc/1.2/commands/M0016.json +79 -0
  43. data/schemas/tlc/1.2/commands/M0017.json +79 -0
  44. data/schemas/tlc/1.2/commands/M0018.json +112 -0
  45. data/schemas/tlc/1.2/commands/M0019.json +139 -0
  46. data/schemas/tlc/1.2/commands/M0020.json +139 -0
  47. data/schemas/tlc/1.2/commands/M0021.json +79 -0
  48. data/schemas/tlc/1.2/commands/M0022.json +355 -0
  49. data/schemas/tlc/1.2/commands/M0023.json +85 -0
  50. data/schemas/tlc/1.2/commands/M0103.json +103 -0
  51. data/schemas/tlc/1.2/commands/M0104.json +220 -0
  52. data/schemas/tlc/1.2/commands/command_requests.json +7 -0
  53. data/schemas/tlc/1.2/commands/command_responses.json +7 -0
  54. data/schemas/tlc/1.2/commands/commands.json +398 -0
  55. data/schemas/tlc/1.2/rsmp.json +73 -0
  56. data/schemas/tlc/1.2/statuses/S0001.json +137 -0
  57. data/schemas/tlc/1.2/statuses/S0002.json +55 -0
  58. data/schemas/tlc/1.2/statuses/S0003.json +55 -0
  59. data/schemas/tlc/1.2/statuses/S0004.json +55 -0
  60. data/schemas/tlc/1.2/statuses/S0005.json +112 -0
  61. data/schemas/tlc/1.2/statuses/S0006.json +88 -0
  62. data/schemas/tlc/1.2/statuses/S0007.json +116 -0
  63. data/schemas/tlc/1.2/statuses/S0008.json +116 -0
  64. data/schemas/tlc/1.2/statuses/S0009.json +116 -0
  65. data/schemas/tlc/1.2/statuses/S0010.json +116 -0
  66. data/schemas/tlc/1.2/statuses/S0011.json +116 -0
  67. data/schemas/tlc/1.2/statuses/S0012.json +116 -0
  68. data/schemas/tlc/1.2/statuses/S0013.json +88 -0
  69. data/schemas/tlc/1.2/statuses/S0014.json +90 -0
  70. data/schemas/tlc/1.2/statuses/S0015.json +90 -0
  71. data/schemas/tlc/1.2/statuses/S0016.json +61 -0
  72. data/schemas/tlc/1.2/statuses/S0017.json +61 -0
  73. data/schemas/tlc/1.2/statuses/S0018.json +61 -0
  74. data/schemas/tlc/1.2/statuses/S0019.json +61 -0
  75. data/schemas/tlc/1.2/statuses/S0020.json +88 -0
  76. data/schemas/tlc/1.2/statuses/S0021.json +56 -0
  77. data/schemas/tlc/1.2/statuses/S0022.json +55 -0
  78. data/schemas/tlc/1.2/statuses/S0023.json +56 -0
  79. data/schemas/tlc/1.2/statuses/S0024.json +56 -0
  80. data/schemas/tlc/1.2/statuses/S0025.json +250 -0
  81. data/schemas/tlc/1.2/statuses/S0026.json +55 -0
  82. data/schemas/tlc/1.2/statuses/S0027.json +55 -0
  83. data/schemas/tlc/1.2/statuses/S0028.json +55 -0
  84. data/schemas/tlc/1.2/statuses/S0029.json +55 -0
  85. data/schemas/tlc/1.2/statuses/S0030.json +55 -0
  86. data/schemas/tlc/1.2/statuses/S0031.json +55 -0
  87. data/schemas/tlc/1.2/statuses/S0032.json +116 -0
  88. data/schemas/tlc/1.2/statuses/S0033.json +114 -0
  89. data/schemas/tlc/1.2/statuses/S0034.json +61 -0
  90. data/schemas/tlc/1.2/statuses/S0035.json +74 -0
  91. data/schemas/tlc/1.2/statuses/S0091.json +65 -0
  92. data/schemas/tlc/1.2/statuses/S0092.json +65 -0
  93. data/schemas/tlc/1.2/statuses/S0095.json +55 -0
  94. data/schemas/tlc/1.2/statuses/S0096.json +196 -0
  95. data/schemas/tlc/1.2/statuses/S0097.json +82 -0
  96. data/schemas/tlc/1.2/statuses/S0098.json +103 -0
  97. data/schemas/tlc/1.2/statuses/S0201.json +88 -0
  98. data/schemas/tlc/1.2/statuses/S0202.json +88 -0
  99. data/schemas/tlc/1.2/statuses/S0203.json +88 -0
  100. data/schemas/tlc/1.2/statuses/S0204.json +304 -0
  101. data/schemas/tlc/1.2/statuses/S0205.json +88 -0
  102. data/schemas/tlc/1.2/statuses/S0206.json +88 -0
  103. data/schemas/tlc/1.2/statuses/S0207.json +88 -0
  104. data/schemas/tlc/1.2/statuses/S0208.json +304 -0
  105. data/schemas/tlc/1.2/statuses/statuses.json +786 -0
  106. data/schemas/tlc/1.2/sxl.yaml +2082 -0
  107. metadata +102 -2
@@ -0,0 +1,286 @@
1
+ {
2
+ "properties" : {
3
+ "aCId" : {
4
+ "enum" : [
5
+ "A0001",
6
+ "A0002",
7
+ "A0003",
8
+ "A0004",
9
+ "A0005",
10
+ "A0006",
11
+ "A0007",
12
+ "A0008",
13
+ "A0009",
14
+ "A0010",
15
+ "A0101",
16
+ "A0201",
17
+ "A0202",
18
+ "A0301",
19
+ "A0302",
20
+ "A0303",
21
+ "A0304"
22
+ ]
23
+ },
24
+ "rvs" : {
25
+ "items" : {
26
+ "allOf" : [
27
+ {
28
+ "if" : {
29
+ "required" : [
30
+ "aCId"
31
+ ],
32
+ "properties" : {
33
+ "aCId" : {
34
+ "const" : "A0001"
35
+ }
36
+ }
37
+ },
38
+ "then" : {
39
+ "$ref" : "A0001.json"
40
+ }
41
+ },
42
+ {
43
+ "if" : {
44
+ "required" : [
45
+ "aCId"
46
+ ],
47
+ "properties" : {
48
+ "aCId" : {
49
+ "const" : "A0002"
50
+ }
51
+ }
52
+ },
53
+ "then" : {
54
+ "$ref" : "A0002.json"
55
+ }
56
+ },
57
+ {
58
+ "if" : {
59
+ "required" : [
60
+ "aCId"
61
+ ],
62
+ "properties" : {
63
+ "aCId" : {
64
+ "const" : "A0003"
65
+ }
66
+ }
67
+ },
68
+ "then" : {
69
+ "$ref" : "A0003.json"
70
+ }
71
+ },
72
+ {
73
+ "if" : {
74
+ "required" : [
75
+ "aCId"
76
+ ],
77
+ "properties" : {
78
+ "aCId" : {
79
+ "const" : "A0004"
80
+ }
81
+ }
82
+ },
83
+ "then" : {
84
+ "$ref" : "A0004.json"
85
+ }
86
+ },
87
+ {
88
+ "if" : {
89
+ "required" : [
90
+ "aCId"
91
+ ],
92
+ "properties" : {
93
+ "aCId" : {
94
+ "const" : "A0005"
95
+ }
96
+ }
97
+ },
98
+ "then" : {
99
+ "$ref" : "A0005.json"
100
+ }
101
+ },
102
+ {
103
+ "if" : {
104
+ "required" : [
105
+ "aCId"
106
+ ],
107
+ "properties" : {
108
+ "aCId" : {
109
+ "const" : "A0006"
110
+ }
111
+ }
112
+ },
113
+ "then" : {
114
+ "$ref" : "A0006.json"
115
+ }
116
+ },
117
+ {
118
+ "if" : {
119
+ "required" : [
120
+ "aCId"
121
+ ],
122
+ "properties" : {
123
+ "aCId" : {
124
+ "const" : "A0007"
125
+ }
126
+ }
127
+ },
128
+ "then" : {
129
+ "$ref" : "A0007.json"
130
+ }
131
+ },
132
+ {
133
+ "if" : {
134
+ "required" : [
135
+ "aCId"
136
+ ],
137
+ "properties" : {
138
+ "aCId" : {
139
+ "const" : "A0008"
140
+ }
141
+ }
142
+ },
143
+ "then" : {
144
+ "$ref" : "A0008.json"
145
+ }
146
+ },
147
+ {
148
+ "if" : {
149
+ "required" : [
150
+ "aCId"
151
+ ],
152
+ "properties" : {
153
+ "aCId" : {
154
+ "const" : "A0009"
155
+ }
156
+ }
157
+ },
158
+ "then" : {
159
+ "$ref" : "A0009.json"
160
+ }
161
+ },
162
+ {
163
+ "if" : {
164
+ "required" : [
165
+ "aCId"
166
+ ],
167
+ "properties" : {
168
+ "aCId" : {
169
+ "const" : "A0010"
170
+ }
171
+ }
172
+ },
173
+ "then" : {
174
+ "$ref" : "A0010.json"
175
+ }
176
+ },
177
+ {
178
+ "if" : {
179
+ "required" : [
180
+ "aCId"
181
+ ],
182
+ "properties" : {
183
+ "aCId" : {
184
+ "const" : "A0101"
185
+ }
186
+ }
187
+ },
188
+ "then" : {
189
+ "$ref" : "A0101.json"
190
+ }
191
+ },
192
+ {
193
+ "if" : {
194
+ "required" : [
195
+ "aCId"
196
+ ],
197
+ "properties" : {
198
+ "aCId" : {
199
+ "const" : "A0201"
200
+ }
201
+ }
202
+ },
203
+ "then" : {
204
+ "$ref" : "A0201.json"
205
+ }
206
+ },
207
+ {
208
+ "if" : {
209
+ "required" : [
210
+ "aCId"
211
+ ],
212
+ "properties" : {
213
+ "aCId" : {
214
+ "const" : "A0202"
215
+ }
216
+ }
217
+ },
218
+ "then" : {
219
+ "$ref" : "A0202.json"
220
+ }
221
+ },
222
+ {
223
+ "if" : {
224
+ "required" : [
225
+ "aCId"
226
+ ],
227
+ "properties" : {
228
+ "aCId" : {
229
+ "const" : "A0301"
230
+ }
231
+ }
232
+ },
233
+ "then" : {
234
+ "$ref" : "A0301.json"
235
+ }
236
+ },
237
+ {
238
+ "if" : {
239
+ "required" : [
240
+ "aCId"
241
+ ],
242
+ "properties" : {
243
+ "aCId" : {
244
+ "const" : "A0302"
245
+ }
246
+ }
247
+ },
248
+ "then" : {
249
+ "$ref" : "A0302.json"
250
+ }
251
+ },
252
+ {
253
+ "if" : {
254
+ "required" : [
255
+ "aCId"
256
+ ],
257
+ "properties" : {
258
+ "aCId" : {
259
+ "const" : "A0303"
260
+ }
261
+ }
262
+ },
263
+ "then" : {
264
+ "$ref" : "A0303.json"
265
+ }
266
+ },
267
+ {
268
+ "if" : {
269
+ "required" : [
270
+ "aCId"
271
+ ],
272
+ "properties" : {
273
+ "aCId" : {
274
+ "const" : "A0304"
275
+ }
276
+ }
277
+ },
278
+ "then" : {
279
+ "$ref" : "A0304.json"
280
+ }
281
+ }
282
+ ]
283
+ }
284
+ }
285
+ }
286
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "description" : "Sets functional position.\nSets the controller to yellow flash, dark mode or normal control.\nRequires security code 2.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "intersection",
9
+ "securityCode",
10
+ "status",
11
+ "timeout"
12
+ ]
13
+ },
14
+ "cO" : {
15
+ "const" : "setValue"
16
+ }
17
+ }
18
+ },
19
+ {
20
+ "if" : {
21
+ "required" : [
22
+ "q"
23
+ ],
24
+ "properties" : {
25
+ "q" : {
26
+ "const" : "undefined"
27
+ }
28
+ }
29
+ },
30
+ "then" : {
31
+ "s" : {
32
+ "type" : "null"
33
+ }
34
+ },
35
+ "else" : {
36
+ "allOf" : [
37
+ {
38
+ "if" : {
39
+ "required" : [
40
+ "n"
41
+ ],
42
+ "properties" : {
43
+ "n" : {
44
+ "const" : "status"
45
+ }
46
+ }
47
+ },
48
+ "then" : {
49
+ "properties" : {
50
+ "v" : {
51
+ "description" : "Set operating mode",
52
+ "type" : "string",
53
+ "enum" : [
54
+ "Dark",
55
+ "NormalControl",
56
+ "YellowFlash"
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ },
62
+ {
63
+ "if" : {
64
+ "required" : [
65
+ "n"
66
+ ],
67
+ "properties" : {
68
+ "n" : {
69
+ "const" : "securityCode"
70
+ }
71
+ }
72
+ },
73
+ "then" : {
74
+ "properties" : {
75
+ "v" : {
76
+ "description" : "Security code 2",
77
+ "type" : "string"
78
+ }
79
+ }
80
+ }
81
+ },
82
+ {
83
+ "if" : {
84
+ "required" : [
85
+ "n"
86
+ ],
87
+ "properties" : {
88
+ "n" : {
89
+ "const" : "timeout"
90
+ }
91
+ }
92
+ },
93
+ "then" : {
94
+ "properties" : {
95
+ "v" : {
96
+ "allOf" : [
97
+ {
98
+ "description" : "Time in minutes until controller automatically reverts to previous functional position.\n0=no automatic return"
99
+ },
100
+ {
101
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
102
+ }
103
+ ]
104
+ }
105
+ }
106
+ }
107
+ },
108
+ {
109
+ "if" : {
110
+ "required" : [
111
+ "n"
112
+ ],
113
+ "properties" : {
114
+ "n" : {
115
+ "const" : "intersection"
116
+ }
117
+ }
118
+ },
119
+ "then" : {
120
+ "properties" : {
121
+ "v" : {
122
+ "allOf" : [
123
+ {
124
+ "description" : "Intersection number"
125
+ },
126
+ {
127
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
128
+ }
129
+ ]
130
+ }
131
+ }
132
+ }
133
+ }
134
+ ]
135
+ }
136
+ }
137
+ ]
138
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "description" : "Sets current time plan.\nChange of traffic program of the traffic light controller.\nTypical usages is scenario based control where change of program is used to change signal timings etc.\nThis command changes the signal timings for optimal traffic flow.\nRequires security code 2",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "securityCode",
9
+ "status",
10
+ "timeplan"
11
+ ]
12
+ },
13
+ "cO" : {
14
+ "const" : "setPlan"
15
+ }
16
+ }
17
+ },
18
+ {
19
+ "if" : {
20
+ "required" : [
21
+ "q"
22
+ ],
23
+ "properties" : {
24
+ "q" : {
25
+ "const" : "undefined"
26
+ }
27
+ }
28
+ },
29
+ "then" : {
30
+ "s" : {
31
+ "type" : "null"
32
+ }
33
+ },
34
+ "else" : {
35
+ "allOf" : [
36
+ {
37
+ "if" : {
38
+ "required" : [
39
+ "n"
40
+ ],
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "status"
44
+ }
45
+ }
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "allOf" : [
51
+ {
52
+ "description" : "False: Controller uses time plan according to programming\nTrue: Controller uses time plan according to command"
53
+ },
54
+ {
55
+ "$ref" : "../../../core/3.1.2/definitions.json#/boolean"
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ },
62
+ {
63
+ "if" : {
64
+ "required" : [
65
+ "n"
66
+ ],
67
+ "properties" : {
68
+ "n" : {
69
+ "const" : "securityCode"
70
+ }
71
+ }
72
+ },
73
+ "then" : {
74
+ "properties" : {
75
+ "v" : {
76
+ "description" : "Security code 2",
77
+ "type" : "string"
78
+ }
79
+ }
80
+ }
81
+ },
82
+ {
83
+ "if" : {
84
+ "required" : [
85
+ "n"
86
+ ],
87
+ "properties" : {
88
+ "n" : {
89
+ "const" : "timeplan"
90
+ }
91
+ }
92
+ },
93
+ "then" : {
94
+ "properties" : {
95
+ "v" : {
96
+ "allOf" : [
97
+ {
98
+ "description" : "designation of time plan"
99
+ },
100
+ {
101
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
102
+ }
103
+ ]
104
+ }
105
+ }
106
+ }
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ ]
112
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "description" : "Sets traffic situation the controller uses.\nUsed for area-based control where this command can be sent to a master traffic light controller about which predefined traffic situation to use (1-255).\nTraffic situation is a concept used to divide multiple TLC's into areas and sub-areas. The traffic situation gives the possibility to change the TLC sub-area dynamically depending on the time of day and the traffic flow. Depending on the traffic situation each TLC selects the time plan dynamically.\nRequires security code 2",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "securityCode",
9
+ "status",
10
+ "traficsituation"
11
+ ]
12
+ },
13
+ "cO" : {
14
+ "const" : "setTrafficSituation"
15
+ }
16
+ }
17
+ },
18
+ {
19
+ "if" : {
20
+ "required" : [
21
+ "q"
22
+ ],
23
+ "properties" : {
24
+ "q" : {
25
+ "const" : "undefined"
26
+ }
27
+ }
28
+ },
29
+ "then" : {
30
+ "s" : {
31
+ "type" : "null"
32
+ }
33
+ },
34
+ "else" : {
35
+ "allOf" : [
36
+ {
37
+ "if" : {
38
+ "required" : [
39
+ "n"
40
+ ],
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "status"
44
+ }
45
+ }
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "allOf" : [
51
+ {
52
+ "description" : "False: Controller uses traffic situation according to own programming\nTrue: Controller uses traffic situation according to command"
53
+ },
54
+ {
55
+ "$ref" : "../../../core/3.1.2/definitions.json#/boolean"
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ },
62
+ {
63
+ "if" : {
64
+ "required" : [
65
+ "n"
66
+ ],
67
+ "properties" : {
68
+ "n" : {
69
+ "const" : "securityCode"
70
+ }
71
+ }
72
+ },
73
+ "then" : {
74
+ "properties" : {
75
+ "v" : {
76
+ "description" : "Security code 2",
77
+ "type" : "string"
78
+ }
79
+ }
80
+ }
81
+ },
82
+ {
83
+ "if" : {
84
+ "required" : [
85
+ "n"
86
+ ],
87
+ "properties" : {
88
+ "n" : {
89
+ "const" : "traficsituation"
90
+ }
91
+ }
92
+ },
93
+ "then" : {
94
+ "properties" : {
95
+ "v" : {
96
+ "allOf" : [
97
+ {
98
+ "description" : "designation of traficsituation"
99
+ },
100
+ {
101
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
102
+ }
103
+ ]
104
+ }
105
+ }
106
+ }
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ ]
112
+ }