rsmp_schema 0.4.5 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) 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 +23 -29
  5. data/lib/rsmp_schema/schema.rb +6 -3
  6. data/lib/rsmp_schema/version.rb +1 -1
  7. data/rsmp_schema.gemspec +5 -6
  8. data/schemas/core/3.1.5/status_subscribe.json +1 -1
  9. data/schemas/core/3.2/status_response.json +1 -1
  10. data/schemas/core/3.2.1/core.json +39 -0
  11. data/schemas/core/3.2.1/rsmp.json +133 -0
  12. data/schemas/tlc/1.2/alarms/A0001.json +3 -0
  13. data/schemas/tlc/1.2/alarms/A0002.json +3 -0
  14. data/schemas/tlc/1.2/alarms/A0003.json +3 -0
  15. data/schemas/tlc/1.2/alarms/A0004.json +3 -0
  16. data/schemas/tlc/1.2/alarms/A0005.json +3 -0
  17. data/schemas/tlc/1.2/alarms/A0006.json +3 -0
  18. data/schemas/tlc/1.2/alarms/A0007.json +59 -0
  19. data/schemas/tlc/1.2/alarms/A0008.json +61 -0
  20. data/schemas/tlc/1.2/alarms/A0009.json +3 -0
  21. data/schemas/tlc/1.2/alarms/A0010.json +3 -0
  22. data/schemas/tlc/1.2/alarms/A0101.json +3 -0
  23. data/schemas/tlc/1.2/alarms/A0201.json +60 -0
  24. data/schemas/tlc/1.2/alarms/A0202.json +60 -0
  25. data/schemas/tlc/1.2/alarms/A0301.json +132 -0
  26. data/schemas/tlc/1.2/alarms/A0302.json +158 -0
  27. data/schemas/tlc/1.2/alarms/A0303.json +132 -0
  28. data/schemas/tlc/1.2/alarms/A0304.json +158 -0
  29. data/schemas/tlc/1.2/alarms/alarms.json +286 -0
  30. data/schemas/tlc/1.2/commands/M0001.json +138 -0
  31. data/schemas/tlc/1.2/commands/M0002.json +112 -0
  32. data/schemas/tlc/1.2/commands/M0003.json +112 -0
  33. data/schemas/tlc/1.2/commands/M0004.json +85 -0
  34. data/schemas/tlc/1.2/commands/M0005.json +112 -0
  35. data/schemas/tlc/1.2/commands/M0006.json +112 -0
  36. data/schemas/tlc/1.2/commands/M0007.json +85 -0
  37. data/schemas/tlc/1.2/commands/M0008.json +112 -0
  38. data/schemas/tlc/1.2/commands/M0010.json +85 -0
  39. data/schemas/tlc/1.2/commands/M0011.json +85 -0
  40. data/schemas/tlc/1.2/commands/M0012.json +79 -0
  41. data/schemas/tlc/1.2/commands/M0013.json +79 -0
  42. data/schemas/tlc/1.2/commands/M0014.json +106 -0
  43. data/schemas/tlc/1.2/commands/M0015.json +112 -0
  44. data/schemas/tlc/1.2/commands/M0016.json +79 -0
  45. data/schemas/tlc/1.2/commands/M0017.json +79 -0
  46. data/schemas/tlc/1.2/commands/M0018.json +112 -0
  47. data/schemas/tlc/1.2/commands/M0019.json +139 -0
  48. data/schemas/tlc/1.2/commands/M0020.json +139 -0
  49. data/schemas/tlc/1.2/commands/M0021.json +79 -0
  50. data/schemas/tlc/1.2/commands/M0022.json +355 -0
  51. data/schemas/tlc/1.2/commands/M0023.json +85 -0
  52. data/schemas/tlc/1.2/commands/M0103.json +103 -0
  53. data/schemas/tlc/1.2/commands/M0104.json +220 -0
  54. data/schemas/tlc/1.2/commands/command_requests.json +7 -0
  55. data/schemas/tlc/1.2/commands/command_responses.json +7 -0
  56. data/schemas/tlc/1.2/commands/commands.json +398 -0
  57. data/schemas/tlc/1.2/rsmp.json +73 -0
  58. data/schemas/tlc/1.2/statuses/S0001.json +137 -0
  59. data/schemas/tlc/1.2/statuses/S0002.json +55 -0
  60. data/schemas/tlc/1.2/statuses/S0003.json +55 -0
  61. data/schemas/tlc/1.2/statuses/S0004.json +55 -0
  62. data/schemas/tlc/1.2/statuses/S0005.json +112 -0
  63. data/schemas/tlc/1.2/statuses/S0006.json +88 -0
  64. data/schemas/tlc/1.2/statuses/S0007.json +116 -0
  65. data/schemas/tlc/1.2/statuses/S0008.json +116 -0
  66. data/schemas/tlc/1.2/statuses/S0009.json +116 -0
  67. data/schemas/tlc/1.2/statuses/S0010.json +116 -0
  68. data/schemas/tlc/1.2/statuses/S0011.json +116 -0
  69. data/schemas/tlc/1.2/statuses/S0012.json +116 -0
  70. data/schemas/tlc/1.2/statuses/S0013.json +88 -0
  71. data/schemas/tlc/1.2/statuses/S0014.json +90 -0
  72. data/schemas/tlc/1.2/statuses/S0015.json +90 -0
  73. data/schemas/tlc/1.2/statuses/S0016.json +61 -0
  74. data/schemas/tlc/1.2/statuses/S0017.json +61 -0
  75. data/schemas/tlc/1.2/statuses/S0018.json +61 -0
  76. data/schemas/tlc/1.2/statuses/S0019.json +61 -0
  77. data/schemas/tlc/1.2/statuses/S0020.json +88 -0
  78. data/schemas/tlc/1.2/statuses/S0021.json +56 -0
  79. data/schemas/tlc/1.2/statuses/S0022.json +55 -0
  80. data/schemas/tlc/1.2/statuses/S0023.json +56 -0
  81. data/schemas/tlc/1.2/statuses/S0024.json +56 -0
  82. data/schemas/tlc/1.2/statuses/S0025.json +250 -0
  83. data/schemas/tlc/1.2/statuses/S0026.json +55 -0
  84. data/schemas/tlc/1.2/statuses/S0027.json +55 -0
  85. data/schemas/tlc/1.2/statuses/S0028.json +55 -0
  86. data/schemas/tlc/1.2/statuses/S0029.json +55 -0
  87. data/schemas/tlc/1.2/statuses/S0030.json +55 -0
  88. data/schemas/tlc/1.2/statuses/S0031.json +55 -0
  89. data/schemas/tlc/1.2/statuses/S0032.json +116 -0
  90. data/schemas/tlc/1.2/statuses/S0033.json +114 -0
  91. data/schemas/tlc/1.2/statuses/S0034.json +61 -0
  92. data/schemas/tlc/1.2/statuses/S0035.json +74 -0
  93. data/schemas/tlc/1.2/statuses/S0091.json +65 -0
  94. data/schemas/tlc/1.2/statuses/S0092.json +65 -0
  95. data/schemas/tlc/1.2/statuses/S0095.json +55 -0
  96. data/schemas/tlc/1.2/statuses/S0096.json +196 -0
  97. data/schemas/tlc/1.2/statuses/S0097.json +82 -0
  98. data/schemas/tlc/1.2/statuses/S0098.json +103 -0
  99. data/schemas/tlc/1.2/statuses/S0201.json +88 -0
  100. data/schemas/tlc/1.2/statuses/S0202.json +88 -0
  101. data/schemas/tlc/1.2/statuses/S0203.json +88 -0
  102. data/schemas/tlc/1.2/statuses/S0204.json +304 -0
  103. data/schemas/tlc/1.2/statuses/S0205.json +88 -0
  104. data/schemas/tlc/1.2/statuses/S0206.json +88 -0
  105. data/schemas/tlc/1.2/statuses/S0207.json +88 -0
  106. data/schemas/tlc/1.2/statuses/S0208.json +304 -0
  107. data/schemas/tlc/1.2/statuses/statuses.json +786 -0
  108. data/schemas/tlc/1.2/sxl.yaml +2082 -0
  109. metadata +113 -27
