rsmp_schema 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/rsmp_schema/convert/export/json_schema.rb +96 -54
  4. data/lib/rsmp_schema/schema.rb +80 -24
  5. data/lib/rsmp_schema/version.rb +1 -1
  6. data/lib/rsmp_schema.rb +2 -0
  7. data/schemas/tlc/1.0.10/sxl.yaml +20 -65
  8. data/schemas/tlc/1.0.13/sxl.yaml +20 -80
  9. data/schemas/tlc/1.0.14/sxl.yaml +20 -80
  10. data/schemas/tlc/1.0.15/sxl.yaml +20 -87
  11. data/schemas/tlc/1.0.7/sxl.yaml +20 -61
  12. data/schemas/tlc/1.0.8/sxl.yaml +20 -65
  13. data/schemas/tlc/1.0.9/sxl.yaml +20 -65
  14. data/schemas/tlc/1.1/alarms/A0303.json +111 -0
  15. data/schemas/tlc/1.1/alarms/A0304.json +137 -0
  16. data/schemas/tlc/1.1/alarms/alarms.json +33 -1
  17. data/schemas/tlc/1.1/commands/M0001.json +2 -2
  18. data/schemas/tlc/1.1/commands/M0005.json +1 -1
  19. data/schemas/tlc/1.1/commands/M0013.json +1 -1
  20. data/schemas/tlc/1.1/commands/M0019.json +1 -1
  21. data/schemas/tlc/1.1/commands/M0022.json +335 -0
  22. data/schemas/tlc/1.1/commands/M0023.json +64 -0
  23. data/schemas/tlc/1.1/commands/commands.json +32 -0
  24. data/schemas/tlc/1.1/statuses/S0001.json +3 -3
  25. data/schemas/tlc/1.1/statuses/S0002.json +1 -1
  26. data/schemas/tlc/1.1/statuses/S0003.json +1 -1
  27. data/schemas/tlc/1.1/statuses/S0004.json +1 -1
  28. data/schemas/tlc/1.1/statuses/S0007.json +1 -1
  29. data/schemas/tlc/1.1/statuses/S0008.json +1 -1
  30. data/schemas/tlc/1.1/statuses/S0009.json +1 -1
  31. data/schemas/tlc/1.1/statuses/S0010.json +1 -1
  32. data/schemas/tlc/1.1/statuses/S0011.json +1 -1
  33. data/schemas/tlc/1.1/statuses/S0012.json +1 -1
  34. data/schemas/tlc/1.1/statuses/S0013.json +2 -2
  35. data/schemas/tlc/1.1/statuses/S0020.json +1 -1
  36. data/schemas/tlc/1.1/statuses/S0032.json +96 -0
  37. data/schemas/tlc/1.1/statuses/S0033.json +93 -0
  38. data/schemas/tlc/1.1/statuses/S0034.json +40 -0
  39. data/schemas/tlc/1.1/statuses/S0205.json +8 -2
  40. data/schemas/tlc/1.1/statuses/S0206.json +8 -2
  41. data/schemas/tlc/1.1/statuses/S0207.json +8 -2
  42. data/schemas/tlc/1.1/statuses/S0208.json +72 -18
  43. data/schemas/tlc/1.1/statuses/statuses.json +48 -0
  44. data/schemas/tlc/1.1/sxl.yaml +596 -241
  45. metadata +9 -2
