rsmp_schema 0.4.5 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
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
+ }