rsmp_schema 0.5.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rspec.yaml +1 -1
- data/.tool-versions +1 -1
- data/Gemfile.lock +24 -22
- data/examples/validate.rb +1 -1
- data/lib/rsmp_schema/version.rb +1 -1
- data/rsmp_schema.gemspec +5 -5
- data/schemas/core/3.2/alarm_suspended_resumed.json +2 -2
- data/schemas/tlc/1.2/statuses/S0006.json +3 -3
- data/schemas/tlc/1.2/sxl.yaml +4 -4
- data/schemas/tlc/1.2.1/alarms/A0001.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0002.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0003.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0004.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0005.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0006.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0007.json +59 -0
- data/schemas/tlc/1.2.1/alarms/A0008.json +61 -0
- data/schemas/tlc/1.2.1/alarms/A0009.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0010.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0101.json +3 -0
- data/schemas/tlc/1.2.1/alarms/A0201.json +60 -0
- data/schemas/tlc/1.2.1/alarms/A0202.json +60 -0
- data/schemas/tlc/1.2.1/alarms/A0301.json +132 -0
- data/schemas/tlc/1.2.1/alarms/A0302.json +158 -0
- data/schemas/tlc/1.2.1/alarms/A0303.json +132 -0
- data/schemas/tlc/1.2.1/alarms/A0304.json +158 -0
- data/schemas/tlc/1.2.1/alarms/alarms.json +286 -0
- data/schemas/tlc/1.2.1/commands/M0001.json +138 -0
- data/schemas/tlc/1.2.1/commands/M0002.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0003.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0004.json +85 -0
- data/schemas/tlc/1.2.1/commands/M0005.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0006.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0007.json +85 -0
- data/schemas/tlc/1.2.1/commands/M0008.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0010.json +85 -0
- data/schemas/tlc/1.2.1/commands/M0011.json +85 -0
- data/schemas/tlc/1.2.1/commands/M0012.json +79 -0
- data/schemas/tlc/1.2.1/commands/M0013.json +79 -0
- data/schemas/tlc/1.2.1/commands/M0014.json +106 -0
- data/schemas/tlc/1.2.1/commands/M0015.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0016.json +79 -0
- data/schemas/tlc/1.2.1/commands/M0017.json +79 -0
- data/schemas/tlc/1.2.1/commands/M0018.json +112 -0
- data/schemas/tlc/1.2.1/commands/M0019.json +139 -0
- data/schemas/tlc/1.2.1/commands/M0020.json +139 -0
- data/schemas/tlc/1.2.1/commands/M0021.json +79 -0
- data/schemas/tlc/1.2.1/commands/M0022.json +355 -0
- data/schemas/tlc/1.2.1/commands/M0023.json +85 -0
- data/schemas/tlc/1.2.1/commands/M0103.json +103 -0
- data/schemas/tlc/1.2.1/commands/M0104.json +220 -0
- data/schemas/tlc/1.2.1/commands/command_requests.json +7 -0
- data/schemas/tlc/1.2.1/commands/command_responses.json +7 -0
- data/schemas/tlc/1.2.1/commands/commands.json +398 -0
- data/schemas/tlc/1.2.1/rsmp.json +73 -0
- data/schemas/tlc/1.2.1/statuses/S0001.json +137 -0
- data/schemas/tlc/1.2.1/statuses/S0002.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0003.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0004.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0005.json +112 -0
- data/schemas/tlc/1.2.1/statuses/S0006.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0007.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0008.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0009.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0010.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0011.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0012.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0013.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0014.json +90 -0
- data/schemas/tlc/1.2.1/statuses/S0015.json +90 -0
- data/schemas/tlc/1.2.1/statuses/S0016.json +61 -0
- data/schemas/tlc/1.2.1/statuses/S0017.json +61 -0
- data/schemas/tlc/1.2.1/statuses/S0018.json +61 -0
- data/schemas/tlc/1.2.1/statuses/S0019.json +61 -0
- data/schemas/tlc/1.2.1/statuses/S0020.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0021.json +56 -0
- data/schemas/tlc/1.2.1/statuses/S0022.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0023.json +56 -0
- data/schemas/tlc/1.2.1/statuses/S0024.json +56 -0
- data/schemas/tlc/1.2.1/statuses/S0025.json +250 -0
- data/schemas/tlc/1.2.1/statuses/S0026.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0027.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0028.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0029.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0030.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0031.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0032.json +116 -0
- data/schemas/tlc/1.2.1/statuses/S0033.json +114 -0
- data/schemas/tlc/1.2.1/statuses/S0034.json +61 -0
- data/schemas/tlc/1.2.1/statuses/S0035.json +74 -0
- data/schemas/tlc/1.2.1/statuses/S0091.json +65 -0
- data/schemas/tlc/1.2.1/statuses/S0092.json +65 -0
- data/schemas/tlc/1.2.1/statuses/S0095.json +55 -0
- data/schemas/tlc/1.2.1/statuses/S0096.json +196 -0
- data/schemas/tlc/1.2.1/statuses/S0097.json +82 -0
- data/schemas/tlc/1.2.1/statuses/S0098.json +103 -0
- data/schemas/tlc/1.2.1/statuses/S0201.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0202.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0203.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0204.json +304 -0
- data/schemas/tlc/1.2.1/statuses/S0205.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0206.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0207.json +88 -0
- data/schemas/tlc/1.2.1/statuses/S0208.json +304 -0
- data/schemas/tlc/1.2.1/statuses/statuses.json +786 -0
- data/schemas/tlc/1.2.1/sxl.yaml +2109 -0
- metadata +110 -13
@@ -0,0 +1,2109 @@
|
|
1
|
+
---
|
2
|
+
meta:
|
3
|
+
name: tlc
|
4
|
+
description: Traffic Light Controllers
|
5
|
+
version: 1.2.1
|
6
|
+
objects:
|
7
|
+
Traffic Light Controller:
|
8
|
+
description:
|
9
|
+
aggregated_status:
|
10
|
+
1:
|
11
|
+
title: Local mode
|
12
|
+
description: Traffic Light Controller is in local mode. NTS has no control.
|
13
|
+
2:
|
14
|
+
title: No Communications
|
15
|
+
3:
|
16
|
+
title: High Priority Fault
|
17
|
+
description: Traffic Light Controller is in fail safe mode; e.g. yellow flash
|
18
|
+
or dark mode
|
19
|
+
4:
|
20
|
+
title: Medium Priority Fault
|
21
|
+
description: |-
|
22
|
+
Traffic Light Controller has a medium priority fault, but not in fail safe mode.
|
23
|
+
E.g. several lamp faults or detector fault
|
24
|
+
5:
|
25
|
+
title: Low Priority Fault
|
26
|
+
description: Traffic Light Controller has a low priority fault. E.g. Detector
|
27
|
+
fault
|
28
|
+
6:
|
29
|
+
title: Connected / Normal - In Use
|
30
|
+
7:
|
31
|
+
title: Connected / Normal - Idle
|
32
|
+
description: |-
|
33
|
+
Traffic Light Controller dark according to configuration.
|
34
|
+
NOTE! When dark according to configuration the controller is considered to be in use
|
35
|
+
8:
|
36
|
+
title: Not Connected
|
37
|
+
functional_position: null
|
38
|
+
functional_state: null
|
39
|
+
alarms:
|
40
|
+
A0001:
|
41
|
+
description: |-
|
42
|
+
Serious hardware error.
|
43
|
+
Is a "major fault" defined according to 3.8 i EN12675 which causes the controller to switch to a "failure mode" according to 3.6 in EN12675.
|
44
|
+
priority: 2
|
45
|
+
category: D
|
46
|
+
A0002:
|
47
|
+
description: |-
|
48
|
+
Less serious hardware error.
|
49
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
50
|
+
priority: 3
|
51
|
+
category: D
|
52
|
+
A0003:
|
53
|
+
description: |-
|
54
|
+
Serious configuration error.
|
55
|
+
Is a "major fault" defined according to 3.8 in EN12675 which causes the controller to switch to a "failure mode" according to 3.6 in EN12675.
|
56
|
+
priority: 2
|
57
|
+
category: D
|
58
|
+
A0004:
|
59
|
+
description: |-
|
60
|
+
Less serious configuration error.
|
61
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
62
|
+
priority: 3
|
63
|
+
category: D
|
64
|
+
A0005:
|
65
|
+
description: |-
|
66
|
+
Synchronisation error (coordination).
|
67
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
68
|
+
priority: 3
|
69
|
+
category: D
|
70
|
+
A0006:
|
71
|
+
description: |-
|
72
|
+
Safety error
|
73
|
+
Is a "major fault" defined according to 3.8 in EN12675 which causes the controller to switch to a "failure mode" according to 3.6 in EN12675.
|
74
|
+
priority: 2
|
75
|
+
category: D
|
76
|
+
A0007:
|
77
|
+
description: |-
|
78
|
+
Communication error.
|
79
|
+
Used for communication errors with the central system. Includes NTP connection loss if the TLC is configured to use NTP.
|
80
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
81
|
+
priority: 3
|
82
|
+
category: D
|
83
|
+
arguments:
|
84
|
+
protocol:
|
85
|
+
type: string
|
86
|
+
description: Type of communication error, e.g. NTP or RSMP
|
87
|
+
values:
|
88
|
+
rsmp: RSMP
|
89
|
+
ntp: NTP
|
90
|
+
A0009:
|
91
|
+
description: |-
|
92
|
+
Other error.
|
93
|
+
Used for other errors not covered by any other alarm type.
|
94
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
95
|
+
priority: 3
|
96
|
+
category: D
|
97
|
+
A0010:
|
98
|
+
description: |-
|
99
|
+
Door open.
|
100
|
+
Used for open door (room or cabinet).
|
101
|
+
priority: 3
|
102
|
+
category: D
|
103
|
+
statuses:
|
104
|
+
S0001:
|
105
|
+
description: |-
|
106
|
+
Signal group status.
|
107
|
+
Provides the status of each signal group, including basic information such as green, yellow and red. But also detailed technical information.
|
108
|
+
Can be used to draw a live signal group diagram as well provide diagnostic information about the performance of the controller.
|
109
|
+
arguments:
|
110
|
+
signalgroupstatus:
|
111
|
+
type: string
|
112
|
+
description: |-
|
113
|
+
Signal group status as text field.
|
114
|
+
Each character represent the state of the signal group in consecutive order,
|
115
|
+
where the leftmost character starts with signal group 1.
|
116
|
+
Signal group status is described in detail in the corresponding section.
|
117
|
+
- : Signal group is undefined/does not exist
|
118
|
+
pattern: "^[a-hA-G0-9N-P]*$"
|
119
|
+
cyclecounter:
|
120
|
+
type: integer
|
121
|
+
description: |-
|
122
|
+
Cycle counter.
|
123
|
+
Used for handling of coordination between TLC’s.
|
124
|
+
Is counted from 0 until it reaches the cycle time (See S0028).
|
125
|
+
|
126
|
+
c = (b + o) mod t
|
127
|
+
|
128
|
+
where c = cycle counter,
|
129
|
+
b = base cycle counter,
|
130
|
+
o = offset,
|
131
|
+
t = cycle time,
|
132
|
+
mod = modulo
|
133
|
+
|
134
|
+
See the coordination section for more information.
|
135
|
+
min: 0
|
136
|
+
max: 999
|
137
|
+
basecyclecounter:
|
138
|
+
type: integer
|
139
|
+
description: |-
|
140
|
+
Base cycle counter.
|
141
|
+
Used for handling of coordination between TLC’s.
|
142
|
+
Synchronized between all TLC’s in an active coordination.
|
143
|
+
See the coordination section for more information.
|
144
|
+
min: 0
|
145
|
+
max: 999
|
146
|
+
stage:
|
147
|
+
type: integer
|
148
|
+
description: Current stage (isolated)
|
149
|
+
min: 0
|
150
|
+
max: 999
|
151
|
+
S0002:
|
152
|
+
description: |-
|
153
|
+
Detector logic status.
|
154
|
+
Provides the status of all detector logics of the controller.
|
155
|
+
Can be used to draw a live signal group diagram as well provide diagnostic information about the performance of the controller. Can also be used for bus priority, external control systems, and much more.
|
156
|
+
arguments:
|
157
|
+
detectorlogicstatus:
|
158
|
+
type: string
|
159
|
+
description: |-
|
160
|
+
Detector logic status as text field.
|
161
|
+
Each character represent the state of the detector logic in consecutive order,
|
162
|
+
where the leftmost character starts with detector logic 1.
|
163
|
+
0 : Detector logic is not active
|
164
|
+
1 : Detector logic is active
|
165
|
+
- : Detector logic is undefined/does not exist
|
166
|
+
S0003:
|
167
|
+
description: |-
|
168
|
+
Input status.
|
169
|
+
Input (1-255) of the controllers general purpose I/O.
|
170
|
+
Input is used where the traffic light controller must react to external control. It could be external detectors, bus priority, and much more.
|
171
|
+
arguments:
|
172
|
+
inputstatus:
|
173
|
+
type: string
|
174
|
+
description: |-
|
175
|
+
Input status as text field.
|
176
|
+
Each character represent the state of the input in consecutive order,
|
177
|
+
where the leftmost character starts with input 1.
|
178
|
+
0 : Input is not active
|
179
|
+
1 : Input is active
|
180
|
+
- : Input is undefined/does not exist
|
181
|
+
S0004:
|
182
|
+
description: |-
|
183
|
+
Output status.
|
184
|
+
Output (1-255) of the controllers general purpose I/O.
|
185
|
+
Can be used for all types of output where the traffic light controller needs to control other equipment. Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
|
186
|
+
arguments:
|
187
|
+
outputstatus:
|
188
|
+
type: string
|
189
|
+
description: |-
|
190
|
+
Output status as text field.
|
191
|
+
Each character represent the state of the output status in consecutive order,
|
192
|
+
where the leftmost character starts with output 1.
|
193
|
+
0 : Output is not active
|
194
|
+
1 : Output is active
|
195
|
+
- : Output is undefined/does not exist
|
196
|
+
S0005:
|
197
|
+
description: |-
|
198
|
+
Traffic Light Controller starting.
|
199
|
+
The traffic signal is starting, e.g. it is in startup mode and has not begun working normally yet.
|
200
|
+
During startup mode the traffic controller shows dark, red, yellow flash or using the predetermined start cycle (minimum times).
|
201
|
+
arguments:
|
202
|
+
status:
|
203
|
+
type: boolean
|
204
|
+
description: |-
|
205
|
+
False: Controller is not in start up mode
|
206
|
+
True: Controller is currently in start up mode
|
207
|
+
statusByIntersection:
|
208
|
+
description: |-
|
209
|
+
False: Intersection is not in start up mode
|
210
|
+
True: Intersection is currently in start up mode
|
211
|
+
type: array
|
212
|
+
items:
|
213
|
+
intersection:
|
214
|
+
type: integer
|
215
|
+
description: Intersection id
|
216
|
+
min: 0
|
217
|
+
max: 255
|
218
|
+
startup:
|
219
|
+
type: boolean
|
220
|
+
description: Start up mode
|
221
|
+
S0006:
|
222
|
+
description: |-
|
223
|
+
Emergency route.
|
224
|
+
The status is active during emergency prioritization.
|
225
|
+
Used in situations where full priority is given in the emergency vehicle program
|
226
|
+
or for other types of priority in some cases.
|
227
|
+
|
228
|
+
If no emergency route is active, status should be set to False, and emergencystage to zero.
|
229
|
+
|
230
|
+
Deprecated, use S0035 instead.
|
231
|
+
arguments:
|
232
|
+
status:
|
233
|
+
type: boolean
|
234
|
+
deprecated: true
|
235
|
+
description: |-
|
236
|
+
False: Emergency route inactive
|
237
|
+
True: Emergency route active
|
238
|
+
emergencystage:
|
239
|
+
type: integer
|
240
|
+
deprecated: true
|
241
|
+
description: Number of emergency route (set to zero if no route is active)
|
242
|
+
min: 0
|
243
|
+
max: 255
|
244
|
+
S0007:
|
245
|
+
description: |-
|
246
|
+
Controller switched on.
|
247
|
+
The controller is active and is not in dark mode.
|
248
|
+
Used to determine if the there is output to the signal heads, e.g. it shows red, green or yellow to the vehicles.
|
249
|
+
During maintenance work the controller might be using dark mode (no output to the signal heads).
|
250
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "0" and "True" (one intersection) or "1,2" and "True,False" (two intersections).
|
251
|
+
arguments:
|
252
|
+
intersection:
|
253
|
+
type: integer_list
|
254
|
+
description: |-
|
255
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
256
|
+
Use “0” for all intersections of the TLC.
|
257
|
+
min: 0
|
258
|
+
max: 255
|
259
|
+
status:
|
260
|
+
type: boolean_list
|
261
|
+
description: |-
|
262
|
+
False: Traffic Light Controller in dark mode
|
263
|
+
True: Traffic Light Controller not in dark mode
|
264
|
+
source:
|
265
|
+
description: Source of the status change
|
266
|
+
type: string_list
|
267
|
+
values:
|
268
|
+
operator_panel: Operator panel
|
269
|
+
calendar_clock: Calendar/clock
|
270
|
+
control_block: Control block
|
271
|
+
forced: Forced due to external command e.g. supervisor
|
272
|
+
startup: Set after startup mode
|
273
|
+
other: Other reason
|
274
|
+
S0008:
|
275
|
+
description: |-
|
276
|
+
Manual control.
|
277
|
+
Traffic control deactivated in controller.
|
278
|
+
Signal timings is controlled manually by service personnel using the operating panel of the controller.
|
279
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "0" and "True" (one intersection) or "1,2" and "True,False" (two intersections).
|
280
|
+
arguments:
|
281
|
+
intersection:
|
282
|
+
type: integer_list
|
283
|
+
description: |-
|
284
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
285
|
+
Use “0” for all intersections of the TLC.
|
286
|
+
min: 0
|
287
|
+
max: 255
|
288
|
+
status:
|
289
|
+
type: boolean_list
|
290
|
+
description: |-
|
291
|
+
False: Manual control inactive
|
292
|
+
True: Manual control active
|
293
|
+
source:
|
294
|
+
type: string_list
|
295
|
+
description: Source of the status change
|
296
|
+
values:
|
297
|
+
operator_panel: Operator panel
|
298
|
+
calendar_clock: Calendar/clock
|
299
|
+
control_block: Control block
|
300
|
+
forced: Forced due to external command e.g. supervisor
|
301
|
+
startup: Set after startup mode
|
302
|
+
other: Other reason
|
303
|
+
S0009:
|
304
|
+
description: |-
|
305
|
+
Fixed time control.
|
306
|
+
Traffic actuated control deactivated and a pre-timed control is used.
|
307
|
+
Usually only used in case normal detectors can't be used, e.g. during maintenance work.
|
308
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "0" and "True" (one intersection) or "1,2" and "True,False" (two intersections).
|
309
|
+
arguments:
|
310
|
+
intersection:
|
311
|
+
type: integer_list
|
312
|
+
description: |-
|
313
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
314
|
+
Use “0” for all intersections of the TLC.
|
315
|
+
min: 0
|
316
|
+
max: 255
|
317
|
+
status:
|
318
|
+
type: boolean_list
|
319
|
+
description: |-
|
320
|
+
False: Fixed time control inactive
|
321
|
+
True: Fixed time control active
|
322
|
+
source:
|
323
|
+
type: string_list
|
324
|
+
description: Source of the status change
|
325
|
+
values:
|
326
|
+
operator_panel: Operator panel
|
327
|
+
calendar_clock: Calendar/clock
|
328
|
+
control_block: Control block
|
329
|
+
forced: Forced due to external command e.g. supervisor
|
330
|
+
startup: Set after startup mode
|
331
|
+
other: Other reason
|
332
|
+
S0010:
|
333
|
+
description: |-
|
334
|
+
Isolated control.
|
335
|
+
Isolated control mode indicates that the controller operates independently of any other traffic light controller. This may be different depending on traffic program (time plan).
|
336
|
+
Used to determine if the controller is operating independently or operating with other controllers (coordination).
|
337
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "0" and "True" (one intersection) or "1,2" and "True,False" (two intersections).
|
338
|
+
arguments:
|
339
|
+
intersection:
|
340
|
+
type: integer_list
|
341
|
+
description: |-
|
342
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
343
|
+
Use “0” for all intersections of the TLC.
|
344
|
+
min: 0
|
345
|
+
max: 255
|
346
|
+
status:
|
347
|
+
type: boolean_list
|
348
|
+
description: |-
|
349
|
+
False: Isolated control disabled
|
350
|
+
True: Isolated control enabled (Vehicle actuated control or Fixed time control)
|
351
|
+
source:
|
352
|
+
type: string_list
|
353
|
+
description: Source of the status change
|
354
|
+
values:
|
355
|
+
operator_panel: Operator panel
|
356
|
+
calendar_clock: Calendar/clock
|
357
|
+
control_block: Control block
|
358
|
+
forced: Forced due to external command e.g. supervisor
|
359
|
+
startup: Set after startup mode
|
360
|
+
other: Other reason
|
361
|
+
S0011:
|
362
|
+
description: |-
|
363
|
+
Yellow flash.
|
364
|
+
The controller shows yellow flash.
|
365
|
+
Yellow flash may be used during a serious fault (depending on configuration) or maintenance work. It can also be manually set using M0001.
|
366
|
+
Some countries may use yellow flash as an normal operating mode, and not necessarily during fault.
|
367
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "True,False"
|
368
|
+
arguments:
|
369
|
+
intersection:
|
370
|
+
type: integer_list
|
371
|
+
description: |-
|
372
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
373
|
+
Use “0” for all intersections of the TLC.
|
374
|
+
min: 0
|
375
|
+
max: 255
|
376
|
+
status:
|
377
|
+
type: boolean_list
|
378
|
+
description: |-
|
379
|
+
False: Yellow flash disabled
|
380
|
+
True: Yellow flash enabled
|
381
|
+
source:
|
382
|
+
type: string_list
|
383
|
+
description: Source of the status change
|
384
|
+
values:
|
385
|
+
operator_panel: Operator panel
|
386
|
+
calendar_clock: Calendar/clock
|
387
|
+
control_block: Control block
|
388
|
+
forced: Forced due to external command e.g. supervisor
|
389
|
+
startup: Set after startup mode
|
390
|
+
other: Other reason
|
391
|
+
S0012:
|
392
|
+
description: |-
|
393
|
+
All red.
|
394
|
+
The controller show all red.
|
395
|
+
All red can be manually set using the controllers operating panel during maintenance work.
|
396
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "True,False"
|
397
|
+
arguments:
|
398
|
+
intersection:
|
399
|
+
type: integer_list
|
400
|
+
description: |-
|
401
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
402
|
+
Use “0” for all intersections of the TLC.
|
403
|
+
min: 0
|
404
|
+
max: 255
|
405
|
+
status:
|
406
|
+
type: boolean_list
|
407
|
+
description: |-
|
408
|
+
False: All red disabled
|
409
|
+
True: All red enabled
|
410
|
+
source:
|
411
|
+
type: string_list
|
412
|
+
description: Source of the status change
|
413
|
+
values:
|
414
|
+
operator_panel: Operator panel
|
415
|
+
calendar_clock: Calendar/clock
|
416
|
+
control_block: Control block
|
417
|
+
forced: Forced due to external command e.g. supervisor
|
418
|
+
startup: Set after startup mode
|
419
|
+
other: Other reason
|
420
|
+
S0013:
|
421
|
+
description: |-
|
422
|
+
Police key
|
423
|
+
The controller is forced to dark mode or yellow flash.
|
424
|
+
The "police key" is a external control switch present in some controllers that manually switches the controller to either dark mode or yellow flash.
|
425
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "0,1"
|
426
|
+
arguments:
|
427
|
+
intersection:
|
428
|
+
type: integer_list
|
429
|
+
description: |-
|
430
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
431
|
+
Use “0” for all intersections of the TLC.
|
432
|
+
min: 0
|
433
|
+
max: 255
|
434
|
+
status:
|
435
|
+
type: integer_list
|
436
|
+
values:
|
437
|
+
0: disabled
|
438
|
+
1: dark mode
|
439
|
+
2: yellow flash
|
440
|
+
3: all red
|
441
|
+
S0014:
|
442
|
+
description: |-
|
443
|
+
Current time plan.
|
444
|
+
The current time plan (signal program) used in the controller. There may be 1-255 predefined time plans.
|
445
|
+
The time plan (signal program) may change signal timings, cycle time, control strategy and much more. Typical usage is is scenario based control where change of program is used to change priority etc.
|
446
|
+
arguments:
|
447
|
+
status:
|
448
|
+
type: integer
|
449
|
+
description: Current time plan
|
450
|
+
min: 1
|
451
|
+
max: 255
|
452
|
+
source:
|
453
|
+
type: string
|
454
|
+
description: Source of the status change
|
455
|
+
values:
|
456
|
+
operator_panel: Operator panel
|
457
|
+
calendar_clock: Calendar/clock
|
458
|
+
control_block: Control block
|
459
|
+
forced: Forced due to external command e.g. supervisor
|
460
|
+
startup: Set after startup mode
|
461
|
+
other: Other reason
|
462
|
+
S0015:
|
463
|
+
description: |-
|
464
|
+
Current traffic situation.
|
465
|
+
The current traffic situation used in the controller.
|
466
|
+
Used for area-based control where the M0003 command can be sent to a master traffic light controller about which predefined traffic situation to use (1-255).
|
467
|
+
Traffic 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.
|
468
|
+
arguments:
|
469
|
+
status:
|
470
|
+
type: integer
|
471
|
+
description: Current traffic situation
|
472
|
+
min: 1
|
473
|
+
max: 255
|
474
|
+
source:
|
475
|
+
type: string
|
476
|
+
description: Source of the status change
|
477
|
+
values:
|
478
|
+
operator_panel: Operator panel
|
479
|
+
calendar_clock: Calendar/clock
|
480
|
+
control_block: Control block
|
481
|
+
forced: Forced due to external command e.g. supervisor
|
482
|
+
startup: Set after startup mode
|
483
|
+
other: Other reason
|
484
|
+
S0016:
|
485
|
+
description: |-
|
486
|
+
Number of detector logics.
|
487
|
+
Can be used by the management system to check the number of detector logics configured in the controller.
|
488
|
+
arguments:
|
489
|
+
number:
|
490
|
+
type: integer
|
491
|
+
description: Number of detector logics
|
492
|
+
min: 1
|
493
|
+
max: 65025
|
494
|
+
S0017:
|
495
|
+
description: |-
|
496
|
+
Number of signal groups.
|
497
|
+
Can be used for the management system to check the number of signal groups configured in the controller.
|
498
|
+
arguments:
|
499
|
+
number:
|
500
|
+
type: integer
|
501
|
+
description: Number of signal groups
|
502
|
+
min: 1
|
503
|
+
max: 65025
|
504
|
+
S0019:
|
505
|
+
description: |-
|
506
|
+
Number of traffic situations.
|
507
|
+
Can be used for the management system to check the number of traffic situations configured in the controller.
|
508
|
+
arguments:
|
509
|
+
number:
|
510
|
+
type: integer
|
511
|
+
description: Number of traffic situations
|
512
|
+
min: 1
|
513
|
+
max: 65025
|
514
|
+
S0020:
|
515
|
+
description: |-
|
516
|
+
Control mode.
|
517
|
+
Can be used for the management system to check the current control mode (startup, normal, standby, failure, test).
|
518
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "startup,control"
|
519
|
+
arguments:
|
520
|
+
intersection:
|
521
|
+
type: integer_list
|
522
|
+
description: |-
|
523
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
524
|
+
Use “0” for all intersections of the TLC.
|
525
|
+
min: 0
|
526
|
+
max: 255
|
527
|
+
controlmode:
|
528
|
+
type: string_list
|
529
|
+
values:
|
530
|
+
startup: The controller starts up, performs a power on self test and performs each :term:`start-up interval`
|
531
|
+
control: Normal 3-light control
|
532
|
+
standby: The controller is in dark or yellow flash mode (either according to programming or manually set)
|
533
|
+
failure: The controller has a “major fault” defined according to 3.8 i EN12675. The controller is in dark or yellow flash mode
|
534
|
+
test: Mode used for various tests, e.g. signal lights
|
535
|
+
S0021:
|
536
|
+
description: |-
|
537
|
+
Manually set detector logic.
|
538
|
+
Provides status of detector logic (1-255) regarding if they are either forced to true or false.
|
539
|
+
Can be used to connect RSMP compatible detection equipment to the traffic light controller. Can also be used for prioritization.
|
540
|
+
arguments:
|
541
|
+
detectorlogics:
|
542
|
+
type: string
|
543
|
+
description: |-
|
544
|
+
Manually set detector logic as text field.
|
545
|
+
Each character represent the state in consecutive order,
|
546
|
+
where the leftmost character starts with detector logic 1.
|
547
|
+
0 : Detector logic not manually set
|
548
|
+
1 : Detector logic manually set
|
549
|
+
- : Detector logic is undefined/does not exist
|
550
|
+
pattern: "^[01]*$"
|
551
|
+
S0022:
|
552
|
+
description: |-
|
553
|
+
List of time plans.
|
554
|
+
Provides a list of the configured time plans which is possible to use. This status was added due to status S0018 only provided the total number of time plans and not which were possible to use with M0002.
|
555
|
+
Can be used for the management system to check the number of time plans configured in the controller.
|
556
|
+
arguments:
|
557
|
+
status:
|
558
|
+
type: string
|
559
|
+
description: Comma separated list of configured time plans. E.g. "1,2,3,5"
|
560
|
+
S0023:
|
561
|
+
description: |-
|
562
|
+
Dynamic bands.
|
563
|
+
Provides a list of all defined dynamic bands. Dynamic bands moves start of signal groups in the cycle and changes the signal timings.
|
564
|
+
A typical usage of dynamic bands is scenario based control where changing of signal timings is used for optimal traffic flow.
|
565
|
+
arguments:
|
566
|
+
status:
|
567
|
+
type: string
|
568
|
+
description: |-
|
569
|
+
Dynamic bands.
|
570
|
+
Each dynamic band are written as pp-dd-ee where:
|
571
|
+
pp=Time plan
|
572
|
+
dd=Dynamic band number (from 1-10)
|
573
|
+
ee=Extension in seconds in this band
|
574
|
+
|
575
|
+
Each dynamic band is separated with a comma.
|
576
|
+
|
577
|
+
E.g.
|
578
|
+
pp-dd-ee,pp-dd-ee
|
579
|
+
pattern: "(^$)|(^(?<item>(\\d{1,2})\\-\\d{1,2}-\\d{1,2})(,\\g<item>)*$)"
|
580
|
+
S0024:
|
581
|
+
description: |-
|
582
|
+
Offset time.
|
583
|
+
Offset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.
|
584
|
+
Can be used by the management system to check to fine tune the coordination for optimal traffic flow.
|
585
|
+
arguments:
|
586
|
+
status:
|
587
|
+
type: string
|
588
|
+
description: |-
|
589
|
+
Offset table
|
590
|
+
Each offset time is written as p-t where:
|
591
|
+
p=time plan number (from 1 to 255)
|
592
|
+
t=offset time in seconds (from 0 to 255)
|
593
|
+
|
594
|
+
Each offset time is separated with a comma
|
595
|
+
|
596
|
+
E.g.
|
597
|
+
1-0,2-13-3-7
|
598
|
+
pattern: "^(\\d{1,3}\\-\\d{1,3})(?:,(\\d{1,3}\\-\\d{1,3}))*$"
|
599
|
+
S0026:
|
600
|
+
description: |-
|
601
|
+
Week time table.
|
602
|
+
Week time table for signal programs (time plan) to use for each day during a week.
|
603
|
+
The week time table determine which predefined signal timings (time plan) to use during the week for optimal traffic flow.
|
604
|
+
arguments:
|
605
|
+
status:
|
606
|
+
type: string
|
607
|
+
description: |-
|
608
|
+
Week time table. Defines time table to use for each week day
|
609
|
+
Each day is written as d-t where:
|
610
|
+
d=day of week
|
611
|
+
t=time table nr
|
612
|
+
|
613
|
+
Day of week legend:
|
614
|
+
0=Monday
|
615
|
+
1=Tuesday
|
616
|
+
2=Wednesday
|
617
|
+
3=Thursday
|
618
|
+
4=Friday
|
619
|
+
5=Saturday
|
620
|
+
6=Sunday
|
621
|
+
|
622
|
+
Each segment is separated with a comma
|
623
|
+
E.g.
|
624
|
+
d-t,d-t
|
625
|
+
S0027:
|
626
|
+
description: |-
|
627
|
+
Time tables.
|
628
|
+
Time of day for when to switch signal program (time plan).
|
629
|
+
The signal timings (time plan) to use during time of day for optimal traffic flow.
|
630
|
+
arguments:
|
631
|
+
status:
|
632
|
+
type: string
|
633
|
+
description: |-
|
634
|
+
Time Table. Defines time tables.
|
635
|
+
Each time definition is written as t-o-h-m where:
|
636
|
+
t=time table nr (1-12)
|
637
|
+
o=function
|
638
|
+
h=hour - switching time
|
639
|
+
m=minute - switching minute
|
640
|
+
|
641
|
+
Function legend:
|
642
|
+
0=no plan is selected by time table
|
643
|
+
1=set plan 1
|
644
|
+
…
|
645
|
+
16= set plan 16
|
646
|
+
|
647
|
+
hour and minute is using local time (not UTC)
|
648
|
+
|
649
|
+
Each time definition is separated with a comma
|
650
|
+
|
651
|
+
E.g.
|
652
|
+
t-o-h-m,t-o-h-m
|
653
|
+
S0028:
|
654
|
+
description: |-
|
655
|
+
Cycle time.
|
656
|
+
Cycle time (or cycle length) is the sum of all phases in a time plan (traffic program). This time is fixed when using fixed time control or coordination (except "local coordination"). When the cycle counter reaches this length it is reset back to zero.
|
657
|
+
Changing the cycle time can be used as part of scenario based control.
|
658
|
+
arguments:
|
659
|
+
status:
|
660
|
+
type: string
|
661
|
+
description: |-
|
662
|
+
Cycle time table
|
663
|
+
Each cycle time is written as pp-tt where:
|
664
|
+
pp=time plan
|
665
|
+
tt=cycle time in seconds
|
666
|
+
|
667
|
+
Each cycle time is separated with a comma
|
668
|
+
|
669
|
+
E.g.
|
670
|
+
pp-tt,pp-tt
|
671
|
+
S0029:
|
672
|
+
description: |-
|
673
|
+
Forced input status.
|
674
|
+
Provide status of input (1-255) regarding if they are forced or not. Can be used for all types of input where the traffic light controller must react to external control.
|
675
|
+
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
|
676
|
+
arguments:
|
677
|
+
status:
|
678
|
+
type: string
|
679
|
+
description: |-
|
680
|
+
Forced input status as text field.
|
681
|
+
Each character represent the state in consecutive order,
|
682
|
+
where the leftmost character starts with input 1.
|
683
|
+
0 : Input not forced
|
684
|
+
1 : Input forced
|
685
|
+
- : Input undefined/does not exist
|
686
|
+
S0030:
|
687
|
+
description: |-
|
688
|
+
Forced output status.
|
689
|
+
Provide status of output (1-255) regarding if they are forced or not. Can be used for all types of output where the traffic light controller needs to control other equipment.
|
690
|
+
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
|
691
|
+
arguments:
|
692
|
+
status:
|
693
|
+
type: string
|
694
|
+
description: |-
|
695
|
+
Forced output status as text field.
|
696
|
+
Each character represent the state in consecutive order,
|
697
|
+
where the leftmost character starts with output 1.
|
698
|
+
0 : Output not forced
|
699
|
+
1 : Output forced
|
700
|
+
- : Output undefined/does not exist
|
701
|
+
S0031:
|
702
|
+
description: |-
|
703
|
+
Trigger level sensitivity for loop detector.
|
704
|
+
The trigger level sensitivity determines at what level the loop detector should trigger. If it set too low then then traffic will not be detected as intended. If it is set too high the detector might give false positives.
|
705
|
+
Can be used to make sure that the detectors detect traffic as intended.
|
706
|
+
arguments:
|
707
|
+
status:
|
708
|
+
type: string
|
709
|
+
description: |-
|
710
|
+
Loop detector trigger level sensitivity is written as dd-ss where:
|
711
|
+
dd=loop detector number
|
712
|
+
ss=sensitivity value
|
713
|
+
Each loop detector is separated with a comma. E.g.dd-ss,dd-ss.
|
714
|
+
S0032:
|
715
|
+
description: |-
|
716
|
+
Coordinated control
|
717
|
+
This status is used when coordination between traffic light controllers is active. Coordination is described in detail in the corresponding section
|
718
|
+
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. “1,2” and “centralized,off”
|
719
|
+
arguments:
|
720
|
+
intersection:
|
721
|
+
type: integer_list
|
722
|
+
description: |-
|
723
|
+
Comma separated list of intersections which the status relates to, e.g. “1,2”.
|
724
|
+
Use “0” for all intersections of the TLC.
|
725
|
+
min: 0
|
726
|
+
max: 255
|
727
|
+
status:
|
728
|
+
type: string_list
|
729
|
+
values:
|
730
|
+
local: Local coordination
|
731
|
+
centralized: Coordination with synchronized clock
|
732
|
+
'off': Coordination not active
|
733
|
+
source:
|
734
|
+
description: Source of the status change
|
735
|
+
type: string_list
|
736
|
+
values:
|
737
|
+
operator_panel: Operator panel
|
738
|
+
calendar_clock: Calendar/clock
|
739
|
+
control_block: Control block
|
740
|
+
forced: Forced due to external command e.g. supervisor
|
741
|
+
startup: Set after startup mode
|
742
|
+
other: Other reason
|
743
|
+
S0033:
|
744
|
+
description: |-
|
745
|
+
Signal Priority Status
|
746
|
+
This status can be used to get updates about priority requests. For example, you can use it to know when priority requests are activated or cancelled.
|
747
|
+
A list of priorities is returned, referred to by their request ids. The same request id can appear only once.
|
748
|
+
All priorities are included in the list (not only the ones that have changed state since the last update). This is done regardless of whether the status is send in respond to a status request, or due to a status subscription, and also regardless of whether a status subscription uses an update interval, or send-on-change, or both.
|
749
|
+
If you subscribe using an update interval, you’re not guaranteed to get all intermediate states. To guarantee that, send-on-change must be used when subscribing.
|
750
|
+
To understand how this status relates to ETSI/J2735, please see the [wiki](https://github.com/rsmp-nordic/rsmp_sxl_traffic_lights/wiki/Signal-priority-and-ETSI-J2735).
|
751
|
+
All priorities are send on every status update, regardless of whether an interval, or sendOnChange (or both) is used.
|
752
|
+
When a priority reaches an end states (completed, timeout, rejected, cooldown or stale), it must be sent once on the next status update, then removed from the list.
|
753
|
+
A request always starts in the ‘received’ state. The following table shows the possible state transitions:
|
754
|
+
|
755
|
+
State | Possible next states
|
756
|
+
---------- | -------------------------------------
|
757
|
+
received | queued, activated, rejected, cooldown
|
758
|
+
queued | activated, timeout
|
759
|
+
activated | completed, stale
|
760
|
+
completed |
|
761
|
+
timeout |
|
762
|
+
rejected |
|
763
|
+
cooldown |
|
764
|
+
stale |
|
765
|
+
arguments:
|
766
|
+
status:
|
767
|
+
description: JSON array of priority status items
|
768
|
+
type: array
|
769
|
+
items:
|
770
|
+
r:
|
771
|
+
type: string
|
772
|
+
description: ID of the priority request
|
773
|
+
t:
|
774
|
+
type: timestamp
|
775
|
+
description: Timestamp, indicating when the priority last changed state.
|
776
|
+
s:
|
777
|
+
type: string
|
778
|
+
description: |-
|
779
|
+
Current status of the priority request
|
780
|
+
values:
|
781
|
+
received: A new priority request was received but has not yet been processed
|
782
|
+
queued: The priority request has been queued for later activation
|
783
|
+
activated: The priority was activated
|
784
|
+
completed: The priority was cancelled as expected
|
785
|
+
timeout: The priority has been queued for too long
|
786
|
+
rejected: The priority request cannot be granted
|
787
|
+
cooldown: A similar priority request means the priority request cannot be activated now
|
788
|
+
stale: The priority has been active too long without cancellation, and was therefore removed
|
789
|
+
e:
|
790
|
+
type: integer
|
791
|
+
description: |-
|
792
|
+
Estimated green extension provided by the priority, in seconds
|
793
|
+
Only used when state is ‘completed’.
|
794
|
+
optional: true
|
795
|
+
min: 0
|
796
|
+
max: 255
|
797
|
+
d:
|
798
|
+
type: integer
|
799
|
+
description: |-
|
800
|
+
Estimated red reduction provided by the priority, in seconds
|
801
|
+
Only used when state is ‘completed’.
|
802
|
+
optional: true
|
803
|
+
min: 0
|
804
|
+
max: 255
|
805
|
+
S0034:
|
806
|
+
description: |-
|
807
|
+
Timeout for dynamic bands.
|
808
|
+
Time until a designated time plan is entered due to lost connection with the supervisor.
|
809
|
+
Disabled if set to '0'.
|
810
|
+
Used in conjunction with dynamic bands, M0014
|
811
|
+
arguments:
|
812
|
+
status:
|
813
|
+
type: integer
|
814
|
+
description: Timeout, in minutes
|
815
|
+
min: 0
|
816
|
+
max: 65535
|
817
|
+
S0035:
|
818
|
+
description: |-
|
819
|
+
Emergency route.
|
820
|
+
The status is active during emergency prioritization.
|
821
|
+
Used in situations where full priority is given in the emergency vehicle program
|
822
|
+
or for other types of priority in some cases.
|
823
|
+
|
824
|
+
This status is similar to S0006, but supports multiple routes
|
825
|
+
arguments:
|
826
|
+
emergencyroutes:
|
827
|
+
description: Active emergency routes
|
828
|
+
type: array
|
829
|
+
items:
|
830
|
+
id:
|
831
|
+
type: integer
|
832
|
+
description: ID of active emergency route
|
833
|
+
min: 1
|
834
|
+
max: 255
|
835
|
+
S0091:
|
836
|
+
description: |-
|
837
|
+
Operator logged in/out OP-panel.
|
838
|
+
Provides information if maintenance personnel is currently working on site.
|
839
|
+
arguments:
|
840
|
+
user:
|
841
|
+
type: integer
|
842
|
+
values:
|
843
|
+
0: Nobody logged in
|
844
|
+
1: Operator logged in at level 1 (read only)
|
845
|
+
2: Operator logged in at level 2 (read/write)
|
846
|
+
S0092:
|
847
|
+
description: |-
|
848
|
+
Operator logged in/out web-interface.
|
849
|
+
Provides information if maintenance personnel is currently working with the controller.
|
850
|
+
arguments:
|
851
|
+
user:
|
852
|
+
type: integer
|
853
|
+
values:
|
854
|
+
0: Nobody logged in
|
855
|
+
1: Operator logged in at level 1 (read only)
|
856
|
+
2: Operator logged in at level 2 (read/write)
|
857
|
+
S0095:
|
858
|
+
description: |-
|
859
|
+
Version of Traffic Light Controller.
|
860
|
+
Provides diagnostic version information.
|
861
|
+
arguments:
|
862
|
+
status:
|
863
|
+
type: string
|
864
|
+
description: Manufacturer, product name and version of traffic light controller
|
865
|
+
S0096:
|
866
|
+
description: |-
|
867
|
+
Current date and time.
|
868
|
+
Note: UTC is used.
|
869
|
+
Provides diagnostic information about the current date and time set in the controller.
|
870
|
+
arguments:
|
871
|
+
year:
|
872
|
+
type: integer
|
873
|
+
description: Year
|
874
|
+
min: 0
|
875
|
+
max: 9999
|
876
|
+
month:
|
877
|
+
type: integer
|
878
|
+
description: Month
|
879
|
+
min: 1
|
880
|
+
max: 12
|
881
|
+
day:
|
882
|
+
type: integer
|
883
|
+
description: Day of month
|
884
|
+
min: 1
|
885
|
+
max: 31
|
886
|
+
hour:
|
887
|
+
type: integer
|
888
|
+
description: Hour
|
889
|
+
min: 0
|
890
|
+
max: 23
|
891
|
+
minute:
|
892
|
+
type: integer
|
893
|
+
description: Minute
|
894
|
+
min: 0
|
895
|
+
max: 59
|
896
|
+
second:
|
897
|
+
type: integer
|
898
|
+
description: Second
|
899
|
+
min: 0
|
900
|
+
max: 59
|
901
|
+
S0097:
|
902
|
+
description: |-
|
903
|
+
Checksum of traffic parameters.
|
904
|
+
Can be used to check if any traffic parameter has been changed.
|
905
|
+
For instance, depending on controller, maintenance personnel can modify traffic parameters on site to optimize traffic flow. This status provides the ability to monitor if any traffic parameter has been changed. The traffic parameters may be downloaded with S0098.
|
906
|
+
arguments:
|
907
|
+
checksum:
|
908
|
+
type: string
|
909
|
+
description: |-
|
910
|
+
Checksum of the traffic parameters
|
911
|
+
Uses SHA-2 as hashing algorithm
|
912
|
+
Includes
|
913
|
+
- all signal programs, including program versions
|
914
|
+
- signal group settings
|
915
|
+
- time plans
|
916
|
+
- safety matrix
|
917
|
+
- intergreen times
|
918
|
+
- detector settings
|
919
|
+
|
920
|
+
It should NOT include:
|
921
|
+
- network settings
|
922
|
+
- log files
|
923
|
+
- software
|
924
|
+
- other device settings that are not part of the signal program
|
925
|
+
|
926
|
+
Note:
|
927
|
+
- The checksum should be calculated using the same data as used in S0098
|
928
|
+
- Data Downloaded with S0098 and hashed with SHA-2 should match this value.
|
929
|
+
timestamp:
|
930
|
+
type: timestamp
|
931
|
+
description: Time stamp of the checksum
|
932
|
+
S0098:
|
933
|
+
description: |-
|
934
|
+
Configuration of traffic parameters.
|
935
|
+
Can be used to download all traffic parameters from the controller.
|
936
|
+
For instance, depending on controller, maintenance personnel can modify traffic parameters on site to optimize traffic flow. This status provides the ability to downloaded them.
|
937
|
+
arguments:
|
938
|
+
config:
|
939
|
+
type: base64
|
940
|
+
description: |-
|
941
|
+
Traffic parameters.
|
942
|
+
Includes
|
943
|
+
- all signal programs, including program versions
|
944
|
+
- signal group settings
|
945
|
+
- time plans
|
946
|
+
- safety matrix
|
947
|
+
- intergreen times
|
948
|
+
- detector setting
|
949
|
+
|
950
|
+
It should NOT include:
|
951
|
+
- network settings
|
952
|
+
- log files
|
953
|
+
- software
|
954
|
+
- other device settings that are not part of the signal program
|
955
|
+
|
956
|
+
Note:
|
957
|
+
- There is no way to upload this binary file to the TLC using RSMP
|
958
|
+
- The format of the binary file is not specified and is not expected to be compatible between suppliers
|
959
|
+
timestamp:
|
960
|
+
type: timestamp
|
961
|
+
description: Time stamp of the config
|
962
|
+
version:
|
963
|
+
type: string
|
964
|
+
description: |-
|
965
|
+
Version information of the configuration. Contains basic information such as controller id, changes to config and other information.
|
966
|
+
The format is not specified in detail.
|
967
|
+
S0205:
|
968
|
+
description: |-
|
969
|
+
Traffic Counting: Number of vehicles.
|
970
|
+
This status was introduced to improve performance in case traffic counting is done on all all detectors.
|
971
|
+
arguments:
|
972
|
+
start:
|
973
|
+
type: timestamp
|
974
|
+
description: Time stamp for start of measuring
|
975
|
+
vehicles:
|
976
|
+
type: integer_list
|
977
|
+
description: |-
|
978
|
+
Number of vehicles.
|
979
|
+
- Value expressed as an integer with a range of 0-65535.
|
980
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
981
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
982
|
+
min: -1
|
983
|
+
max: 65535
|
984
|
+
S0206:
|
985
|
+
description: |-
|
986
|
+
Traffic Counting: Vehicle speed
|
987
|
+
This status was introduced to improve performance in case traffic counting is done on all all detectors.
|
988
|
+
arguments:
|
989
|
+
start:
|
990
|
+
type: timestamp
|
991
|
+
description: Time stamp for start of measuring
|
992
|
+
speed:
|
993
|
+
type: integer_list
|
994
|
+
description: |-
|
995
|
+
Average speed in km/h (integer).
|
996
|
+
- Value expressed as an integer with a range of 0-65535.
|
997
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
998
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
999
|
+
min: -1
|
1000
|
+
max: 65535
|
1001
|
+
S0207:
|
1002
|
+
description: |-
|
1003
|
+
Traffic Counting: Occupancy.
|
1004
|
+
This status was introduced to improve performance in case traffic counting is done on all all detectors.
|
1005
|
+
arguments:
|
1006
|
+
start:
|
1007
|
+
type: timestamp
|
1008
|
+
description: Time stamp for start of measuring
|
1009
|
+
occupancy:
|
1010
|
+
type: integer_list
|
1011
|
+
description: |-
|
1012
|
+
Occupancy in percent (%) (0-100)
|
1013
|
+
- Value expressed as an integer with a range of 0-100.
|
1014
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1015
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1016
|
+
min: -1
|
1017
|
+
max: 100
|
1018
|
+
S0208:
|
1019
|
+
description: |-
|
1020
|
+
Traffic Counting: Number of vehicles of given classification.
|
1021
|
+
This status was introduced to improve performance in case traffic counting is done on all all detectors.
|
1022
|
+
arguments:
|
1023
|
+
start:
|
1024
|
+
type: timestamp
|
1025
|
+
description: Time stamp for start of measuring
|
1026
|
+
P:
|
1027
|
+
type: integer_list
|
1028
|
+
description: |-
|
1029
|
+
Number of cars.
|
1030
|
+
- Value expressed as an integer with a range of 0-65535.
|
1031
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1032
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1033
|
+
min: -1
|
1034
|
+
max: 65535
|
1035
|
+
PS:
|
1036
|
+
type: integer_list
|
1037
|
+
description: |-
|
1038
|
+
Number of cars with trailers.
|
1039
|
+
- Value expressed as an integer with a range of 0-65535.
|
1040
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1041
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1042
|
+
min: -1
|
1043
|
+
max: 65535
|
1044
|
+
L:
|
1045
|
+
type: integer_list
|
1046
|
+
description: |-
|
1047
|
+
Number of trucks.
|
1048
|
+
- Value expressed as an integer with a range of 0-65535.
|
1049
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1050
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1051
|
+
min: -1
|
1052
|
+
max: 65535
|
1053
|
+
LS:
|
1054
|
+
type: integer_list
|
1055
|
+
description: |-
|
1056
|
+
Number of trucks with trailers.
|
1057
|
+
- Value expressed as an integer with a range of 0-65535.
|
1058
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1059
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1060
|
+
min: -1
|
1061
|
+
max: 65535
|
1062
|
+
B:
|
1063
|
+
type: integer_list
|
1064
|
+
description: |-
|
1065
|
+
Number of buses.
|
1066
|
+
- Value expressed as an integer with a range of 0-65535.
|
1067
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1068
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1069
|
+
min: -1
|
1070
|
+
max: 65535
|
1071
|
+
SP:
|
1072
|
+
type: integer_list
|
1073
|
+
description: |-
|
1074
|
+
Number of trams.
|
1075
|
+
- Value expressed as an integer with a range of 0-65535.
|
1076
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1077
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1078
|
+
min: -1
|
1079
|
+
max: 65535
|
1080
|
+
MC:
|
1081
|
+
type: integer_list
|
1082
|
+
description: |-
|
1083
|
+
Number of motor cycles.
|
1084
|
+
- Value expressed as an integer with a range of 0-65535.
|
1085
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1086
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1087
|
+
min: -1
|
1088
|
+
max: 65535
|
1089
|
+
C:
|
1090
|
+
type: integer_list
|
1091
|
+
description: |-
|
1092
|
+
Number of bicycles.
|
1093
|
+
- Value expressed as an integer with a range of 0-65535.
|
1094
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1095
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1096
|
+
min: -1
|
1097
|
+
max: 65535
|
1098
|
+
F:
|
1099
|
+
type: integer_list
|
1100
|
+
description: |-
|
1101
|
+
Number of pedestrians.
|
1102
|
+
- Value expressed as an integer with a range of 0-65535.
|
1103
|
+
- Contains data from all detector logics. Each detector logic is separated with a comma.
|
1104
|
+
- The value is set to “-1” if no data could be measured (e.g. detector fault)
|
1105
|
+
min: -1
|
1106
|
+
max: 65535
|
1107
|
+
commands:
|
1108
|
+
M0001:
|
1109
|
+
description: |-
|
1110
|
+
Sets functional position.
|
1111
|
+
Sets the controller to yellow flash, dark mode or normal control.
|
1112
|
+
Requires security code 2.
|
1113
|
+
arguments:
|
1114
|
+
status:
|
1115
|
+
type: string
|
1116
|
+
description: Set operating mode
|
1117
|
+
values:
|
1118
|
+
NormalControl: Normal Control
|
1119
|
+
YellowFlash: Enables yellow flash
|
1120
|
+
Dark: Enables dark mode
|
1121
|
+
securityCode:
|
1122
|
+
type: string
|
1123
|
+
description: Security code 2
|
1124
|
+
timeout:
|
1125
|
+
type: integer
|
1126
|
+
description: |-
|
1127
|
+
Time in minutes until controller automatically reverts to previous functional position.
|
1128
|
+
0=no automatic return
|
1129
|
+
min: 0
|
1130
|
+
max: 1440
|
1131
|
+
intersection:
|
1132
|
+
type: integer
|
1133
|
+
description: |-
|
1134
|
+
Intersection number.
|
1135
|
+
Command only applies to specified intersection. Other intersections remains in their respective operating mode(s).
|
1136
|
+
0: All intersections
|
1137
|
+
min: 0
|
1138
|
+
max: 255
|
1139
|
+
command: setValue
|
1140
|
+
M0002:
|
1141
|
+
description: |-
|
1142
|
+
Sets current time plan.
|
1143
|
+
Change of traffic program of the traffic light controller.
|
1144
|
+
Typical usages is scenario based control where change of program is used to change signal timings etc.
|
1145
|
+
This command changes the signal timings for optimal traffic flow.
|
1146
|
+
Requires security code 2
|
1147
|
+
arguments:
|
1148
|
+
status:
|
1149
|
+
type: boolean
|
1150
|
+
description: |-
|
1151
|
+
False: Controller uses time plan according to programming
|
1152
|
+
True: Controller uses time plan according to command
|
1153
|
+
securityCode:
|
1154
|
+
type: string
|
1155
|
+
description: Security code 2
|
1156
|
+
timeplan:
|
1157
|
+
type: integer
|
1158
|
+
description: designation of time plan
|
1159
|
+
min: 1
|
1160
|
+
max: 255
|
1161
|
+
command: setPlan
|
1162
|
+
M0003:
|
1163
|
+
description: |-
|
1164
|
+
Sets traffic situation the controller uses.
|
1165
|
+
Used 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).
|
1166
|
+
Traffic 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.
|
1167
|
+
Requires security code 2
|
1168
|
+
arguments:
|
1169
|
+
status:
|
1170
|
+
type: boolean
|
1171
|
+
description: |-
|
1172
|
+
False: Controller uses traffic situation according to own programming
|
1173
|
+
True: Controller uses traffic situation according to command
|
1174
|
+
securityCode:
|
1175
|
+
type: string
|
1176
|
+
description: Security code 2
|
1177
|
+
traficsituation:
|
1178
|
+
type: integer
|
1179
|
+
description: designation of traficsituation
|
1180
|
+
min: 1
|
1181
|
+
max: 255
|
1182
|
+
command: setTrafficSituation
|
1183
|
+
M0004:
|
1184
|
+
description: |-
|
1185
|
+
Restarts Traffic Light Controller.
|
1186
|
+
Used in the event of serious faults in the device where a restart is considered to be able to remedy a problem.
|
1187
|
+
Requires security code 2
|
1188
|
+
arguments:
|
1189
|
+
status:
|
1190
|
+
type: boolean
|
1191
|
+
deprecated: true
|
1192
|
+
description: 'True: Restart controller'
|
1193
|
+
securityCode:
|
1194
|
+
type: string
|
1195
|
+
deprecated: true
|
1196
|
+
description: Security code 2
|
1197
|
+
command: setRestart
|
1198
|
+
M0005:
|
1199
|
+
description: |-
|
1200
|
+
Activate emergency route.
|
1201
|
+
The function is made for emergency prioritization. Works in the same way as the M0006 and M0008 where the traffic light controller responds to an input.
|
1202
|
+
Should be used in situations where full priority is given in the emergency vehicle program.
|
1203
|
+
Requires security code 2.
|
1204
|
+
arguments:
|
1205
|
+
status:
|
1206
|
+
type: boolean
|
1207
|
+
description: |-
|
1208
|
+
False: Deactivate emergency route
|
1209
|
+
True: Activate emergency route
|
1210
|
+
securityCode:
|
1211
|
+
type: string
|
1212
|
+
description: Security code 2
|
1213
|
+
emergencyroute:
|
1214
|
+
type: integer
|
1215
|
+
description: Number of emergency route
|
1216
|
+
min: 1
|
1217
|
+
max: 255
|
1218
|
+
command: setEmergency
|
1219
|
+
M0006:
|
1220
|
+
description: |-
|
1221
|
+
Activate input.
|
1222
|
+
Set given input (1-255) of the controllers general purpose I/O to either true or false.
|
1223
|
+
The function can provide an input to the traffic light controller on which a predefined action can be taken.
|
1224
|
+
Can be used for all types of input where the traffic light controller must react to external control.
|
1225
|
+
Typical usages are bus priority, coordination between traffic controllers, external control systems, and much more.
|
1226
|
+
Requires security code 2.
|
1227
|
+
arguments:
|
1228
|
+
status:
|
1229
|
+
type: boolean
|
1230
|
+
description: |-
|
1231
|
+
False: Deactivate input
|
1232
|
+
True: Activate input
|
1233
|
+
securityCode:
|
1234
|
+
type: string
|
1235
|
+
description: Security code 2
|
1236
|
+
input:
|
1237
|
+
type: integer
|
1238
|
+
description: Number of Input
|
1239
|
+
min: 1
|
1240
|
+
max: 255
|
1241
|
+
command: setInput
|
1242
|
+
M0007:
|
1243
|
+
description: |-
|
1244
|
+
Activate fixed time control.
|
1245
|
+
Deactivates the traffic actuated control using detectors and activates pre-timed control.
|
1246
|
+
Can be used in case normal detectors can't be used, e.g. during maintenance work.
|
1247
|
+
Requires security code 2.
|
1248
|
+
arguments:
|
1249
|
+
status:
|
1250
|
+
type: boolean
|
1251
|
+
description: |-
|
1252
|
+
False: Deactivate fixed time control
|
1253
|
+
True: Activate fixed time control
|
1254
|
+
securityCode:
|
1255
|
+
type: string
|
1256
|
+
description: Security code 2
|
1257
|
+
command: setFixedTime
|
1258
|
+
M0012:
|
1259
|
+
description: |-
|
1260
|
+
Request start or stop of a series of signal groups.
|
1261
|
+
Starts or stops several signal groups.
|
1262
|
+
This command was introduced due to coordination requirements needing to set many signal groups to green and red at the same time and M0010 and M0012 being to slow to send a message for each signal group individually.
|
1263
|
+
Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.
|
1264
|
+
Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers.
|
1265
|
+
Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).
|
1266
|
+
May also include purposes for adaptive control where a UTC system or a local traffic light controller takes over the phase control (stage control).
|
1267
|
+
Requires security code 2.
|
1268
|
+
reserved: true
|
1269
|
+
arguments:
|
1270
|
+
status:
|
1271
|
+
type: string
|
1272
|
+
description: |-
|
1273
|
+
Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.
|
1274
|
+
|
1275
|
+
1=Order signal group to green
|
1276
|
+
0=Order signal group to red
|
1277
|
+
|
1278
|
+
Format: [Offset],[Bits to set],[Bits to unset]:…
|
1279
|
+
|
1280
|
+
Offset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.
|
1281
|
+
|
1282
|
+
Example 1:
|
1283
|
+
"5, 4134, 65" sets input 6,7,10,17 = on and 5,11 = off
|
1284
|
+
(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)
|
1285
|
+
|
1286
|
+
Example 2:
|
1287
|
+
"22, 1, 4" sets input 22 = on and 24 = off
|
1288
|
+
(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)
|
1289
|
+
|
1290
|
+
And both these examples could be sent in the same message as:
|
1291
|
+
"5,4143,65:22,1,4"
|
1292
|
+
|
1293
|
+
Such a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red
|
1294
|
+
securityCode:
|
1295
|
+
type: string
|
1296
|
+
description: Security code 2
|
1297
|
+
command: setStart
|
1298
|
+
M0013:
|
1299
|
+
description: |-
|
1300
|
+
Activate a series of inputs
|
1301
|
+
|
1302
|
+
Set given inputs (1-255) of the controllers general purpose I/O to either true or false. This command was introduced due to coordination requirements needing to set many inputs to true/false at the same time and M0006 being to slow to send a message for each input individually. With this command many inputs can be set to true/false at the same time using a single command message. It can be used for all types of input where the traffic light controller must react to external control. Typical usages are bus priority, coordination between traffic controllers, external control systems, and much more.
|
1303
|
+
|
1304
|
+
Requires security code 2.
|
1305
|
+
|
1306
|
+
The parameter ‘status’ sets/unsets a block of 16 inputs at a time. It can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Format: [Offset];[Bits to set];[Bits to unset];…
|
1307
|
+
|
1308
|
+
- ‘Offset’ defines where the 16 inputs starts from
|
1309
|
+
- ‘Bits to set’ defines which bit(s) to set. ‘0’ if unused
|
1310
|
+
- ‘Bits to unset’ defines which bit(s) to unset. ‘0’ if unused
|
1311
|
+
|
1312
|
+
Example 1:
|
1313
|
+
“3,4134,65” sets input 4,5,8,15 and unsets 3,9
|
1314
|
+
- Input starts from no. 5
|
1315
|
+
- “4134” is 1 0000 0010 0110 in binary, but since input starts from 3, it is shifted 3 bits, e.g. 1000 0001 0011 0000 which are bits 4,5,8,15
|
1316
|
+
- “65” is 100 0001 in binary, but since input starts from 3, it is shifted 3 bits, e.g. 10 0000 1000 which are bits 3,9
|
1317
|
+
|
1318
|
+
Example 2:
|
1319
|
+
“12,1,4” sets input 12 and unsets 14
|
1320
|
+
- Input starts from no. 12
|
1321
|
+
- “1” is 1 in binary, but since input starts at 12 it is shifted 12 bits, e.g. 1 0000 0000 0000, which is bit 12
|
1322
|
+
- “4” is 100 in binary, but since input starts at 12 it is shifted 12 bits, e.g. 100 0000 0000 0000, which is bit 14
|
1323
|
+
|
1324
|
+
And both these examples could be sent in the same message as: “3,4143,65;12,1,4”
|
1325
|
+
|
1326
|
+
Such a message would set input 4,5,8,12,15 and unset input 3,9,14
|
1327
|
+
|
1328
|
+
Example 3:
|
1329
|
+
“0,1,2” sets input 0 and unsets 1
|
1330
|
+
- Input starts from 0
|
1331
|
+
- “1” is 1 in binary, which is bit 0
|
1332
|
+
- “2” is 10 in binary, which is bit 1
|
1333
|
+
arguments:
|
1334
|
+
status:
|
1335
|
+
type: string
|
1336
|
+
description: |-
|
1337
|
+
Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon.
|
1338
|
+
Format: [Offset];[Bits to set];[Bits to unset];…
|
1339
|
+
securityCode:
|
1340
|
+
type: string
|
1341
|
+
description: Security code 2
|
1342
|
+
command: setInput
|
1343
|
+
M0014:
|
1344
|
+
description: |-
|
1345
|
+
Set dynamic bands.
|
1346
|
+
Can be used to change between predefined signal timings. Moves the start of signal groups in the cycle.
|
1347
|
+
This command can be used to change the split of green time during the cycle. A typical usage is scenario based control where changing of signal timings is used for optimal traffic flow.
|
1348
|
+
Requires security code 2
|
1349
|
+
arguments:
|
1350
|
+
plan:
|
1351
|
+
type: integer
|
1352
|
+
description: Plan to be changed
|
1353
|
+
min: 0
|
1354
|
+
max: 255
|
1355
|
+
status:
|
1356
|
+
type: string
|
1357
|
+
description: |-
|
1358
|
+
Dynamic bands.
|
1359
|
+
Each dynamic band are written as dd-ee where:
|
1360
|
+
dd=Dynamic band number (from 1-10)
|
1361
|
+
ee=Extension in seconds in this band
|
1362
|
+
|
1363
|
+
Each dynamic band is separated with a comma.
|
1364
|
+
|
1365
|
+
E.g.
|
1366
|
+
dd-ee,dd-ee
|
1367
|
+
securityCode:
|
1368
|
+
type: string
|
1369
|
+
description: Security code 2
|
1370
|
+
command: setCommands
|
1371
|
+
M0015:
|
1372
|
+
description: |-
|
1373
|
+
Set Offset time.
|
1374
|
+
Offset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.
|
1375
|
+
This command can be used to fine tune the coordination for optimal traffic flow.
|
1376
|
+
Requires security code 2.
|
1377
|
+
arguments:
|
1378
|
+
status:
|
1379
|
+
type: integer
|
1380
|
+
description: Set offset time in seconds
|
1381
|
+
min: 0
|
1382
|
+
max: 255
|
1383
|
+
plan:
|
1384
|
+
type: integer
|
1385
|
+
description: Time plan nr
|
1386
|
+
min: 0
|
1387
|
+
max: 255
|
1388
|
+
securityCode:
|
1389
|
+
type: string
|
1390
|
+
description: Security code 2
|
1391
|
+
command: setOffset
|
1392
|
+
M0016:
|
1393
|
+
description: |-
|
1394
|
+
Set week time table.
|
1395
|
+
Set which time table for signal programs to use for each day during a week.
|
1396
|
+
This command changes the signal timings during the week for optimal traffic flow.
|
1397
|
+
Requires security code 2.
|
1398
|
+
arguments:
|
1399
|
+
status:
|
1400
|
+
type: string
|
1401
|
+
description: |-
|
1402
|
+
Week time table. Defines time table to use for each week day
|
1403
|
+
Each segment is written as d-t where:
|
1404
|
+
d=day of week
|
1405
|
+
t=time table nr
|
1406
|
+
|
1407
|
+
Day of week legend:
|
1408
|
+
0=Monday
|
1409
|
+
1=Tuesday
|
1410
|
+
2=Wednesday
|
1411
|
+
3=Thursday
|
1412
|
+
4=Friday
|
1413
|
+
5=Saturday
|
1414
|
+
6=Sunday
|
1415
|
+
|
1416
|
+
Each segment is separated with a comma
|
1417
|
+
|
1418
|
+
E.g.
|
1419
|
+
d-t,d-t
|
1420
|
+
securityCode:
|
1421
|
+
type: string
|
1422
|
+
description: Security code 2
|
1423
|
+
command: setWeekTable
|
1424
|
+
M0017:
|
1425
|
+
description: |-
|
1426
|
+
Set time tables.
|
1427
|
+
Set time of day for when to automatically switch signal program (time plan).
|
1428
|
+
This command changes the signal timings according to time of day for optimal traffic flow.
|
1429
|
+
Requires security code 2.
|
1430
|
+
arguments:
|
1431
|
+
status:
|
1432
|
+
type: string
|
1433
|
+
description: |-
|
1434
|
+
Time Table. Defines time tables.
|
1435
|
+
Each time definition is written as t-o-h-m where:
|
1436
|
+
t=time table nr (1-12)
|
1437
|
+
o=function
|
1438
|
+
h=hour - switching time
|
1439
|
+
m=minute - switching minute
|
1440
|
+
|
1441
|
+
Function legend:
|
1442
|
+
0=no plan is selected by time table
|
1443
|
+
1=set plan 1
|
1444
|
+
…
|
1445
|
+
16= set plan 16
|
1446
|
+
|
1447
|
+
hour and minute is using local time (not UTC)
|
1448
|
+
|
1449
|
+
Each time definition is separated with a comma.
|
1450
|
+
|
1451
|
+
E.g.
|
1452
|
+
t-o-h-m,t-o-h-m
|
1453
|
+
securityCode:
|
1454
|
+
type: string
|
1455
|
+
description: Security code 2
|
1456
|
+
command: setTimeTable
|
1457
|
+
M0018:
|
1458
|
+
description: |-
|
1459
|
+
Set Cycle time.
|
1460
|
+
Cycle time (or cycle length) is the sum of all phases in a time plan (traffic program). This time is fixed when using fixed time control or coordination (except "local coordination"). When the cycle counter reaches this length it is reset back to zero.
|
1461
|
+
This command provides the ability to change the cycle time when using coordinated or fixed time control. It changes the timings for optimal traffic flow. Can be used with scenario based control.
|
1462
|
+
Requires security code 2.
|
1463
|
+
arguments:
|
1464
|
+
status:
|
1465
|
+
type: integer
|
1466
|
+
description: Set cycle time in seconds
|
1467
|
+
min: 1
|
1468
|
+
max: 255
|
1469
|
+
plan:
|
1470
|
+
type: integer
|
1471
|
+
description: Time plan nr
|
1472
|
+
min: 0
|
1473
|
+
max: 255
|
1474
|
+
securityCode:
|
1475
|
+
type: string
|
1476
|
+
description: Security code 2
|
1477
|
+
command: setCycleTime
|
1478
|
+
M0019:
|
1479
|
+
description: |-
|
1480
|
+
Force input.
|
1481
|
+
Force a given input (1-255) of the controllers general purpose I/O to either True or False. Can be used for all types of input where the traffic light controller must react to external control.
|
1482
|
+
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
|
1483
|
+
Requires security code 2.
|
1484
|
+
arguments:
|
1485
|
+
status:
|
1486
|
+
type: boolean
|
1487
|
+
description: |-
|
1488
|
+
False: Release input
|
1489
|
+
True: Force input
|
1490
|
+
securityCode:
|
1491
|
+
type: string
|
1492
|
+
description: Security code 2
|
1493
|
+
input:
|
1494
|
+
type: integer
|
1495
|
+
description: Number of Input
|
1496
|
+
min: 1
|
1497
|
+
max: 255
|
1498
|
+
inputValue:
|
1499
|
+
type: boolean
|
1500
|
+
description: |-
|
1501
|
+
False: input forced to False
|
1502
|
+
True: input forced to True
|
1503
|
+
command: setInput
|
1504
|
+
M0020:
|
1505
|
+
description: |-
|
1506
|
+
Force output.
|
1507
|
+
Force a given output (1-255) of the controllers general purpose I/O to either True of False. Can be used for all types of output where the traffic light controller needs to control other equipment.
|
1508
|
+
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
|
1509
|
+
Requires security code 2.
|
1510
|
+
arguments:
|
1511
|
+
status:
|
1512
|
+
type: boolean
|
1513
|
+
description: |-
|
1514
|
+
False: Force output
|
1515
|
+
True: Release output
|
1516
|
+
securityCode:
|
1517
|
+
type: string
|
1518
|
+
description: Security code 2
|
1519
|
+
output:
|
1520
|
+
type: integer
|
1521
|
+
description: Number of Output
|
1522
|
+
min: 1
|
1523
|
+
max: 255
|
1524
|
+
outputValue:
|
1525
|
+
type: boolean
|
1526
|
+
description: |-
|
1527
|
+
False: output forced to False
|
1528
|
+
True: output forced to True
|
1529
|
+
command: setOutput
|
1530
|
+
M0021:
|
1531
|
+
description: |-
|
1532
|
+
Set trigger level sensitivity for loop detector.
|
1533
|
+
The trigger level sensitivity determines at what level a loop detector should trigger. If it set too low then then traffic will not be detected as intended. If it is set too high the detector might give false positives.
|
1534
|
+
This command provides the ability to fine tune loop detectors to make sure they detect traffic as intended.
|
1535
|
+
Requires security code 2
|
1536
|
+
arguments:
|
1537
|
+
status:
|
1538
|
+
type: string
|
1539
|
+
description: |-
|
1540
|
+
Loop detector trigger level sensitivity is written as dd-ss where:
|
1541
|
+
dd=loop detector number
|
1542
|
+
ss=sensitivity value
|
1543
|
+
securityCode:
|
1544
|
+
type: string
|
1545
|
+
description: Security code 2
|
1546
|
+
command: setLevel
|
1547
|
+
M0022:
|
1548
|
+
description: |-
|
1549
|
+
Request Signal Priority
|
1550
|
+
|
1551
|
+
Useful for bus priority or other type of priorities like emergency vehicles or groups of cyclists.
|
1552
|
+
|
1553
|
+
The 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.
|
1554
|
+
|
1555
|
+
To understand how this command relates to ETSI/J2735, please see the [wiki](https://github.com/rsmp-nordic/rsmp_sxl_traffic_lights/wiki/Signal-priority-and-ETSI-J2735).
|
1556
|
+
|
1557
|
+
Activating 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.
|
1558
|
+
|
1559
|
+
The 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:
|
1560
|
+
|
1561
|
+
- 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.
|
1562
|
+
- 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.
|
1563
|
+
- Reference a connection by setting ‘connectionId’. A connection is a movement from a specific ingoing lane to a specific outgoing lane.
|
1564
|
+
- Reference an intersection approach by setting ‘approachId’.
|
1565
|
+
- Reference an ingoing lane by setting ‘laneInId’, and optionally also reference an outgoing lane by setting ‘laneOutId’.
|
1566
|
+
|
1567
|
+
Referencing attributes that are not used must be left out, rather than set to null or empty strings. This includes:
|
1568
|
+
|
1569
|
+
- signalGroupId
|
1570
|
+
- inputId
|
1571
|
+
- connectionId
|
1572
|
+
- approachId
|
1573
|
+
- laneInId
|
1574
|
+
- laneOutId
|
1575
|
+
|
1576
|
+
Referencing 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.
|
1577
|
+
|
1578
|
+
You 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.
|
1579
|
+
|
1580
|
+
Providing 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.
|
1581
|
+
|
1582
|
+
Like ETA, providing a vehicle type is optional, but can help the controller decide how to best handle the request.
|
1583
|
+
|
1584
|
+
The 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.
|
1585
|
+
|
1586
|
+
If 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.
|
1587
|
+
|
1588
|
+
When you send a priority request, it will be processed to decide if it’s possible to activate the requested priority.
|
1589
|
+
|
1590
|
+
If 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.
|
1591
|
+
|
1592
|
+
If 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.
|
1593
|
+
|
1594
|
+
When 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.
|
1595
|
+
|
1596
|
+
Once 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’.
|
1597
|
+
|
1598
|
+
If 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.
|
1599
|
+
arguments:
|
1600
|
+
requestId:
|
1601
|
+
type: string
|
1602
|
+
description: A string that uniquely identifies the request on the controller
|
1603
|
+
signalGroupId:
|
1604
|
+
type: string
|
1605
|
+
optional: true
|
1606
|
+
description: ID of a signal group component.
|
1607
|
+
inputId:
|
1608
|
+
type: integer
|
1609
|
+
optional: true
|
1610
|
+
description: ID of an input, using the same numbering scheme as M0006
|
1611
|
+
min: 0
|
1612
|
+
max: 255
|
1613
|
+
connectionId:
|
1614
|
+
type: integer
|
1615
|
+
optional: true
|
1616
|
+
description: ID of a connection, connecting an ingoing and an outgoing lane
|
1617
|
+
min: 0
|
1618
|
+
max: 255
|
1619
|
+
approachId:
|
1620
|
+
type: integer
|
1621
|
+
optional: true
|
1622
|
+
description: ID of an intersection approach
|
1623
|
+
min: 0
|
1624
|
+
max: 16
|
1625
|
+
laneInId:
|
1626
|
+
type: integer
|
1627
|
+
optional: true
|
1628
|
+
description: ID of an ingoing lane
|
1629
|
+
min: 0
|
1630
|
+
max: 255
|
1631
|
+
laneOutId:
|
1632
|
+
type: integer
|
1633
|
+
optional: true
|
1634
|
+
description: ID of an outgoing lane
|
1635
|
+
min: 0
|
1636
|
+
max: 255
|
1637
|
+
priorityId:
|
1638
|
+
type: integer
|
1639
|
+
optional: true
|
1640
|
+
description: ID of a priority
|
1641
|
+
min: 0
|
1642
|
+
max: 255
|
1643
|
+
type:
|
1644
|
+
type: string
|
1645
|
+
values:
|
1646
|
+
new: New priority request
|
1647
|
+
update: Update to existing priority request
|
1648
|
+
cancel: Cancel an existing priority
|
1649
|
+
level:
|
1650
|
+
type: integer
|
1651
|
+
description: |-
|
1652
|
+
0: Lowest, 14: Highest
|
1653
|
+
min: 0
|
1654
|
+
max: 14
|
1655
|
+
eta:
|
1656
|
+
type: integer
|
1657
|
+
optional: true
|
1658
|
+
description: Estimated time of arrival to the intersection, in seconds
|
1659
|
+
min: 0
|
1660
|
+
max: 255
|
1661
|
+
vehicleType:
|
1662
|
+
type: string
|
1663
|
+
optional: true
|
1664
|
+
description: Vehicle type
|
1665
|
+
values:
|
1666
|
+
pedestrian: Pedestrians
|
1667
|
+
bicycle: Bicycles
|
1668
|
+
motorcycle: Motorcycles
|
1669
|
+
car: Passenger vehicle
|
1670
|
+
bus: Bus used for public transport
|
1671
|
+
lightTruck: Light truck
|
1672
|
+
heavyTruck: Heavy truck
|
1673
|
+
tram: Trams used for Public transport
|
1674
|
+
emergency: Police, fire or ambulance
|
1675
|
+
safetyCar: For e.g. escort vehicles
|
1676
|
+
specialTransport: For e.g. heavy load
|
1677
|
+
other: Other type of vehicle
|
1678
|
+
command: requestPriority
|
1679
|
+
M0023:
|
1680
|
+
description: |-
|
1681
|
+
Set timeout for dynamic bands
|
1682
|
+
Switch to a designated time plan if this timeout is reached due to lost connection with the supervisor.
|
1683
|
+
Disable by setting timeout to '0'.
|
1684
|
+
Used in conjunction with dynamic bands, M0014
|
1685
|
+
Requires security code 2.
|
1686
|
+
arguments:
|
1687
|
+
status:
|
1688
|
+
type: integer
|
1689
|
+
min: 0
|
1690
|
+
max: 65535
|
1691
|
+
description: Timeout, in minutes
|
1692
|
+
securityCode:
|
1693
|
+
type: string
|
1694
|
+
description: Security code 2
|
1695
|
+
command: setTimeout
|
1696
|
+
M0103:
|
1697
|
+
description: |-
|
1698
|
+
Set security code.
|
1699
|
+
Change the security code to use when sending commands
|
1700
|
+
Security codes are used as an extra layer of security in many commands. They need to match between the supervision system and the traffic light controller in order for the commands to be executed.
|
1701
|
+
arguments:
|
1702
|
+
status:
|
1703
|
+
type: string
|
1704
|
+
values:
|
1705
|
+
Level1: Change security code 1
|
1706
|
+
Level2: Change security code 2
|
1707
|
+
oldSecurityCode:
|
1708
|
+
type: string
|
1709
|
+
description: Previous security code
|
1710
|
+
newSecurityCode:
|
1711
|
+
type: string
|
1712
|
+
description: New security code
|
1713
|
+
command: setSecurityCode
|
1714
|
+
M0104:
|
1715
|
+
description: |-
|
1716
|
+
Set clock.
|
1717
|
+
Can 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.
|
1718
|
+
Note: UTC is used.
|
1719
|
+
Requires security code 1
|
1720
|
+
arguments:
|
1721
|
+
securityCode:
|
1722
|
+
type: string
|
1723
|
+
description: Security code 1
|
1724
|
+
year:
|
1725
|
+
type: integer
|
1726
|
+
description: Year
|
1727
|
+
min: 0
|
1728
|
+
max: 9999
|
1729
|
+
month:
|
1730
|
+
type: integer
|
1731
|
+
description: Month
|
1732
|
+
min: 1
|
1733
|
+
max: 12
|
1734
|
+
day:
|
1735
|
+
type: integer
|
1736
|
+
description: Day of month
|
1737
|
+
min: 1
|
1738
|
+
max: 31
|
1739
|
+
hour:
|
1740
|
+
type: integer
|
1741
|
+
description: Hour
|
1742
|
+
min: 0
|
1743
|
+
max: 23
|
1744
|
+
minute:
|
1745
|
+
type: integer
|
1746
|
+
description: Minute
|
1747
|
+
min: 0
|
1748
|
+
max: 59
|
1749
|
+
second:
|
1750
|
+
type: integer
|
1751
|
+
description: Second
|
1752
|
+
min: 0
|
1753
|
+
max: 59
|
1754
|
+
command: setDate
|
1755
|
+
Signal group:
|
1756
|
+
description:
|
1757
|
+
alarms:
|
1758
|
+
A0008:
|
1759
|
+
description: |-
|
1760
|
+
Dead lock error.
|
1761
|
+
Used for dead lock errors.
|
1762
|
+
For instance; a signal group has requested green but is unable to switch due to a conflicting signal group for an extended period of time. At some point the request times out and the controller goes failure mode. The cause for this error is due to configuration errors or external sources.
|
1763
|
+
Is a "major fault" defined according to 3.8 in EN12675 which causes the controller to switch to a "failure mode" according to 3.6 in EN12675.
|
1764
|
+
priority: 2
|
1765
|
+
category: D
|
1766
|
+
arguments:
|
1767
|
+
timeplan:
|
1768
|
+
type: integer
|
1769
|
+
description: Current time plan
|
1770
|
+
min: 1
|
1771
|
+
max: 255
|
1772
|
+
A0101:
|
1773
|
+
description: |-
|
1774
|
+
Pushbutton error.
|
1775
|
+
Used for push buttons.
|
1776
|
+
priority: 3
|
1777
|
+
category: D
|
1778
|
+
A0201:
|
1779
|
+
description: |-
|
1780
|
+
Serious lamp error.
|
1781
|
+
Used for lamp errors.
|
1782
|
+
Is a "major fault" defined according to 3.8 in EN12675 which causes the controller to switch to a "failure mode" according to 3.6 in EN12675.
|
1783
|
+
priority: 2
|
1784
|
+
category: D
|
1785
|
+
arguments:
|
1786
|
+
color:
|
1787
|
+
type: string
|
1788
|
+
description: Color of lamp
|
1789
|
+
values:
|
1790
|
+
red: red
|
1791
|
+
yellow: yellow
|
1792
|
+
green: green
|
1793
|
+
A0202:
|
1794
|
+
description: |-
|
1795
|
+
Less serious lamp error.
|
1796
|
+
Used for lamp errors.
|
1797
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
1798
|
+
priority: 3
|
1799
|
+
category: D
|
1800
|
+
arguments:
|
1801
|
+
color:
|
1802
|
+
type: string
|
1803
|
+
description: Color of lamp
|
1804
|
+
values:
|
1805
|
+
red: red
|
1806
|
+
yellow: yellow
|
1807
|
+
green: green
|
1808
|
+
statuses:
|
1809
|
+
S0025:
|
1810
|
+
description: |-
|
1811
|
+
Time-of-Green / Time-of-Red.
|
1812
|
+
Provides predicted signal timings of green and red for each signal group. Max, min and likely time to green and red.
|
1813
|
+
arguments:
|
1814
|
+
minToGEstimate:
|
1815
|
+
type: timestamp
|
1816
|
+
description: |-
|
1817
|
+
Time stamp for the minimum time for the signal group to go to green. If the signal group is green, it is the minimum time for the next green.
|
1818
|
+
maxToGEstimate:
|
1819
|
+
type: timestamp
|
1820
|
+
description: |-
|
1821
|
+
Time stamp for the maximum time for the signal group to go to green. If the signal group is green, it is the maximum time for the next green.
|
1822
|
+
likelyToGEstimate:
|
1823
|
+
type: timestamp
|
1824
|
+
description: |-
|
1825
|
+
Time stamp for the most likely time for the signal group to go to green. If the signal group is green, it is the most likely time for the next green.
|
1826
|
+
ToGConfidence:
|
1827
|
+
type: integer
|
1828
|
+
description: Confidence of the likelyToGEstimate. 0-100%
|
1829
|
+
min: 0
|
1830
|
+
max: 100
|
1831
|
+
minToREstimate:
|
1832
|
+
type: timestamp
|
1833
|
+
description: |-
|
1834
|
+
Time stamp for the minimum time for the signal group to go to red. If the signal group is red, it is the minimum time for the next red.
|
1835
|
+
maxToREstimate:
|
1836
|
+
type: timestamp
|
1837
|
+
description: |-
|
1838
|
+
Time stamp for the maximum time for the signal group to go to red. If the signal group is red, it is the maximum time for the next red.
|
1839
|
+
likelyToREstimate:
|
1840
|
+
type: timestamp
|
1841
|
+
description: |-
|
1842
|
+
Time stamp for the most likely time for the signal group to go to red. If the signal group is red, it is the most likely time for the next red.
|
1843
|
+
ToRConfidence:
|
1844
|
+
type: integer
|
1845
|
+
description: Confidence of the likelyToREstimate. 0-100%
|
1846
|
+
min: 0
|
1847
|
+
max: 100
|
1848
|
+
commands:
|
1849
|
+
M0010:
|
1850
|
+
description: |-
|
1851
|
+
Start of signal group. Orders a signal group to green.
|
1852
|
+
Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.
|
1853
|
+
Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers. Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).
|
1854
|
+
Requires security code 2
|
1855
|
+
reserved: true
|
1856
|
+
arguments:
|
1857
|
+
status:
|
1858
|
+
type: boolean
|
1859
|
+
description: |-
|
1860
|
+
False: No command (default)
|
1861
|
+
True: Order a signal group to green
|
1862
|
+
securityCode:
|
1863
|
+
type: string
|
1864
|
+
description: Security code 2
|
1865
|
+
command: setStart
|
1866
|
+
M0011:
|
1867
|
+
description: |-
|
1868
|
+
Stop of signal group. Orders a signal group to red.
|
1869
|
+
Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.
|
1870
|
+
Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers. Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).
|
1871
|
+
Requires security code 2
|
1872
|
+
reserved: true
|
1873
|
+
arguments:
|
1874
|
+
status:
|
1875
|
+
type: boolean
|
1876
|
+
description: |-
|
1877
|
+
False: No command (default)
|
1878
|
+
True: Order a signal group to red
|
1879
|
+
securityCode:
|
1880
|
+
type: string
|
1881
|
+
description: Security code 2
|
1882
|
+
command: setStop
|
1883
|
+
Detector logic:
|
1884
|
+
description:
|
1885
|
+
alarms:
|
1886
|
+
A0301:
|
1887
|
+
description: |-
|
1888
|
+
Detector error (hardware).
|
1889
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
1890
|
+
priority: 3
|
1891
|
+
category: D
|
1892
|
+
arguments:
|
1893
|
+
detector:
|
1894
|
+
type: string
|
1895
|
+
description: Designation of the detector (hardware)
|
1896
|
+
type:
|
1897
|
+
type: string
|
1898
|
+
description: Type of detector
|
1899
|
+
values:
|
1900
|
+
loop: Inductive detector loop
|
1901
|
+
input: External input
|
1902
|
+
errormode:
|
1903
|
+
type: string
|
1904
|
+
description: Detector forced on/off while detector error
|
1905
|
+
values: ['on','off'] # on/off must be quoted, otherwise they are converted to true/false
|
1906
|
+
manual:
|
1907
|
+
type: boolean
|
1908
|
+
description: Manually controlled detector logic (True/False)
|
1909
|
+
A0302:
|
1910
|
+
description: |-
|
1911
|
+
Detector error (logic error).
|
1912
|
+
For instance; detector continuously on or off during an extended time.
|
1913
|
+
Is a "minor fault" defined according to 3.11 in EN12675.
|
1914
|
+
priority: 3
|
1915
|
+
category: D
|
1916
|
+
arguments:
|
1917
|
+
detector:
|
1918
|
+
type: string
|
1919
|
+
description: Designation of the detector (hardware)
|
1920
|
+
type:
|
1921
|
+
type: string
|
1922
|
+
description: Type of detector.
|
1923
|
+
values:
|
1924
|
+
loop: Inductive detector loop
|
1925
|
+
input: External input
|
1926
|
+
errormode:
|
1927
|
+
type: string
|
1928
|
+
description: Detector forced on/off while detector error
|
1929
|
+
values: ['on','off'] # on/off must be quoted, otherwise they are converted to true/false
|
1930
|
+
manual:
|
1931
|
+
type: boolean
|
1932
|
+
description: Manually controlled detector logic (True/False)
|
1933
|
+
logicerror:
|
1934
|
+
type: string
|
1935
|
+
description: Type of logic error
|
1936
|
+
values:
|
1937
|
+
always_off: no detection during predefined max time
|
1938
|
+
always_on: detection constantly on during predefined max time
|
1939
|
+
intermittent: intermittent logic fault (flutter)
|
1940
|
+
A0303:
|
1941
|
+
description: |-
|
1942
|
+
Serious detector error (hardware).
|
1943
|
+
Is a “major fault” defined according to 3.8 i EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.
|
1944
|
+
priority: 2
|
1945
|
+
category: D
|
1946
|
+
arguments:
|
1947
|
+
detector:
|
1948
|
+
type: string
|
1949
|
+
description: Designation of the detector (hardware)
|
1950
|
+
type:
|
1951
|
+
type: string
|
1952
|
+
description: Type of detector.
|
1953
|
+
values:
|
1954
|
+
loop: Inductive detector loop
|
1955
|
+
input: External input
|
1956
|
+
errormode:
|
1957
|
+
type: string
|
1958
|
+
description: Detector forced on/off while detector error
|
1959
|
+
values: ['on','off'] # on/off must be quoted, otherwise they are converted to true/false
|
1960
|
+
manual:
|
1961
|
+
type: boolean
|
1962
|
+
description: Manually controlled detector logic (True/False)
|
1963
|
+
A0304:
|
1964
|
+
description: |-
|
1965
|
+
Serious detector error (logic error).
|
1966
|
+
For instance; detector continuously on or off during an extended time.
|
1967
|
+
Is a “major fault” defined according to 3.8 i EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675
|
1968
|
+
priority: 2
|
1969
|
+
category: D
|
1970
|
+
arguments:
|
1971
|
+
detector:
|
1972
|
+
type: string
|
1973
|
+
description: Designation of the detector (hardware)
|
1974
|
+
type:
|
1975
|
+
type: string
|
1976
|
+
description: Type of detector.
|
1977
|
+
values:
|
1978
|
+
loop: Inductive detector loop
|
1979
|
+
input: External input
|
1980
|
+
errormode:
|
1981
|
+
type: string
|
1982
|
+
description: Detector forced on/off while detector error
|
1983
|
+
values: ['on','off'] # on/off must be quoted, otherwise they are converted to true/false
|
1984
|
+
manual:
|
1985
|
+
type: boolean
|
1986
|
+
description: Manually controlled detector logic (True/False)
|
1987
|
+
logicerror:
|
1988
|
+
type: string
|
1989
|
+
description: Type of logic error
|
1990
|
+
values:
|
1991
|
+
always_off: no detection during predefined max time
|
1992
|
+
always_on: detection constantly on during predefined max time
|
1993
|
+
intermittent: intermittent logic fault (flutter)
|
1994
|
+
statuses:
|
1995
|
+
S0201:
|
1996
|
+
description: |-
|
1997
|
+
Traffic Counting: Number of vehicles.
|
1998
|
+
Used for Traffic counting.
|
1999
|
+
arguments:
|
2000
|
+
starttime:
|
2001
|
+
type: timestamp
|
2002
|
+
description: Time stamp for start of measuring
|
2003
|
+
vehicles:
|
2004
|
+
type: integer
|
2005
|
+
description: Number of vehicles on a given detector logic (since last
|
2006
|
+
update)
|
2007
|
+
min: 0
|
2008
|
+
max: 65535
|
2009
|
+
S0202:
|
2010
|
+
description: |-
|
2011
|
+
Traffic Counting: Vehicle speed.
|
2012
|
+
Used for Traffic counting.
|
2013
|
+
arguments:
|
2014
|
+
starttime:
|
2015
|
+
type: timestamp
|
2016
|
+
description: Time stamp for start of measuring
|
2017
|
+
speed:
|
2018
|
+
type: integer
|
2019
|
+
description: Average speed in km/h
|
2020
|
+
min: 0
|
2021
|
+
max: 65535
|
2022
|
+
S0203:
|
2023
|
+
description: |-
|
2024
|
+
Traffic Counting: Occupancy.
|
2025
|
+
Used for Traffic counting.
|
2026
|
+
arguments:
|
2027
|
+
starttime:
|
2028
|
+
type: timestamp
|
2029
|
+
description: Time stamp for start of measuring
|
2030
|
+
occupancy:
|
2031
|
+
type: integer
|
2032
|
+
description: Occupancy in percent (0-100%)
|
2033
|
+
min: 0
|
2034
|
+
max: 100
|
2035
|
+
S0204:
|
2036
|
+
description: |-
|
2037
|
+
Traffic Counting: Number of vehicles of given classification.
|
2038
|
+
Used for Traffic counting.
|
2039
|
+
arguments:
|
2040
|
+
starttime:
|
2041
|
+
type: timestamp
|
2042
|
+
description: Time stamp for start of measuring
|
2043
|
+
P:
|
2044
|
+
type: integer
|
2045
|
+
description: Number of cars
|
2046
|
+
min: 0
|
2047
|
+
max: 65535
|
2048
|
+
PS:
|
2049
|
+
type: integer
|
2050
|
+
description: Number of cars with trailers
|
2051
|
+
min: 0
|
2052
|
+
max: 65535
|
2053
|
+
L:
|
2054
|
+
type: integer
|
2055
|
+
description: Number of trucks
|
2056
|
+
min: 0
|
2057
|
+
max: 65535
|
2058
|
+
LS:
|
2059
|
+
type: integer
|
2060
|
+
description: Number of trucks with trailers
|
2061
|
+
min: 0
|
2062
|
+
max: 65535
|
2063
|
+
B:
|
2064
|
+
type: integer
|
2065
|
+
description: Number of buses
|
2066
|
+
min: 0
|
2067
|
+
max: 65535
|
2068
|
+
SP:
|
2069
|
+
type: integer
|
2070
|
+
description: Number of trams
|
2071
|
+
min: 0
|
2072
|
+
max: 65535
|
2073
|
+
MC:
|
2074
|
+
type: integer
|
2075
|
+
description: Number of motor cycles
|
2076
|
+
min: 0
|
2077
|
+
max: 65535
|
2078
|
+
C:
|
2079
|
+
type: integer
|
2080
|
+
description: Number of bicycles
|
2081
|
+
min: 0
|
2082
|
+
max: 65535
|
2083
|
+
F:
|
2084
|
+
type: integer
|
2085
|
+
description: Number of pedestrians
|
2086
|
+
min: 0
|
2087
|
+
max: 65535
|
2088
|
+
commands:
|
2089
|
+
M0008:
|
2090
|
+
description: |-
|
2091
|
+
Sets manual activation of detector logic.
|
2092
|
+
Set given detector logic (1-255) to either true or false.
|
2093
|
+
Can e.g. be used to connect RSMP compatible detection equipment to the traffic light controller. Can also be used for prioritization.
|
2094
|
+
Requires security code 2
|
2095
|
+
arguments:
|
2096
|
+
status:
|
2097
|
+
type: boolean
|
2098
|
+
description: |-
|
2099
|
+
False: Deactivate manual control of detector logic
|
2100
|
+
True: Activate manual control of detector logic
|
2101
|
+
securityCode:
|
2102
|
+
type: string
|
2103
|
+
description: Security code 2
|
2104
|
+
mode:
|
2105
|
+
type: boolean
|
2106
|
+
description: |-
|
2107
|
+
False: Deactivate detector logic
|
2108
|
+
True: Activate detector logic
|
2109
|
+
command: setForceDetectorLogic
|