@@ -0,0 +1,335 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description" : "Request Signal Priority\n\nUseful for bus priority or other type of priorities like emergency vehicles or groups of cyclists.\n\nThe benefit of using this message over activating inputs or detector logics is that you can specify a priority level, vehicle type and estimated time of arrival. You can also update or cancel the request, and use the corresponding status message to track the status of the request, including how much priority was actually given.\n\nTo understand how this command relates to ETSI/J2735, please see the wiki.\n\nActivating signal priority is expected to provide more green time for a particular movement through the intersection, but the exact mechanism must typically be configured in the controller.\n\nThe movement to prioritize can be referenced in a number of ways, depending on what is configured in the controller, and in the system that sends priority requests. Either:\n\n- Reference a signal group by setting ‘signalGroupId’. This method is simple, but will not allow you to have different priority mechanism for the same signal group, unless they can be distinguished by the vehicle type. For example, if you need to trigger different priorities depending on whether a bus goes straight or makes a turn for the same signal group, you need to use of the other referencing methods.\n- Reference an input by setting ‘inputId’. This can be useful if you previously used inputs to activate priority. The input will not be activated, only the priority.\n- Reference a connection by setting ‘connectionId’. A connection is a movement from a specific ingoing lane to a specific outgoing lane.\n- Reference an intersection approach by setting ‘approachId’.\n- Reference an ingoing lane by setting ‘laneInId’, and optionally also reference an outgoing lane by setting ‘laneOutId’.\n\nReferencing attributes that are not used must be left out, rather than set to null or empty strings. This includes:\n\n- signalGroupId\n- inputId\n- connectionId\n- approachId\n- laneInId\n- laneOutId\n\nReferencing attributes are only used when initiating a request. When updating or cancelling the request, the request is identified by its requestId, and no referencing attributes are allowed.\n\nYou initiate a priority request with type set to ‘new’. You must provide a request id that uniquely identifies the request on the controller. It can be a randomly generated UUID (universally unique identifier), or it can be constructed by combining e.g. a vehicle id and some other identifier. When updating or cancelling a request, you must pass the same request id again.\n\nProviding ETA (estimated time of arrival) when initiating a request is optional, but can help the controller plan ahead in cases where you’re able to send the request before the vehicle arrives at the intersection. You’re allowed to initiate the request without an ETA and provide it in a later request update. But providing the ETA when initiating the request is recommended, since it will give the controller more time to plan ahead.\n\nLike ETA, providing a vehicle type is optional, but can help the controller decide how to best handle the request.\n\nThe priority level provides a way to indicate the relative importance of the request compared to other requests. For example, emergency vehicles or delayed buses could be given a higher priority level.\n\nIf the ETA changes before the priority is cancelled, or you want to change the priority level, you can send another request message with type set to ‘update’. The vehicle type cannot be changed.\n\nWhen you send a priority request, it will be processed to decide if it’s possible to activate the requested priority.\n\nIf the request is accepted, the priority can either be activated immediately, or if another priority is currently active, it can be queued for later activation.\n\nIf the priority cannot be accepted the request is rejected. Cooldown is a specific type of rejection, which means that s similar request has just completed, and some time needs to pass before a similar request can be activated.\n\nWhen a request is queued, it is expected to become activated later, but in case too long passes without activation, the controller is expected to time out the request.\n\nOnce a priority is activated, you’re excepted to cancel it as soon as there’s no need for it anymore, typically when the vehicle has passed the intersection. You cancel a request by sending a request passing the existing request id setting the type to ‘cancel’.\n\nIf a request is never cancelled, the controller is expected to remove the priority at some point, but until then the priority might block requests in other direction which is why you should always cancel a priority when it’s not needed anymore.",
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "approachId",
9
+ "connectionId",
10
+ "eta",
11
+ "inputId",
12
+ "laneInId",
13
+ "laneOutId",
14
+ "level",
15
+ "priorityId",
16
+ "requestId",
17
+ "signalGroupId",
18
+ "type",
19
+ "vehicleType"
20
+ ]
21
+ },
22
+ "cO" : {
23
+ "const" : "requestPriority"
24
+ }
25
+ }
26
+ },
27
+ {
28
+ "if" : {
29
+ "required" : [
30
+ "n"
31
+ ],
32
+ "properties" : {
33
+ "n" : {
34
+ "const" : "requestId"
35
+ }
36
+ }
37
+ },
38
+ "then" : {
39
+ "properties" : {
40
+ "v" : {
41
+ "description" : "A string that uniquely identifies the request on the controller",
42
+ "type" : "string"
43
+ }
44
+ }
45
+ }
46
+ },
47
+ {
48
+ "if" : {
49
+ "required" : [
50
+ "n"
51
+ ],
52
+ "properties" : {
53
+ "n" : {
54
+ "const" : "signalGroupId"
55
+ }
56
+ }
57
+ },
58
+ "then" : {
59
+ "properties" : {
60
+ "v" : {
61
+ "description" : "(Optional) ID of a signal group component.",
62
+ "type" : "string"
63
+ }
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "if" : {
69
+ "required" : [
70
+ "n"
71
+ ],
72
+ "properties" : {
73
+ "n" : {
74
+ "const" : "inputId"
75
+ }
76
+ }
77
+ },
78
+ "then" : {
79
+ "properties" : {
80
+ "v" : {
81
+ "allOf" : [
82
+ {
83
+ "description" : "(Optional) ID of an input, using the same numbering scheme as M0006"
84
+ },
85
+ {
86
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
87
+ }
88
+ ]
89
+ }
90
+ }
91
+ }
92
+ },
93
+ {
94
+ "if" : {
95
+ "required" : [
96
+ "n"
97
+ ],
98
+ "properties" : {
99
+ "n" : {
100
+ "const" : "connectionId"
101
+ }
102
+ }
103
+ },
104
+ "then" : {
105
+ "properties" : {
106
+ "v" : {
107
+ "allOf" : [
108
+ {
109
+ "description" : "(Optional) ID of a connection, connecting an ingoing and an outgoing lane"
110
+ },
111
+ {
112
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ }
118
+ },
119
+ {
120
+ "if" : {
121
+ "required" : [
122
+ "n"
123
+ ],
124
+ "properties" : {
125
+ "n" : {
126
+ "const" : "approachId"
127
+ }
128
+ }
129
+ },
130
+ "then" : {
131
+ "properties" : {
132
+ "v" : {
133
+ "allOf" : [
134
+ {
135
+ "description" : "(Optional) ID of an intersection approach"
136
+ },
137
+ {
138
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
139
+ }
140
+ ]
141
+ }
142
+ }
143
+ }
144
+ },
145
+ {
146
+ "if" : {
147
+ "required" : [
148
+ "n"
149
+ ],
150
+ "properties" : {
151
+ "n" : {
152
+ "const" : "laneInId"
153
+ }
154
+ }
155
+ },
156
+ "then" : {
157
+ "properties" : {
158
+ "v" : {
159
+ "allOf" : [
160
+ {
161
+ "description" : "(Optional) ID of an ingoing lane"
162
+ },
163
+ {
164
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
165
+ }
166
+ ]
167
+ }
168
+ }
169
+ }
170
+ },
171
+ {
172
+ "if" : {
173
+ "required" : [
174
+ "n"
175
+ ],
176
+ "properties" : {
177
+ "n" : {
178
+ "const" : "laneOutId"
179
+ }
180
+ }
181
+ },
182
+ "then" : {
183
+ "properties" : {
184
+ "v" : {
185
+ "allOf" : [
186
+ {
187
+ "description" : "(Optional) ID of an outgoing lane"
188
+ },
189
+ {
190
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
191
+ }
192
+ ]
193
+ }
194
+ }
195
+ }
196
+ },
197
+ {
198
+ "if" : {
199
+ "required" : [
200
+ "n"
201
+ ],
202
+ "properties" : {
203
+ "n" : {
204
+ "const" : "priorityId"
205
+ }
206
+ }
207
+ },
208
+ "then" : {
209
+ "properties" : {
210
+ "v" : {
211
+ "allOf" : [
212
+ {
213
+ "description" : "(Optional) ID of a priority"
214
+ },
215
+ {
216
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
217
+ }
218
+ ]
219
+ }
220
+ }
221
+ }
222
+ },
223
+ {
224
+ "if" : {
225
+ "required" : [
226
+ "n"
227
+ ],
228
+ "properties" : {
229
+ "n" : {
230
+ "const" : "type"
231
+ }
232
+ }
233
+ },
234
+ "then" : {
235
+ "properties" : {
236
+ "v" : {
237
+ "description" : "new: New priority request\nupdate: Update to existing priority request\ncancel: Cancel an existing priority",
238
+ "type" : "string",
239
+ "enum" : [
240
+ "cancel",
241
+ "new",
242
+ "update"
243
+ ]
244
+ }
245
+ }
246
+ }
247
+ },
248
+ {
249
+ "if" : {
250
+ "required" : [
251
+ "n"
252
+ ],
253
+ "properties" : {
254
+ "n" : {
255
+ "const" : "level"
256
+ }
257
+ }
258
+ },
259
+ "then" : {
260
+ "properties" : {
261
+ "v" : {
262
+ "allOf" : [
263
+ {
264
+ "description" : "0: Lowest, 14: Highest"
265
+ },
266
+ {
267
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
268
+ }
269
+ ]
270
+ }
271
+ }
272
+ }
273
+ },
274
+ {
275
+ "if" : {
276
+ "required" : [
277
+ "n"
278
+ ],
279
+ "properties" : {
280
+ "n" : {
281
+ "const" : "eta"
282
+ }
283
+ }
284
+ },
285
+ "then" : {
286
+ "properties" : {
287
+ "v" : {
288
+ "allOf" : [
289
+ {
290
+ "description" : "(Optional) Estimated time of arrival to the intersection, in seconds"
291
+ },
292
+ {
293
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
294
+ }
295
+ ]
296
+ }
297
+ }
298
+ }
299
+ },
300
+ {
301
+ "if" : {
302
+ "required" : [
303
+ "n"
304
+ ],
305
+ "properties" : {
306
+ "n" : {
307
+ "const" : "vehicleType"
308
+ }
309
+ }
310
+ },
311
+ "then" : {
312
+ "properties" : {
313
+ "v" : {
314
+ "description" : "(Optional) Vehicle type\n\npedestrian: Pedestrians\nbicycle: Bicycles\nmotorcycle: Motorcycles\ncar: Passenger vehicle\nbus: Bus used for public transport\nlightTruck: Light truck\nheavyTruck: Heavy truck\ntram: Trams used for Public transport\nemergency: Police, fire or ambulance\nsafetyCar: For e.g. escort vehicles\nspecialTransport: For e.g. heavy load\nother: Other type of vehicle",
315
+ "type" : "string",
316
+ "enum" : [
317
+ "bicycle",
318
+ "bus",
319
+ "car",
320
+ "emergency",
321
+ "heavyTruck",
322
+ "lightTruck",
323
+ "motorcycle",
324
+ "other",
325
+ "pedestrian",
326
+ "safetyCar",
327
+ "specialTransport",
328
+ "tram"
329
+ ]
330
+ }
331
+ }
332
+ }
333
+ }
334
+ ]
335
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description" : "Set timeout for dynamic bands\nSwitch to a designated time plan if this timeout is reached due to lost connection with the supervisor.\nDisable by setting timeout to '0'.\nUsed in conjunction with dynamic bands, M0014",
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "securityCode",
9
+ "status"
10
+ ]
11
+ },
12
+ "cO" : {
13
+ "const" : "setTimeout"
14
+ }
15
+ }
16
+ },
17
+ {
18
+ "if" : {
19
+ "required" : [
20
+ "n"
21
+ ],
22
+ "properties" : {
23
+ "n" : {
24
+ "const" : "status"
25
+ }
26
+ }
27
+ },
28
+ "then" : {
29
+ "properties" : {
30
+ "v" : {
31
+ "allOf" : [
32
+ {
33
+ "description" : "Timeout, in minutes"
34
+ },
35
+ {
36
+ "$ref" : "../../../core/3.1.1/definitions.json#/integer"
37
+ }
38
+ ]
39
+ }
40
+ }
41
+ }
42
+ },
43
+ {
44
+ "if" : {
45
+ "required" : [
46
+ "n"
47
+ ],
48
+ "properties" : {
49
+ "n" : {
50
+ "const" : "securityCode"
51
+ }
52
+ }
53
+ },
54
+ "then" : {
55
+ "properties" : {
56
+ "v" : {
57
+ "description" : "Security code 2",
58
+ "type" : "string"
59
+ }
60
+ }
61
+ }
62
+ }
63
+ ]
64
+ }
@@ -25,6 +25,8 @@
25
25
  "M0019",
