rsmp_schema 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yaml +1 -1
  3. data/.tool-versions +1 -1
  4. data/Gemfile.lock +24 -22
  5. data/examples/validate.rb +1 -1
  6. data/lib/rsmp_schema/version.rb +1 -1
  7. data/rsmp_schema.gemspec +5 -5
  8. data/schemas/tlc/1.2/statuses/S0006.json +3 -3
  9. data/schemas/tlc/1.2/sxl.yaml +4 -4
  10. data/schemas/tlc/1.2.1/alarms/A0001.json +3 -0
  11. data/schemas/tlc/1.2.1/alarms/A0002.json +3 -0
  12. data/schemas/tlc/1.2.1/alarms/A0003.json +3 -0
  13. data/schemas/tlc/1.2.1/alarms/A0004.json +3 -0
  14. data/schemas/tlc/1.2.1/alarms/A0005.json +3 -0
  15. data/schemas/tlc/1.2.1/alarms/A0006.json +3 -0
  16. data/schemas/tlc/1.2.1/alarms/A0007.json +59 -0
  17. data/schemas/tlc/1.2.1/alarms/A0008.json +61 -0
  18. data/schemas/tlc/1.2.1/alarms/A0009.json +3 -0
  19. data/schemas/tlc/1.2.1/alarms/A0010.json +3 -0
  20. data/schemas/tlc/1.2.1/alarms/A0101.json +3 -0
  21. data/schemas/tlc/1.2.1/alarms/A0201.json +60 -0
  22. data/schemas/tlc/1.2.1/alarms/A0202.json +60 -0
  23. data/schemas/tlc/1.2.1/alarms/A0301.json +132 -0
  24. data/schemas/tlc/1.2.1/alarms/A0302.json +158 -0
  25. data/schemas/tlc/1.2.1/alarms/A0303.json +132 -0
  26. data/schemas/tlc/1.2.1/alarms/A0304.json +158 -0
  27. data/schemas/tlc/1.2.1/alarms/alarms.json +286 -0
  28. data/schemas/tlc/1.2.1/commands/M0001.json +138 -0
  29. data/schemas/tlc/1.2.1/commands/M0002.json +112 -0
  30. data/schemas/tlc/1.2.1/commands/M0003.json +112 -0
  31. data/schemas/tlc/1.2.1/commands/M0004.json +85 -0
  32. data/schemas/tlc/1.2.1/commands/M0005.json +112 -0
  33. data/schemas/tlc/1.2.1/commands/M0006.json +112 -0
  34. data/schemas/tlc/1.2.1/commands/M0007.json +85 -0
  35. data/schemas/tlc/1.2.1/commands/M0008.json +112 -0
  36. data/schemas/tlc/1.2.1/commands/M0010.json +85 -0
  37. data/schemas/tlc/1.2.1/commands/M0011.json +85 -0
  38. data/schemas/tlc/1.2.1/commands/M0012.json +79 -0
  39. data/schemas/tlc/1.2.1/commands/M0013.json +79 -0
  40. data/schemas/tlc/1.2.1/commands/M0014.json +106 -0
  41. data/schemas/tlc/1.2.1/commands/M0015.json +112 -0
  42. data/schemas/tlc/1.2.1/commands/M0016.json +79 -0
  43. data/schemas/tlc/1.2.1/commands/M0017.json +79 -0
  44. data/schemas/tlc/1.2.1/commands/M0018.json +112 -0
  45. data/schemas/tlc/1.2.1/commands/M0019.json +139 -0
  46. data/schemas/tlc/1.2.1/commands/M0020.json +139 -0
  47. data/schemas/tlc/1.2.1/commands/M0021.json +79 -0
  48. data/schemas/tlc/1.2.1/commands/M0022.json +355 -0
  49. data/schemas/tlc/1.2.1/commands/M0023.json +85 -0
  50. data/schemas/tlc/1.2.1/commands/M0103.json +103 -0
  51. data/schemas/tlc/1.2.1/commands/M0104.json +220 -0
  52. data/schemas/tlc/1.2.1/commands/command_requests.json +7 -0
  53. data/schemas/tlc/1.2.1/commands/command_responses.json +7 -0
  54. data/schemas/tlc/1.2.1/commands/commands.json +398 -0
  55. data/schemas/tlc/1.2.1/rsmp.json +73 -0
  56. data/schemas/tlc/1.2.1/statuses/S0001.json +137 -0
  57. data/schemas/tlc/1.2.1/statuses/S0002.json +55 -0
  58. data/schemas/tlc/1.2.1/statuses/S0003.json +55 -0
  59. data/schemas/tlc/1.2.1/statuses/S0004.json +55 -0
  60. data/schemas/tlc/1.2.1/statuses/S0005.json +112 -0
  61. data/schemas/tlc/1.2.1/statuses/S0006.json +88 -0
  62. data/schemas/tlc/1.2.1/statuses/S0007.json +116 -0
  63. data/schemas/tlc/1.2.1/statuses/S0008.json +116 -0
  64. data/schemas/tlc/1.2.1/statuses/S0009.json +116 -0
  65. data/schemas/tlc/1.2.1/statuses/S0010.json +116 -0
  66. data/schemas/tlc/1.2.1/statuses/S0011.json +116 -0
  67. data/schemas/tlc/1.2.1/statuses/S0012.json +116 -0
  68. data/schemas/tlc/1.2.1/statuses/S0013.json +88 -0
  69. data/schemas/tlc/1.2.1/statuses/S0014.json +90 -0
  70. data/schemas/tlc/1.2.1/statuses/S0015.json +90 -0
  71. data/schemas/tlc/1.2.1/statuses/S0016.json +61 -0
  72. data/schemas/tlc/1.2.1/statuses/S0017.json +61 -0
  73. data/schemas/tlc/1.2.1/statuses/S0018.json +61 -0
  74. data/schemas/tlc/1.2.1/statuses/S0019.json +61 -0
  75. data/schemas/tlc/1.2.1/statuses/S0020.json +88 -0
  76. data/schemas/tlc/1.2.1/statuses/S0021.json +56 -0
  77. data/schemas/tlc/1.2.1/statuses/S0022.json +55 -0
  78. data/schemas/tlc/1.2.1/statuses/S0023.json +56 -0
  79. data/schemas/tlc/1.2.1/statuses/S0024.json +56 -0
  80. data/schemas/tlc/1.2.1/statuses/S0025.json +250 -0
  81. data/schemas/tlc/1.2.1/statuses/S0026.json +55 -0
  82. data/schemas/tlc/1.2.1/statuses/S0027.json +55 -0
  83. data/schemas/tlc/1.2.1/statuses/S0028.json +55 -0
  84. data/schemas/tlc/1.2.1/statuses/S0029.json +55 -0
  85. data/schemas/tlc/1.2.1/statuses/S0030.json +55 -0
  86. data/schemas/tlc/1.2.1/statuses/S0031.json +55 -0
  87. data/schemas/tlc/1.2.1/statuses/S0032.json +116 -0
  88. data/schemas/tlc/1.2.1/statuses/S0033.json +114 -0
  89. data/schemas/tlc/1.2.1/statuses/S0034.json +61 -0
  90. data/schemas/tlc/1.2.1/statuses/S0035.json +74 -0
  91. data/schemas/tlc/1.2.1/statuses/S0091.json +65 -0
  92. data/schemas/tlc/1.2.1/statuses/S0092.json +65 -0
  93. data/schemas/tlc/1.2.1/statuses/S0095.json +55 -0
  94. data/schemas/tlc/1.2.1/statuses/S0096.json +196 -0
  95. data/schemas/tlc/1.2.1/statuses/S0097.json +82 -0
  96. data/schemas/tlc/1.2.1/statuses/S0098.json +103 -0
  97. data/schemas/tlc/1.2.1/statuses/S0201.json +88 -0
  98. data/schemas/tlc/1.2.1/statuses/S0202.json +88 -0
  99. data/schemas/tlc/1.2.1/statuses/S0203.json +88 -0
  100. data/schemas/tlc/1.2.1/statuses/S0204.json +304 -0
  101. data/schemas/tlc/1.2.1/statuses/S0205.json +88 -0
  102. data/schemas/tlc/1.2.1/statuses/S0206.json +88 -0
  103. data/schemas/tlc/1.2.1/statuses/S0207.json +88 -0
  104. data/schemas/tlc/1.2.1/statuses/S0208.json +304 -0
  105. data/schemas/tlc/1.2.1/statuses/statuses.json +786 -0
  106. data/schemas/tlc/1.2.1/sxl.yaml +2109 -0
  107. metadata +110 -13
