-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsxl.yaml
2109 lines (2041 loc) · 88.6 KB
/
sxl.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
meta:
name: tlc
description: Traffic Light Controllers
version: 1.2.1
objects:
Traffic Light Controller:
description:
aggregated_status:
1:
title: Local mode
description: Traffic Light Controller is in local mode. NTS has no control.
2:
title: No Communications
3:
title: High Priority Fault
description: Traffic Light Controller is in fail safe mode; e.g. yellow flash
or dark mode
4:
title: Medium Priority Fault
description: |-
Traffic Light Controller has a medium priority fault, but not in fail safe mode.
E.g. several lamp faults or detector fault
5:
title: Low Priority Fault
description: Traffic Light Controller has a low priority fault. E.g. Detector
fault
6:
title: Connected / Normal - In Use
7:
title: Connected / Normal - Idle
description: |-
Traffic Light Controller dark according to configuration.
NOTE! When dark according to configuration the controller is considered to be in use
8:
title: Not Connected
functional_position: null
functional_state: null
alarms:
A0001:
description: |-
Serious hardware error.
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.
priority: 2
category: D
A0002:
description: |-
Less serious hardware error.
Is a "minor fault" defined according to 3.11 in EN12675.
priority: 3
category: D
A0003:
description: |-
Serious configuration error.
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.
priority: 2
category: D
A0004:
description: |-
Less serious configuration error.
Is a "minor fault" defined according to 3.11 in EN12675.
priority: 3
category: D
A0005:
description: |-
Synchronisation error (coordination).
Is a "minor fault" defined according to 3.11 in EN12675.
priority: 3
category: D
A0006:
description: |-
Safety error
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.
priority: 2
category: D
A0007:
description: |-
Communication error.
Used for communication errors with the central system. Includes NTP connection loss if the TLC is configured to use NTP.
Is a "minor fault" defined according to 3.11 in EN12675.
priority: 3
category: D
arguments:
protocol:
type: string
description: Type of communication error, e.g. NTP or RSMP
values:
rsmp: RSMP
ntp: NTP
A0009:
description: |-
Other error.
Used for other errors not covered by any other alarm type.
Is a "minor fault" defined according to 3.11 in EN12675.
priority: 3
category: D
A0010:
description: |-
Door open.
Used for open door (room or cabinet).
priority: 3
category: D
statuses:
S0001:
description: |-
Signal group status.
Provides the status of each signal group, including basic information such as green, yellow and red. But also detailed technical information.
Can be used to draw a live signal group diagram as well provide diagnostic information about the performance of the controller.
arguments:
signalgroupstatus:
type: string
description: |-
Signal group status as text field.
Each character represent the state of the signal group in consecutive order,
where the leftmost character starts with signal group 1.
Signal group status is described in detail in the corresponding section.
- : Signal group is undefined/does not exist
pattern: "^[a-hA-G0-9N-P]*$"
cyclecounter:
type: integer
description: |-
Cycle counter.
Used for handling of coordination between TLC's.
Is counted from 0 until it reaches the cycle time (See S0028).
c = (b + o) mod t
where c = cycle counter,
b = base cycle counter,
o = offset,
t = cycle time,
mod = modulo
See the coordination section for more information.
min: 0
max: 999
basecyclecounter:
type: integer
description: |-
Base cycle counter.
Used for handling of coordination between TLC's.
Synchronized between all TLC's in an active coordination.
See the coordination section for more information.
min: 0
max: 999
stage:
type: integer
description: Current stage (isolated)
min: 0
max: 999
S0002:
description: |-
Detector logic status.
Provides the status of all detector logics of the controller.
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.
arguments:
detectorlogicstatus:
type: string
description: |-
Detector logic status as text field.
Each character represent the state of the detector logic in consecutive order,
where the leftmost character starts with detector logic 1.
0 : Detector logic is not active
1 : Detector logic is active
- : Detector logic is undefined/does not exist
S0003:
description: |-
Input status.
Input (1-255) of the controllers general purpose I/O.
Input is used where the traffic light controller must react to external control. It could be external detectors, bus priority, and much more.
arguments:
inputstatus:
type: string
description: |-
Input status as text field.
Each character represent the state of the input in consecutive order,
where the leftmost character starts with input 1.
0 : Input is not active
1 : Input is active
- : Input is undefined/does not exist
S0004:
description: |-
Output status.
Output (1-255) of the controllers general purpose I/O.
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.
arguments:
outputstatus:
type: string
description: |-
Output status as text field.
Each character represent the state of the output status in consecutive order,
where the leftmost character starts with output 1.
0 : Output is not active
1 : Output is active
- : Output is undefined/does not exist
S0005:
description: |-
Traffic Light Controller starting.
The traffic signal is starting, e.g. it is in startup mode and has not begun working normally yet.
During startup mode the traffic controller shows dark, red, yellow flash or using the predetermined start cycle (minimum times).
arguments:
status:
type: boolean
description: |-
False: Controller is not in start up mode
True: Controller is currently in start up mode
statusByIntersection:
description: |-
False: Intersection is not in start up mode
True: Intersection is currently in start up mode
type: array
items:
intersection:
type: integer
description: Intersection id
min: 0
max: 255
startup:
type: boolean
description: Start up mode
S0006:
description: |-
Emergency route.
The status is active during emergency prioritization.
Used in situations where full priority is given in the emergency vehicle program
or for other types of priority in some cases.
If no emergency route is active, status should be set to False, and emergencystage to zero.
Deprecated, use S0035 instead.
arguments:
status:
type: boolean
deprecated: true
description: |-
False: Emergency route inactive
True: Emergency route active
emergencystage:
type: integer
deprecated: true
description: Number of emergency route (set to zero if no route is active)
min: 0
max: 255
S0007:
description: |-
Controller switched on.
The controller is active and is not in dark mode.
Used to determine if the there is output to the signal heads, e.g. it shows red, green or yellow to the vehicles.
During maintenance work the controller might be using dark mode (no output to the signal heads).
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).
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: Traffic Light Controller in dark mode
True: Traffic Light Controller not in dark mode
source:
description: Source of the status change
type: string_list
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0008:
description: |-
Manual control.
Traffic control deactivated in controller.
Signal timings is controlled manually by service personnel using the operating panel of the controller.
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).
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: Manual control inactive
True: Manual control active
source:
type: string_list
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0009:
description: |-
Fixed time control.
Traffic actuated control deactivated and a pre-timed control is used.
Usually only used in case normal detectors can't be used, e.g. during maintenance work.
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).
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: Fixed time control inactive
True: Fixed time control active
source:
type: string_list
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0010:
description: |-
Isolated control.
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).
Used to determine if the controller is operating independently or operating with other controllers (coordination).
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).
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: Isolated control disabled
True: Isolated control enabled (Vehicle actuated control or Fixed time control)
source:
type: string_list
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0011:
description: |-
Yellow flash.
The controller shows yellow flash.
Yellow flash may be used during a serious fault (depending on configuration) or maintenance work. It can also be manually set using M0001.
Some countries may use yellow flash as an normal operating mode, and not necessarily during fault.
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "True,False"
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: Yellow flash disabled
True: Yellow flash enabled
source:
type: string_list
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0012:
description: |-
All red.
The controller show all red.
All red can be manually set using the controllers operating panel during maintenance work.
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "True,False"
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: boolean_list
description: |-
False: All red disabled
True: All red enabled
source:
type: string_list
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0013:
description: |-
Police key
The controller is forced to dark mode or yellow flash.
The "police key" is a external control switch present in some controllers that manually switches the controller to either dark mode or yellow flash.
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "0,1"
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: integer_list
values:
0: disabled
1: dark mode
2: yellow flash
3: all red
S0014:
description: |-
Current time plan.
The current time plan (signal program) used in the controller. There may be 1-255 predefined time plans.
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.
arguments:
status:
type: integer
description: Current time plan
min: 1
max: 255
source:
type: string
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0015:
description: |-
Current traffic situation.
The current traffic situation used in the controller.
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).
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.
arguments:
status:
type: integer
description: Current traffic situation
min: 1
max: 255
source:
type: string
description: Source of the status change
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0016:
description: |-
Number of detector logics.
Can be used by the management system to check the number of detector logics configured in the controller.
arguments:
number:
type: integer
description: Number of detector logics
min: 1
max: 65025
S0017:
description: |-
Number of signal groups.
Can be used for the management system to check the number of signal groups configured in the controller.
arguments:
number:
type: integer
description: Number of signal groups
min: 1
max: 65025
S0019:
description: |-
Number of traffic situations.
Can be used for the management system to check the number of traffic situations configured in the controller.
arguments:
number:
type: integer
description: Number of traffic situations
min: 1
max: 65025
S0020:
description: |-
Control mode.
Can be used for the management system to check the current control mode (startup, normal, standby, failure, test).
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "startup,control"
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
controlmode:
type: string_list
values:
startup: The controller starts up, performs a power on self test and performs each :term:`start-up interval`
control: Normal 3-light control
standby: The controller is in dark or yellow flash mode (either according to programming or manually set)
failure: The controller has a "major fault" defined according to 3.8 i EN12675. The controller is in dark or yellow flash mode
test: Mode used for various tests, e.g. signal lights
S0021:
description: |-
Manually set detector logic.
Provides status of detector logic (1-255) regarding if they are either forced to true or false.
Can be used to connect RSMP compatible detection equipment to the traffic light controller. Can also be used for prioritization.
arguments:
detectorlogics:
type: string
description: |-
Manually set detector logic as text field.
Each character represent the state in consecutive order,
where the leftmost character starts with detector logic 1.
0 : Detector logic not manually set
1 : Detector logic manually set
- : Detector logic is undefined/does not exist
pattern: "^[01]*$"
S0022:
description: |-
List of time plans.
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.
Can be used for the management system to check the number of time plans configured in the controller.
arguments:
status:
type: string
description: Comma separated list of configured time plans. E.g. "1,2,3,5"
S0023:
description: |-
Dynamic bands.
Provides a list of all defined dynamic bands. Dynamic bands moves start of signal groups in the cycle and changes the signal timings.
A typical usage of dynamic bands is scenario based control where changing of signal timings is used for optimal traffic flow.
arguments:
status:
type: string
description: |-
Dynamic bands.
Each dynamic band are written as pp-dd-ee where:
pp=Time plan
dd=Dynamic band number (from 1-10)
ee=Extension in seconds in this band
Each dynamic band is separated with a comma.
E.g.
pp-dd-ee,pp-dd-ee
pattern: "(^$)|(^(?<item>(\\d{1,2})\\-\\d{1,2}-\\d{1,2})(,\\g<item>)*$)"
S0024:
description: |-
Offset time.
Offset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.
Can be used by the management system to check to fine tune the coordination for optimal traffic flow.
arguments:
status:
type: string
description: |-
Offset table
Each offset time is written as p-t where:
p=time plan number (from 1 to 255)
t=offset time in seconds (from 0 to 255)
Each offset time is separated with a comma
E.g.
1-0,2-13-3-7
pattern: "^(\\d{1,3}\\-\\d{1,3})(?:,(\\d{1,3}\\-\\d{1,3}))*$"
S0026:
description: |-
Week time table.
Week time table for signal programs (time plan) to use for each day during a week.
The week time table determine which predefined signal timings (time plan) to use during the week for optimal traffic flow.
arguments:
status:
type: string
description: |-
Week time table. Defines time table to use for each week day
Each day is written as d-t where:
d=day of week
t=time table nr
Day of week legend:
0=Monday
1=Tuesday
2=Wednesday
3=Thursday
4=Friday
5=Saturday
6=Sunday
Each segment is separated with a comma
E.g.
d-t,d-t
S0027:
description: |-
Time tables.
Time of day for when to switch signal program (time plan).
The signal timings (time plan) to use during time of day for optimal traffic flow.
arguments:
status:
type: string
description: |-
Time Table. Defines time tables.
Each time definition is written as t-o-h-m where:
t=time table nr (1-12)
o=function
h=hour - switching time
m=minute - switching minute
Function legend:
0=no plan is selected by time table
1=set plan 1
...
16= set plan 16
hour and minute is using local time (not UTC)
Each time definition is separated with a comma
E.g.
t-o-h-m,t-o-h-m
S0028:
description: |-
Cycle time.
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.
Changing the cycle time can be used as part of scenario based control.
arguments:
status:
type: string
description: |-
Cycle time table
Each cycle time is written as pp-tt where:
pp=time plan
tt=cycle time in seconds
Each cycle time is separated with a comma
E.g.
pp-tt,pp-tt
S0029:
description: |-
Forced input status.
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.
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
arguments:
status:
type: string
description: |-
Forced input status as text field.
Each character represent the state in consecutive order,
where the leftmost character starts with input 1.
0 : Input not forced
1 : Input forced
- : Input undefined/does not exist
S0030:
description: |-
Forced output status.
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.
Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.
arguments:
status:
type: string
description: |-
Forced output status as text field.
Each character represent the state in consecutive order,
where the leftmost character starts with output 1.
0 : Output not forced
1 : Output forced
- : Output undefined/does not exist
S0031:
description: |-
Trigger level sensitivity for loop detector.
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.
Can be used to make sure that the detectors detect traffic as intended.
arguments:
status:
type: string
description: |-
Loop detector trigger level sensitivity is written as dd-ss where:
dd=loop detector number
ss=sensitivity value
Each loop detector is separated with a comma. E.g.dd-ss,dd-ss.
S0032:
description: |-
Coordinated control
This status is used when coordination between traffic light controllers is active. Coordination is described in detail in the corresponding section
Please note that all values in this status uses comma-separated lists - one value for each intersection, e.g. "1,2" and "centralized,off"
arguments:
intersection:
type: integer_list
description: |-
Comma separated list of intersections which the status relates to, e.g. "1,2".
Use "0" for all intersections of the TLC.
min: 0
max: 255
status:
type: string_list
values:
local: Local coordination
centralized: Coordination with synchronized clock
'off': Coordination not active
source:
description: Source of the status change
type: string_list
values:
operator_panel: Operator panel
calendar_clock: Calendar/clock
control_block: Control block
forced: Forced due to external command e.g. supervisor
startup: Set after startup mode
other: Other reason
S0033:
description: |-
Signal Priority Status
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.
A list of priorities is returned, referred to by their request ids. The same request id can appear only once.
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.
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.
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).
All priorities are send on every status update, regardless of whether an interval, or sendOnChange (or both) is used.
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.
A request always starts in the 'received' state. The following table shows the possible state transitions:
State | Possible next states
---------- | -------------------------------------
received | queued, activated, rejected, cooldown
queued | activated, timeout
activated | completed, stale
completed |
timeout |
rejected |
cooldown |
stale |
arguments:
status:
description: JSON array of priority status items
type: array
items:
r:
type: string
description: ID of the priority request
t:
type: timestamp
description: Timestamp, indicating when the priority last changed state.
s:
type: string
description: |-
Current status of the priority request
values:
received: A new priority request was received but has not yet been processed
queued: The priority request has been queued for later activation
activated: The priority was activated
completed: The priority was cancelled as expected
timeout: The priority has been queued for too long
rejected: The priority request cannot be granted
cooldown: A similar priority request means the priority request cannot be activated now
stale: The priority has been active too long without cancellation, and was therefore removed
e:
type: integer
description: |-
Estimated green extension provided by the priority, in seconds
Only used when state is 'completed'.
optional: true
min: 0
max: 255
d:
type: integer
description: |-
Estimated red reduction provided by the priority, in seconds
Only used when state is 'completed'.
optional: true
min: 0
max: 255
S0034:
description: |-
Timeout for dynamic bands.
Time until a designated time plan is entered due to lost connection with the supervisor.
Disabled if set to '0'.
Used in conjunction with dynamic bands, M0014
arguments:
status:
type: integer
description: Timeout, in minutes
min: 0
max: 65535
S0035:
description: |-
Emergency route.
The status is active during emergency prioritization.
Used in situations where full priority is given in the emergency vehicle program
or for other types of priority in some cases.
This status is similar to S0006, but supports multiple routes
arguments:
emergencyroutes:
description: Active emergency routes
type: array
items:
id:
type: integer
description: ID of active emergency route
min: 1
max: 255
S0091:
description: |-
Operator logged in/out OP-panel.
Provides information if maintenance personnel is currently working on site.
arguments:
user:
type: integer
values:
0: Nobody logged in
1: Operator logged in at level 1 (read only)
2: Operator logged in at level 2 (read/write)
S0092:
description: |-
Operator logged in/out web-interface.
Provides information if maintenance personnel is currently working with the controller.
arguments:
user:
type: integer
values:
0: Nobody logged in
1: Operator logged in at level 1 (read only)
2: Operator logged in at level 2 (read/write)
S0095:
description: |-
Version of Traffic Light Controller.
Provides diagnostic version information.
arguments:
status:
type: string
description: Manufacturer, product name and version of traffic light controller
S0096:
description: |-
Current date and time.
Note: UTC is used.
Provides diagnostic information about the current date and time set in the controller.
arguments:
year:
type: integer
description: Year
min: 0
max: 9999
month:
type: integer
description: Month
min: 1
max: 12
day:
type: integer
description: Day of month
min: 1
max: 31
hour:
type: integer
description: Hour
min: 0
max: 23
minute:
type: integer
description: Minute
min: 0
max: 59
second:
type: integer
description: Second
min: 0
max: 59
S0097:
description: |-
Checksum of traffic parameters.
Can be used to check if any traffic parameter has been changed.
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.
arguments:
checksum:
type: string
description: |-
Checksum of the traffic parameters
Uses SHA-2 as hashing algorithm
Includes
- all signal programs, including program versions
- signal group settings
- time plans
- safety matrix
- intergreen times
- detector settings
It should NOT include:
- network settings
- log files
- software
- other device settings that are not part of the signal program
Note:
- The checksum should be calculated using the same data as used in S0098
- Data Downloaded with S0098 and hashed with SHA-2 should match this value.
timestamp:
type: timestamp
description: Time stamp of the checksum
S0098:
description: |-
Configuration of traffic parameters.
Can be used to download all traffic parameters from the controller.
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.
arguments:
config:
type: base64
description: |-
Traffic parameters.
Includes
- all signal programs, including program versions
- signal group settings
- time plans
- safety matrix
- intergreen times
- detector setting
It should NOT include:
- network settings
- log files
- software
- other device settings that are not part of the signal program
Note:
- There is no way to upload this binary file to the TLC using RSMP
- The format of the binary file is not specified and is not expected to be compatible between suppliers
timestamp:
type: timestamp
description: Time stamp of the config
version:
type: string
description: |-
Version information of the configuration. Contains basic information such as controller id, changes to config and other information.
The format is not specified in detail.
S0205:
description: |-
Traffic Counting: Number of vehicles.
This status was introduced to improve performance in case traffic counting is done on all all detectors.
arguments:
start:
type: timestamp
description: Time stamp for start of measuring
vehicles:
type: integer_list
description: |-
Number of vehicles.
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to "-1" if no data could be measured (e.g. detector fault)
min: -1
max: 65535
S0206:
description: |-
Traffic Counting: Vehicle speed
This status was introduced to improve performance in case traffic counting is done on all all detectors.
arguments:
start:
type: timestamp
description: Time stamp for start of measuring
speed:
type: integer_list
description: |-
Average speed in km/h (integer).
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to "-1" if no data could be measured (e.g. detector fault)
min: -1
max: 65535