@@ -0,0 +1,220 @@
1
+ {
2
+ "description" : "Set clock.\nCan be used to manually set the clock of the traffic light controller if automatic time synchronization (NTP or watchdog sync) is not available. For instance, during maintenance work.\nNote: UTC is used.\nRequires security code 1",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "day",
9
+ "hour",
10
+ "minute",
11
+ "month",
12
+ "second",
13
+ "securityCode",
14
+ "year"
15
+ ]
16
+ },
17
+ "cO" : {
18
+ "const" : "setDate"
19
+ }
20
+ }
21
+ },
22
+ {
23
+ "if" : {
24
+ "required" : [
25
+ "q"
26
+ ],
27
+ "properties" : {
28
+ "q" : {
29
+ "const" : "undefined"
30
+ }
31
+ }
32
+ },
33
+ "then" : {
34
+ "s" : {
35
+ "type" : "null"
36
+ }
37
+ },
38
+ "else" : {
39
+ "allOf" : [
40
+ {
41
+ "if" : {
42
+ "required" : [
43
+ "n"
44
+ ],
45
+ "properties" : {
46
+ "n" : {
47
+ "const" : "securityCode"
48
+ }
49
+ }
50
+ },
51
+ "then" : {
52
+ "properties" : {
53
+ "v" : {
54
+ "description" : "Security code 1",
55
+ "type" : "string"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ {
61
+ "if" : {
62
+ "required" : [
63
+ "n"
64
+ ],
65
+ "properties" : {
66
+ "n" : {
67
+ "const" : "year"
68
+ }
69
+ }
70
+ },
71
+ "then" : {
72
+ "properties" : {
73
+ "v" : {
74
+ "allOf" : [
75
+ {
76
+ "description" : "Year"
77
+ },
78
+ {
79
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ },
86
+ {
87
+ "if" : {
88
+ "required" : [
89
+ "n"
90
+ ],
91
+ "properties" : {
92
+ "n" : {
93
+ "const" : "month"
94
+ }
95
+ }
96
+ },
97
+ "then" : {
98
+ "properties" : {
99
+ "v" : {
100
+ "allOf" : [
101
+ {
102
+ "description" : "Month"
103
+ },
104
+ {
105
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ }
111
+ },
112
+ {
113
+ "if" : {
114
+ "required" : [
115
+ "n"
116
+ ],
117
+ "properties" : {
118
+ "n" : {
119
+ "const" : "day"
120
+ }
121
+ }
122
+ },
123
+ "then" : {
124
+ "properties" : {
125
+ "v" : {
126
+ "allOf" : [
127
+ {
128
+ "description" : "Day of month"
129
+ },
130
+ {
131
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
132
+ }
133
+ ]
134
+ }
135
+ }
136
+ }
137
+ },
138
+ {
139
+ "if" : {
140
+ "required" : [
141
+ "n"
142
+ ],
143
+ "properties" : {
144
+ "n" : {
145
+ "const" : "hour"
146
+ }
147
+ }
148
+ },
149
+ "then" : {
150
+ "properties" : {
151
+ "v" : {
152
+ "allOf" : [
153
+ {
154
+ "description" : "Hour"
155
+ },
156
+ {
157
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
158
+ }
159
+ ]
160
+ }
161
+ }
162
+ }
163
+ },
164
+ {
165
+ "if" : {
166
+ "required" : [
167
+ "n"
168
+ ],
169
+ "properties" : {
170
+ "n" : {
171
+ "const" : "minute"
172
+ }
173
+ }
174
+ },
175
+ "then" : {
176
+ "properties" : {
177
+ "v" : {
178
+ "allOf" : [
179
+ {
180
+ "description" : "Minute"
181
+ },
182
+ {
183
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
184
+ }
185
+ ]
186
+ }
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "if" : {
192
+ "required" : [
193
+ "n"
194
+ ],
195
+ "properties" : {
196
+ "n" : {
197
+ "const" : "second"
198
+ }
199
+ }
200
+ },
201
+ "then" : {
202
+ "properties" : {
203
+ "v" : {
204
+ "allOf" : [
205
+ {
206
+ "description" : "Second"
207
+ },
208
+ {
209
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ }
215
+ }
216
+ ]
217
+ }
218
+ }
219
+ ]
220
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "properties" : {
3
+ "arg" : {
4
+ "$ref" : "commands.json"
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "properties" : {
3
+ "rvs" : {
4
+ "$ref" : "commands.json"
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,398 @@
1
+ {
2
+ "items" : {
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "cCI" : {
7
+ "enum" : [
8
+ "M0001",
9
+ "M0002",
10
+ "M0003",
11
+ "M0004",
12
+ "M0005",
13
+ "M0006",
14
+ "M0007",
15
+ "M0008",
16
+ "M0010",
17
+ "M0011",
18
+ "M0012",
19
+ "M0013",
20
+ "M0014",
21
+ "M0015",
22
+ "M0016",
23
+ "M0017",
24
+ "M0018",
25
+ "M0019",
26
+ "M0020",
27
+ "M0021",
28
+ "M0022",
29
+ "M0023",
30
+ "M0103",
31
+ "M0104"
32
+ ]
33
+ }
34
+ }
35
+ },
36
+ {
37
+ "if" : {
38
+ "required" : [
39
+ "cCI"
40
+ ],
41
+ "properties" : {
42
+ "cCI" : {
43
+ "const" : "M0001"
44
+ }
45
+ }
46
+ },
47
+ "then" : {
48
+ "$ref" : "M0001.json"
49
+ }
50
+ },
51
+ {
52
+ "if" : {
53
+ "required" : [
54
+ "cCI"
55
+ ],
56
+ "properties" : {
57
+ "cCI" : {
58
+ "const" : "M0002"
59
+ }
60
+ }
61
+ },
62
+ "then" : {
63
+ "$ref" : "M0002.json"
64
+ }
65
+ },
66
+ {
67
+ "if" : {
68
+ "required" : [
69
+ "cCI"
70
+ ],
71
+ "properties" : {
72
+ "cCI" : {
73
+ "const" : "M0003"
74
+ }
75
+ }
76
+ },
77
+ "then" : {
78
+ "$ref" : "M0003.json"
79
+ }
80
+ },
81
+ {
82
+ "if" : {
83
+ "required" : [
84
+ "cCI"
85
+ ],
86
+ "properties" : {
87
+ "cCI" : {
88
+ "const" : "M0004"
89
+ }
90
+ }
91
+ },
92
+ "then" : {
93
+ "$ref" : "M0004.json"
94
+ }
95
+ },
96
+ {
97
+ "if" : {
98
+ "required" : [
99
+ "cCI"
100
+ ],
101
+ "properties" : {
102
+ "cCI" : {
103
+ "const" : "M0005"
104
+ }
105
+ }
106
+ },
107
+ "then" : {
108
+ "$ref" : "M0005.json"
109
+ }
110
+ },
111
+ {
112
+ "if" : {
113
+ "required" : [
114
+ "cCI"
115
+ ],
116
+ "properties" : {
117
+ "cCI" : {
118
+ "const" : "M0006"
119
+ }
120
+ }
121
+ },
122
+ "then" : {
123
+ "$ref" : "M0006.json"
124
+ }
125
+ },
126
+ {
127
+ "if" : {
128
+ "required" : [
129
+ "cCI"
130
+ ],
131
+ "properties" : {
132
+ "cCI" : {
133
+ "const" : "M0007"
134
+ }
135
+ }
136
+ },
137
+ "then" : {
138
+ "$ref" : "M0007.json"
139
+ }
140
+ },
141
+ {
142
+ "if" : {
143
+ "required" : [
144
+ "cCI"
145
+ ],
146
+ "properties" : {
147
+ "cCI" : {
148
+ "const" : "M0008"
149
+ }
150
+ }
151
+ },
152
+ "then" : {
153
+ "$ref" : "M0008.json"
154
+ }
155
+ },
156
+ {
157
+ "if" : {
158
+ "required" : [
159
+ "cCI"
160
+ ],
161
+ "properties" : {
162
+ "cCI" : {
163
+ "const" : "M0010"
164
+ }
165
+ }
166
+ },
167
+ "then" : {
168
+ "$ref" : "M0010.json"
169
+ }
170
+ },
171
+ {
172
+ "if" : {
173
+ "required" : [
174
+ "cCI"
175
+ ],
176
+ "properties" : {
177
+ "cCI" : {
178
+ "const" : "M0011"
179
+ }
180
+ }
181
+ },
182
+ "then" : {
183
+ "$ref" : "M0011.json"
184
+ }
185
+ },
186
+ {
187
+ "if" : {
188
+ "required" : [
189
+ "cCI"
190
+ ],
191
+ "properties" : {
192
+ "cCI" : {
193
+ "const" : "M0012"
194
+ }
195
+ }
196
+ },
197
+ "then" : {
198
+ "$ref" : "M0012.json"
199
+ }
200
+ },
201
+ {
202
+ "if" : {
203
+ "required" : [
204
+ "cCI"
205
+ ],
206
+ "properties" : {
207
+ "cCI" : {
208
+ "const" : "M0013"
209
+ }
210
+ }
211
+ },
212
+ "then" : {
213
+ "$ref" : "M0013.json"
214
+ }
215
+ },
216
+ {
217
+ "if" : {
218
+ "required" : [
219
+ "cCI"
220
+ ],
221
+ "properties" : {
222
+ "cCI" : {
223
+ "const" : "M0014"
224
+ }
225
+ }
226
+ },
227
+ "then" : {
228
+ "$ref" : "M0014.json"
229
+ }
230
+ },
231
+ {
232
+ "if" : {
233
+ "required" : [
234
+ "cCI"
235
+ ],
236
+ "properties" : {
237
+ "cCI" : {
238
+ "const" : "M0015"
239
+ }
240
+ }
241
+ },
242
+ "then" : {
243
+ "$ref" : "M0015.json"
244
+ }
245
+ },
246
+ {
247
+ "if" : {
248
+ "required" : [
249
+ "cCI"
250
+ ],
251
+ "properties" : {
252
+ "cCI" : {
253
+ "const" : "M0016"
254
+ }
255
+ }
256
+ },
257
+ "then" : {
258
+ "$ref" : "M0016.json"
259
+ }
260
+ },
261
+ {
262
+ "if" : {
263
+ "required" : [
264
+ "cCI"
265
+ ],
266
+ "properties" : {
267
+ "cCI" : {
268
+ "const" : "M0017"
269
+ }
270
+ }
271
+ },
272
+ "then" : {
273
+ "$ref" : "M0017.json"
274
+ }
275
+ },
276
+ {
277
+ "if" : {
278
+ "required" : [
279
+ "cCI"
280
+ ],
281
+ "properties" : {
282
+ "cCI" : {
283
+ "const" : "M0018"
284
+ }
285
+ }
286
+ },
287
+ "then" : {
288
+ "$ref" : "M0018.json"
289
+ }
290
+ },
291
+ {
292
+ "if" : {
293
+ "required" : [
294
+ "cCI"
295
+ ],
296
+ "properties" : {
297
+ "cCI" : {
298
+ "const" : "M0019"
299
+ }
300
+ }
301
+ },
302
+ "then" : {
303
+ "$ref" : "M0019.json"
304
+ }
305
+ },
306
+ {
307
+ "if" : {
308
+ "required" : [
309
+ "cCI"
310
+ ],
311
+ "properties" : {
312
+ "cCI" : {
313
+ "const" : "M0020"
314
+ }
315
+ }
316
+ },
317
+ "then" : {
318
+ "$ref" : "M0020.json"
319
+ }
320
+ },
321
+ {
322
+ "if" : {
323
+ "required" : [
324
+ "cCI"
325
+ ],
326
+ "properties" : {
327
+ "cCI" : {
328
+ "const" : "M0021"
329
+ }
330
+ }
331
+ },
332
+ "then" : {
333
+ "$ref" : "M0021.json"
334
+ }
335
+ },
336
+ {
337
+ "if" : {
338
+ "required" : [
339
+ "cCI"
340
+ ],
341
+ "properties" : {
342
+ "cCI" : {
343
+ "const" : "M0022"
344
+ }
345
+ }
346
+ },
347
+ "then" : {
348
+ "$ref" : "M0022.json"
349
+ }
350
+ },
351
+ {
352
+ "if" : {
353
+ "required" : [
354
+ "cCI"
355
+ ],
356
+ "properties" : {
357
+ "cCI" : {
358
+ "const" : "M0023"
359
+ }
360
+ }
361
+ },
362
+ "then" : {
363
+ "$ref" : "M0023.json"
364
+ }
365
+ },
366
+ {
367
+ "if" : {
368
+ "required" : [
369
+ "cCI"
370
+ ],
371
+ "properties" : {
372
+ "cCI" : {
373
+ "const" : "M0103"
374
+ }
375
+ }
376
+ },
377
+ "then" : {
378
+ "$ref" : "M0103.json"
379
+ }
380
+ },
381
+ {
382
+ "if" : {
383
+ "required" : [
384
+ "cCI"
385
+ ],
386
+ "properties" : {
387
+ "cCI" : {
388
+ "const" : "M0104"
389
+ }
390
+ }
391
+ },
392
+ "then" : {
393
+ "$ref" : "M0104.json"
394
+ }
395
+ }
396
+ ]
397
+ }
398
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "name" : "tlc",
3
+ "description" : "Traffic Light Controllers",
4
+ "version" : "1.2",
5
+ "allOf" : [
6
+ {
7
+ "if" : {
8
+ "required" : [
9
+ "type"
10
+ ],
11
+ "properties" : {
12
+ "type" : {
13
+ "const" : "CommandRequest"
14
+ }
15
+ }
16
+ },
17
+ "then" : {
18
+ "$ref" : "commands/command_requests.json"
19
+ }
20
+ },
21
+ {
22
+ "if" : {
23
+ "required" : [
24
+ "type"
25
+ ],
26
+ "properties" : {
27
+ "type" : {
28
+ "const" : "CommandResponse"
29
+ }
30
+ }
31
+ },
32
+ "then" : {
33
+ "$ref" : "commands/command_responses.json"
34
+ }
35
+ },
36
+ {
37
+ "if" : {
38
+ "required" : [
39
+ "type"
40
+ ],
41
+ "properties" : {
42
+ "type" : {
43
+ "enum" : [
44
+ "StatusRequest",
45
+ "StatusResponse",
46
+ "StatusSubscribe",
47
+ "StatusUnsubscribe",
48
+ "StatusUpdate"
49
+ ]
50
+ }
51
+ }
52
+ },
53
+ "then" : {
54
+ "$ref" : "statuses/statuses.json"
55
+ }
56
+ },
57
+ {
58
+ "if" : {
59
+ "required" : [
60
+ "type"
61
+ ],
62
+ "properties" : {
63
+ "type" : {
64
+ "const" : "Alarm"
65
+ }
66
+ }
67
+ },
68
+ "then" : {
69
+ "$ref" : "alarms/alarms.json"
70
+ }
71
+ }
72
+ ]
73
+ }