26
26
  "M0020",
27
27
  "M0021",
28
+ "M0022",
29
+ "M0023",
28
30
  "M0103",
29
31
  "M0104"
30
32
  ]
@@ -331,6 +333,36 @@
331
333
  "$ref" : "M0021.json"
332
334
  }
333
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
+ },
334
366
  {
335
367
  "if" : {
336
368
  "required" : [
@@ -27,7 +27,7 @@
27
27
  "then" : {
28
28
  "properties" : {
29
29
  "s" : {
30
- "description" : "Signal group status as text field",
30
+ "description" : "Signal group status as text field.\nEach character represent the state of the signal group in consecutive order.\nSignal group status is described in detail in the corresponding section.\n- = Signal group is undefined/does not exist",
31
31
  "type" : "string",
32
32
  "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
@@ -50,7 +50,7 @@
50
50
  "s" : {
51
51
  "allOf" : [
52
52
  {
53
- "description" : "Cycle counter"
53
+ "description" : "Cycle counter.\nUsed for handling of coordination between TLC’s.\nIs counted from 0 until it reaches the cycle time (See S0028).\n\nc = (b + o) mod t\n \nwhere c = cycle counter,\nb = base cycle counter,\no = offset,\nt = cycle time,\nmod = modulo\n\nSee the coordination section for more information."
54
54
  },
55
55
  {
56
56
  "$ref" : "../../../core/3.1.1/definitions.json#/integer"
@@ -76,7 +76,7 @@
76
76
  "s" : {
77
77
  "allOf" : [
78
78
  {
79
- "description" : "Base cycle counter"
79
+ "description" : "Base cycle counter.\nUsed for handling of coordination between TLC’s.\nSynchronized between all TLC’s in an active coordination.\nSee the coordination section for more information."
80
80
  },
81
81
  {
82
82
  "$ref" : "../../../core/3.1.1/definitions.json#/integer"
@@ -24,7 +24,7 @@
24
24
  "then" : {
25
25
  "properties" : {
26
26
  "s" : {
27
- "description" : "Detector logic status as text field",
27
+ "description" : "Detector logic status as text field\nEach character represent the state of the detector logic in consecutive order.\n0 : Detector logic is not active\n1 : Detector logic is active\n- : Detector logic is undefined/does not exist",
28
28
  "type" : "string"
29
29
  }
30
30
  }
@@ -45,7 +45,7 @@
45
45
  "then" : {
46
46
  "properties" : {
47
47
  "s" : {
48
- "description" : "Extended input status as text field",
48
+ "description" : "Extended input status as text field\nEach character represent the state of the detector logic in consecutive order.\n0 : Detector logic is not active\n1 : Detector logic is active\n- : Detector logic is undefined/does not exist",
49
49
  "type" : "string"
50
50
  }
51
51
  }
@@ -45,7 +45,7 @@
45
45
  "then" : {
46
46
  "properties" : {
47
47
  "s" : {
48
- "description" : "Extended output status as text field",
48
+ "description" : "Extended output status as text field\nEach character represent the state of the detector logic in consecutive order.\n0 : Detector logic is not active\n1 : Detector logic is active\n- : Detector logic is undefined/does not exist",
49
49
  "type" : "string"
50
50
  }
51
51
  }
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -28,7 +28,7 @@
28
28
  "s" : {
29
29
  "allOf" : [
30
30
  {
31
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
31
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
32
32
  },
33
33
  {
34
34
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -27,7 +27,7 @@
27
27
  "s" : {
28
28
  "allOf" : [
29
29
  {
30
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
30
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
31
31
  },
32
32
  {
33
33
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -53,7 +53,7 @@
53
53
  "s" : {
54
54
  "allOf" : [
55
55
  {
56
- "pattern" : "(?-mix:^(0|1|2)(?:,(0|1|2))*$)"
56
+ "pattern" : "(?-mix:^(0|1|2|3)(?:,(0|1|2|3))*$)"
57
57
  },
58
58
  {
59
59
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
@@ -27,7 +27,7 @@
27
27
  "s" : {
28
28
  "allOf" : [
29
29
  {
30
- "description" : "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)\nOther value: Intersection number"
30
+ "description" : "Comma separated list of intersections which the status relates to, e.g. “1,2”.\nUse “0” for all intersections of the TLC."
31
31
  },
32
32
  {
33
33
  "$ref" : "../../../core/3.1.1/definitions.json#/integer_list"