@@ -0,0 +1,196 @@
1
+ {
2
+ "description" : "Current date and time.\nNote: UTC is used.\nProvides diagnostic information about the current date and time set in the controller.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "day",
9
+ "hour",
10
+ "minute",
11
+ "month",
12
+ "second",
13
+ "year"
14
+ ]
15
+ }
16
+ }
17
+ },
18
+ {
19
+ "if" : {
20
+ "required" : [
21
+ "q"
22
+ ],
23
+ "properties" : {
24
+ "q" : {
25
+ "const" : "undefined"
26
+ }
27
+ }
28
+ },
29
+ "then" : {
30
+ "s" : {
31
+ "type" : "null"
32
+ }
33
+ },
34
+ "else" : {
35
+ "allOf" : [
36
+ {
37
+ "if" : {
38
+ "required" : [
39
+ "n"
40
+ ],
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "year"
44
+ }
45
+ }
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "s" : {
50
+ "allOf" : [
51
+ {
52
+ "description" : "Year"
53
+ },
54
+ {
55
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ }
61
+ },
62
+ {
63
+ "if" : {
64
+ "required" : [
65
+ "n"
66
+ ],
67
+ "properties" : {
68
+ "n" : {
69
+ "const" : "month"
70
+ }
71
+ }
72
+ },
73
+ "then" : {
74
+ "properties" : {
75
+ "s" : {
76
+ "allOf" : [
77
+ {
78
+ "description" : "Month"
79
+ },
80
+ {
81
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
82
+ }
83
+ ]
84
+ }
85
+ }
86
+ }
87
+ },
88
+ {
89
+ "if" : {
90
+ "required" : [
91
+ "n"
92
+ ],
93
+ "properties" : {
94
+ "n" : {
95
+ "const" : "day"
96
+ }
97
+ }
98
+ },
99
+ "then" : {
100
+ "properties" : {
101
+ "s" : {
102
+ "allOf" : [
103
+ {
104
+ "description" : "Day of month"
105
+ },
106
+ {
107
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
108
+ }
109
+ ]
110
+ }
111
+ }
112
+ }
113
+ },
114
+ {
115
+ "if" : {
116
+ "required" : [
117
+ "n"
118
+ ],
119
+ "properties" : {
120
+ "n" : {
121
+ "const" : "hour"
122
+ }
123
+ }
124
+ },
125
+ "then" : {
126
+ "properties" : {
127
+ "s" : {
128
+ "allOf" : [
129
+ {
130
+ "description" : "Hour"
131
+ },
132
+ {
133
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
134
+ }
135
+ ]
136
+ }
137
+ }
138
+ }
139
+ },
140
+ {
141
+ "if" : {
142
+ "required" : [
143
+ "n"
144
+ ],
145
+ "properties" : {
146
+ "n" : {
147
+ "const" : "minute"
148
+ }
149
+ }
150
+ },
151
+ "then" : {
152
+ "properties" : {
153
+ "s" : {
154
+ "allOf" : [
155
+ {
156
+ "description" : "Minute"
157
+ },
158
+ {
159
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
160
+ }
161
+ ]
162
+ }
163
+ }
164
+ }
165
+ },
166
+ {
167
+ "if" : {
168
+ "required" : [
169
+ "n"
170
+ ],
171
+ "properties" : {
172
+ "n" : {
173
+ "const" : "second"
174
+ }
175
+ }
176
+ },
177
+ "then" : {
178
+ "properties" : {
179
+ "s" : {
180
+ "allOf" : [
181
+ {
182
+ "description" : "Second"
183
+ },
184
+ {
185
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
186
+ }
187
+ ]
188
+ }
189
+ }
190
+ }
191
+ }
192
+ ]
193
+ }
194
+ }
195
+ ]
196
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "description" : "Checksum of traffic parameters.\nCan be used to check if any traffic parameter has been changed.\nFor 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.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "checksum",
9
+ "timestamp"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "if" : {
16
+ "required" : [
17
+ "q"
18
+ ],
19
+ "properties" : {
20
+ "q" : {
21
+ "const" : "undefined"
22
+ }
23
+ }
24
+ },
25
+ "then" : {
26
+ "s" : {
27
+ "type" : "null"
28
+ }
29
+ },
30
+ "else" : {
31
+ "allOf" : [
32
+ {
33
+ "if" : {
34
+ "required" : [
35
+ "n"
36
+ ],
37
+ "properties" : {
38
+ "n" : {
39
+ "const" : "checksum"
40
+ }
41
+ }
42
+ },
43
+ "then" : {
44
+ "properties" : {
45
+ "s" : {
46
+ "description" : "Checksum of the traffic parameters\nUses SHA-2 as hashing algorithm\nIncludes\n- all signal programs, including program versions\n- signal group settings\n- time plans\n- safety matrix\n- intergreen times\n- detector settings\n\nIt should NOT include:\n- network settings\n- log files\n- software\n- other device settings that are not part of the signal program\n\nNote:\n- The checksum should be calculated using the same data as used in S0098\n- Data Downloaded with S0098 and hashed with SHA-2 should match this value.",
47
+ "type" : "string"
48
+ }
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "if" : {
54
+ "required" : [
55
+ "n"
56
+ ],
57
+ "properties" : {
58
+ "n" : {
59
+ "const" : "timestamp"
60
+ }
61
+ }
62
+ },
63
+ "then" : {
64
+ "properties" : {
65
+ "s" : {
66
+ "allOf" : [
67
+ {
68
+ "description" : "Time stamp of the checksum"
69
+ },
70
+ {
71
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
72
+ }
73
+ ]
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ]
79
+ }
80
+ }
81
+ ]
82
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "description" : "Configuration of traffic parameters.\nCan be used to download all traffic parameters from the controller.\nFor instance, depending on controller, maintenance personnel can modify traffic parameters on site to optimize traffic flow. This status provides the ability to downloaded them.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "config",
9
+ "timestamp",
10
+ "version"
11
+ ]
12
+ }
13
+ }
14
+ },
15
+ {
16
+ "if" : {
17
+ "required" : [
18
+ "q"
19
+ ],
20
+ "properties" : {
21
+ "q" : {
22
+ "const" : "undefined"
23
+ }
24
+ }
25
+ },
26
+ "then" : {
27
+ "s" : {
28
+ "type" : "null"
29
+ }
30
+ },
31
+ "else" : {
32
+ "allOf" : [
33
+ {
34
+ "if" : {
35
+ "required" : [
36
+ "n"
37
+ ],
38
+ "properties" : {
39
+ "n" : {
40
+ "const" : "config"
41
+ }
42
+ }
43
+ },
44
+ "then" : {
45
+ "properties" : {
46
+ "s" : {
47
+ "description" : "Traffic parameters.\nIncludes\n- all signal programs, including program versions\n- signal group settings\n- time plans\n- safety matrix\n- intergreen times\n- detector setting\n\nIt should NOT include:\n- network settings\n- log files\n- software\n- other device settings that are not part of the signal program\n\nNote:\n- There is no way to upload this binary file to the TLC using RSMP\n- The format of the binary file is not specified and is not expected to be compatible between suppliers",
48
+ "type" : "string"
49
+ }
50
+ }
51
+ }
52
+ },
53
+ {
54
+ "if" : {
55
+ "required" : [
56
+ "n"
57
+ ],
58
+ "properties" : {
59
+ "n" : {
60
+ "const" : "timestamp"
61
+ }
62
+ }
63
+ },
64
+ "then" : {
65
+ "properties" : {
66
+ "s" : {
67
+ "allOf" : [
68
+ {
69
+ "description" : "Time stamp of the config"
70
+ },
71
+ {
72
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
73
+ }
74
+ ]
75
+ }
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "if" : {
81
+ "required" : [
82
+ "n"
83
+ ],
84
+ "properties" : {
85
+ "n" : {
86
+ "const" : "version"
87
+ }
88
+ }
89
+ },
90
+ "then" : {
91
+ "properties" : {
92
+ "s" : {
93
+ "description" : "Version information of the configuration. Contains basic information such as controller id, changes to config and other information.\nThe format is not specified in detail.",
94
+ "type" : "string"
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ]
100
+ }
101
+ }
102
+ ]
103
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "description" : "Traffic Counting: Number of vehicles.\nUsed for Traffic counting.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "starttime",
9
+ "vehicles"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "if" : {
16
+ "required" : [
17
+ "q"
18
+ ],
19
+ "properties" : {
20
+ "q" : {
21
+ "const" : "undefined"
22
+ }
23
+ }
24
+ },
25
+ "then" : {
26
+ "s" : {
27
+ "type" : "null"
28
+ }
29
+ },
30
+ "else" : {
31
+ "allOf" : [
32
+ {
33
+ "if" : {
34
+ "required" : [
35
+ "n"
36
+ ],
37
+ "properties" : {
38
+ "n" : {
39
+ "const" : "starttime"
40
+ }
41
+ }
42
+ },
43
+ "then" : {
44
+ "properties" : {
45
+ "s" : {
46
+ "allOf" : [
47
+ {
48
+ "description" : "Time stamp for start of measuring"
49
+ },
50
+ {
51
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "if" : {
60
+ "required" : [
61
+ "n"
62
+ ],
63
+ "properties" : {
64
+ "n" : {
65
+ "const" : "vehicles"
66
+ }
67
+ }
68
+ },
69
+ "then" : {
70
+ "properties" : {
71
+ "s" : {
72
+ "allOf" : [
73
+ {
74
+ "description" : "Number of vehicles on a given detector logic (since last update)"
75
+ },
76
+ {
77
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ }
83
+ }
84
+ ]
85
+ }
86
+ }
87
+ ]
88
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "description" : "Traffic Counting: Vehicle speed.\nUsed for Traffic counting.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "speed",
9
+ "starttime"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "if" : {
16
+ "required" : [
17
+ "q"
18
+ ],
19
+ "properties" : {
20
+ "q" : {
21
+ "const" : "undefined"
22
+ }
23
+ }
24
+ },
25
+ "then" : {
26
+ "s" : {
27
+ "type" : "null"
28
+ }
29
+ },
30
+ "else" : {
31
+ "allOf" : [
32
+ {
33
+ "if" : {
34
+ "required" : [
35
+ "n"
36
+ ],
37
+ "properties" : {
38
+ "n" : {
39
+ "const" : "starttime"
40
+ }
41
+ }
42
+ },
43
+ "then" : {
44
+ "properties" : {
45
+ "s" : {
46
+ "allOf" : [
47
+ {
48
+ "description" : "Time stamp for start of measuring"
49
+ },
50
+ {
51
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "if" : {
60
+ "required" : [
61
+ "n"
62
+ ],
63
+ "properties" : {
64
+ "n" : {
65
+ "const" : "speed"
66
+ }
67
+ }
68
+ },
69
+ "then" : {
70
+ "properties" : {
71
+ "s" : {
72
+ "allOf" : [
73
+ {
74
+ "description" : "Average speed in km/h"
75
+ },
76
+ {
77
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ }
83
+ }
84
+ ]
85
+ }
86
+ }
87
+ ]
88
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "description" : "Traffic Counting: Occupancy.\nUsed for Traffic counting.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "occupancy",
9
+ "starttime"
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "if" : {
16
+ "required" : [
17
+ "q"
18
+ ],
19
+ "properties" : {
20
+ "q" : {
21
+ "const" : "undefined"
22
+ }
23
+ }
24
+ },
25
+ "then" : {
26
+ "s" : {
27
+ "type" : "null"
28
+ }
29
+ },
30
+ "else" : {
31
+ "allOf" : [
32
+ {
33
+ "if" : {
34
+ "required" : [
35
+ "n"
36
+ ],
37
+ "properties" : {
38
+ "n" : {
39
+ "const" : "starttime"
40
+ }
41
+ }
42
+ },
43
+ "then" : {
44
+ "properties" : {
45
+ "s" : {
46
+ "allOf" : [
47
+ {
48
+ "description" : "Time stamp for start of measuring"
49
+ },
50
+ {
51
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "if" : {
60
+ "required" : [
61
+ "n"
62
+ ],
63
+ "properties" : {
64
+ "n" : {
65
+ "const" : "occupancy"
66
+ }
67
+ }
68
+ },
69
+ "then" : {
70
+ "properties" : {
71
+ "s" : {
72
+ "allOf" : [
73
+ {
74
+ "description" : "Occupancy in percent (0-100%)"
75
+ },
76
+ {
77
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ }
83
+ }
84
+ ]
85
+ }
86
+ }
87
+ ]
88
+ }