rsmp_schema 0.4.5 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yaml +1 -1
  3. data/.tool-versions +1 -0
  4. data/Gemfile.lock +2 -2
  5. data/lib/rsmp_schema/schema.rb +6 -3
  6. data/lib/rsmp_schema/version.rb +1 -1
  7. data/schemas/core/3.2/status_response.json +1 -1
  8. data/schemas/core/3.2.1/core.json +39 -0
  9. data/schemas/core/3.2.1/rsmp.json +133 -0
  10. data/schemas/tlc/1.2/alarms/A0001.json +3 -0
  11. data/schemas/tlc/1.2/alarms/A0002.json +3 -0
  12. data/schemas/tlc/1.2/alarms/A0003.json +3 -0
  13. data/schemas/tlc/1.2/alarms/A0004.json +3 -0
  14. data/schemas/tlc/1.2/alarms/A0005.json +3 -0
  15. data/schemas/tlc/1.2/alarms/A0006.json +3 -0
  16. data/schemas/tlc/1.2/alarms/A0007.json +59 -0
  17. data/schemas/tlc/1.2/alarms/A0008.json +61 -0
  18. data/schemas/tlc/1.2/alarms/A0009.json +3 -0
  19. data/schemas/tlc/1.2/alarms/A0010.json +3 -0
  20. data/schemas/tlc/1.2/alarms/A0101.json +3 -0
  21. data/schemas/tlc/1.2/alarms/A0201.json +60 -0
  22. data/schemas/tlc/1.2/alarms/A0202.json +60 -0
  23. data/schemas/tlc/1.2/alarms/A0301.json +132 -0
  24. data/schemas/tlc/1.2/alarms/A0302.json +158 -0
  25. data/schemas/tlc/1.2/alarms/A0303.json +132 -0
  26. data/schemas/tlc/1.2/alarms/A0304.json +158 -0
  27. data/schemas/tlc/1.2/alarms/alarms.json +286 -0
  28. data/schemas/tlc/1.2/commands/M0001.json +138 -0
  29. data/schemas/tlc/1.2/commands/M0002.json +112 -0
  30. data/schemas/tlc/1.2/commands/M0003.json +112 -0
  31. data/schemas/tlc/1.2/commands/M0004.json +85 -0
  32. data/schemas/tlc/1.2/commands/M0005.json +112 -0
  33. data/schemas/tlc/1.2/commands/M0006.json +112 -0
  34. data/schemas/tlc/1.2/commands/M0007.json +85 -0
  35. data/schemas/tlc/1.2/commands/M0008.json +112 -0
  36. data/schemas/tlc/1.2/commands/M0010.json +85 -0
  37. data/schemas/tlc/1.2/commands/M0011.json +85 -0
  38. data/schemas/tlc/1.2/commands/M0012.json +79 -0
  39. data/schemas/tlc/1.2/commands/M0013.json +79 -0
  40. data/schemas/tlc/1.2/commands/M0014.json +106 -0
  41. data/schemas/tlc/1.2/commands/M0015.json +112 -0
  42. data/schemas/tlc/1.2/commands/M0016.json +79 -0
  43. data/schemas/tlc/1.2/commands/M0017.json +79 -0
  44. data/schemas/tlc/1.2/commands/M0018.json +112 -0
  45. data/schemas/tlc/1.2/commands/M0019.json +139 -0
  46. data/schemas/tlc/1.2/commands/M0020.json +139 -0
  47. data/schemas/tlc/1.2/commands/M0021.json +79 -0
  48. data/schemas/tlc/1.2/commands/M0022.json +355 -0
  49. data/schemas/tlc/1.2/commands/M0023.json +85 -0
  50. data/schemas/tlc/1.2/commands/M0103.json +103 -0
  51. data/schemas/tlc/1.2/commands/M0104.json +220 -0
  52. data/schemas/tlc/1.2/commands/command_requests.json +7 -0
  53. data/schemas/tlc/1.2/commands/command_responses.json +7 -0
  54. data/schemas/tlc/1.2/commands/commands.json +398 -0
  55. data/schemas/tlc/1.2/rsmp.json +73 -0
  56. data/schemas/tlc/1.2/statuses/S0001.json +137 -0
  57. data/schemas/tlc/1.2/statuses/S0002.json +55 -0
  58. data/schemas/tlc/1.2/statuses/S0003.json +55 -0
  59. data/schemas/tlc/1.2/statuses/S0004.json +55 -0
  60. data/schemas/tlc/1.2/statuses/S0005.json +112 -0
  61. data/schemas/tlc/1.2/statuses/S0006.json +88 -0
  62. data/schemas/tlc/1.2/statuses/S0007.json +116 -0
  63. data/schemas/tlc/1.2/statuses/S0008.json +116 -0
  64. data/schemas/tlc/1.2/statuses/S0009.json +116 -0
  65. data/schemas/tlc/1.2/statuses/S0010.json +116 -0
  66. data/schemas/tlc/1.2/statuses/S0011.json +116 -0
  67. data/schemas/tlc/1.2/statuses/S0012.json +116 -0
  68. data/schemas/tlc/1.2/statuses/S0013.json +88 -0
  69. data/schemas/tlc/1.2/statuses/S0014.json +90 -0
  70. data/schemas/tlc/1.2/statuses/S0015.json +90 -0
  71. data/schemas/tlc/1.2/statuses/S0016.json +61 -0
  72. data/schemas/tlc/1.2/statuses/S0017.json +61 -0
  73. data/schemas/tlc/1.2/statuses/S0018.json +61 -0
  74. data/schemas/tlc/1.2/statuses/S0019.json +61 -0
  75. data/schemas/tlc/1.2/statuses/S0020.json +88 -0
  76. data/schemas/tlc/1.2/statuses/S0021.json +56 -0
  77. data/schemas/tlc/1.2/statuses/S0022.json +55 -0
  78. data/schemas/tlc/1.2/statuses/S0023.json +56 -0
  79. data/schemas/tlc/1.2/statuses/S0024.json +56 -0
  80. data/schemas/tlc/1.2/statuses/S0025.json +250 -0
  81. data/schemas/tlc/1.2/statuses/S0026.json +55 -0
  82. data/schemas/tlc/1.2/statuses/S0027.json +55 -0
  83. data/schemas/tlc/1.2/statuses/S0028.json +55 -0
  84. data/schemas/tlc/1.2/statuses/S0029.json +55 -0
  85. data/schemas/tlc/1.2/statuses/S0030.json +55 -0
  86. data/schemas/tlc/1.2/statuses/S0031.json +55 -0
  87. data/schemas/tlc/1.2/statuses/S0032.json +116 -0
  88. data/schemas/tlc/1.2/statuses/S0033.json +114 -0
  89. data/schemas/tlc/1.2/statuses/S0034.json +61 -0
  90. data/schemas/tlc/1.2/statuses/S0035.json +74 -0
  91. data/schemas/tlc/1.2/statuses/S0091.json +65 -0
  92. data/schemas/tlc/1.2/statuses/S0092.json +65 -0
  93. data/schemas/tlc/1.2/statuses/S0095.json +55 -0
  94. data/schemas/tlc/1.2/statuses/S0096.json +196 -0
  95. data/schemas/tlc/1.2/statuses/S0097.json +82 -0
  96. data/schemas/tlc/1.2/statuses/S0098.json +103 -0
  97. data/schemas/tlc/1.2/statuses/S0201.json +88 -0
  98. data/schemas/tlc/1.2/statuses/S0202.json +88 -0
  99. data/schemas/tlc/1.2/statuses/S0203.json +88 -0
  100. data/schemas/tlc/1.2/statuses/S0204.json +304 -0
  101. data/schemas/tlc/1.2/statuses/S0205.json +88 -0
  102. data/schemas/tlc/1.2/statuses/S0206.json +88 -0
  103. data/schemas/tlc/1.2/statuses/S0207.json +88 -0
  104. data/schemas/tlc/1.2/statuses/S0208.json +304 -0
  105. data/schemas/tlc/1.2/statuses/statuses.json +786 -0
  106. data/schemas/tlc/1.2/sxl.yaml +2082 -0
  107. metadata +102 -2
@@ -0,0 +1,56 @@
1
+ {
2
+ "description" : "Offset time.\nOffset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.\nCan be used by the management system to check to fine tune the coordination for optimal traffic flow.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Offset table\nEach offset time is written as p-t where:\np=time plan number (from 1 to 255)\nt=offset time in seconds (from 0 to 255)\n\nEach offset time is separated with a comma\n\nE.g.\n1-0,2-13-3-7",
46
+ "type" : "string",
47
+ "pattern" : "^(\\d{1,3}\\-\\d{1,3})(?:,(\\d{1,3}\\-\\d{1,3}))*$"
48
+ }
49
+ }
50
+ }
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,250 @@
1
+ {
2
+ "description" : "Time-of-Green / Time-of-Red.\nProvides predicted signal timings of green and red for each signal group. Max, min and likely time to green and red.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "ToGConfidence",
9
+ "ToRConfidence",
10
+ "likelyToGEstimate",
11
+ "likelyToREstimate",
12
+ "maxToGEstimate",
13
+ "maxToREstimate",
14
+ "minToGEstimate",
15
+ "minToREstimate"
16
+ ]
17
+ }
18
+ }
19
+ },
20
+ {
21
+ "if" : {
22
+ "required" : [
23
+ "q"
24
+ ],
25
+ "properties" : {
26
+ "q" : {
27
+ "const" : "undefined"
28
+ }
29
+ }
30
+ },
31
+ "then" : {
32
+ "s" : {
33
+ "type" : "null"
34
+ }
35
+ },
36
+ "else" : {
37
+ "allOf" : [
38
+ {
39
+ "if" : {
40
+ "required" : [
41
+ "n"
42
+ ],
43
+ "properties" : {
44
+ "n" : {
45
+ "const" : "minToGEstimate"
46
+ }
47
+ }
48
+ },
49
+ "then" : {
50
+ "properties" : {
51
+ "s" : {
52
+ "allOf" : [
53
+ {
54
+ "description" : "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."
55
+ },
56
+ {
57
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
58
+ }
59
+ ]
60
+ }
61
+ }
62
+ }
63
+ },
64
+ {
65
+ "if" : {
66
+ "required" : [
67
+ "n"
68
+ ],
69
+ "properties" : {
70
+ "n" : {
71
+ "const" : "maxToGEstimate"
72
+ }
73
+ }
74
+ },
75
+ "then" : {
76
+ "properties" : {
77
+ "s" : {
78
+ "allOf" : [
79
+ {
80
+ "description" : "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."
81
+ },
82
+ {
83
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
84
+ }
85
+ ]
86
+ }
87
+ }
88
+ }
89
+ },
90
+ {
91
+ "if" : {
92
+ "required" : [
93
+ "n"
94
+ ],
95
+ "properties" : {
96
+ "n" : {
97
+ "const" : "likelyToGEstimate"
98
+ }
99
+ }
100
+ },
101
+ "then" : {
102
+ "properties" : {
103
+ "s" : {
104
+ "allOf" : [
105
+ {
106
+ "description" : "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."
107
+ },
108
+ {
109
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
110
+ }
111
+ ]
112
+ }
113
+ }
114
+ }
115
+ },
116
+ {
117
+ "if" : {
118
+ "required" : [
119
+ "n"
120
+ ],
121
+ "properties" : {
122
+ "n" : {
123
+ "const" : "ToGConfidence"
124
+ }
125
+ }
126
+ },
127
+ "then" : {
128
+ "properties" : {
129
+ "s" : {
130
+ "allOf" : [
131
+ {
132
+ "description" : "Confidence of the likelyToGEstimate. 0-100%"
133
+ },
134
+ {
135
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
136
+ }
137
+ ]
138
+ }
139
+ }
140
+ }
141
+ },
142
+ {
143
+ "if" : {
144
+ "required" : [
145
+ "n"
146
+ ],
147
+ "properties" : {
148
+ "n" : {
149
+ "const" : "minToREstimate"
150
+ }
151
+ }
152
+ },
153
+ "then" : {
154
+ "properties" : {
155
+ "s" : {
156
+ "allOf" : [
157
+ {
158
+ "description" : "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."
159
+ },
160
+ {
161
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
162
+ }
163
+ ]
164
+ }
165
+ }
166
+ }
167
+ },
168
+ {
169
+ "if" : {
170
+ "required" : [
171
+ "n"
172
+ ],
173
+ "properties" : {
174
+ "n" : {
175
+ "const" : "maxToREstimate"
176
+ }
177
+ }
178
+ },
179
+ "then" : {
180
+ "properties" : {
181
+ "s" : {
182
+ "allOf" : [
183
+ {
184
+ "description" : "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."
185
+ },
186
+ {
187
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
188
+ }
189
+ ]
190
+ }
191
+ }
192
+ }
193
+ },
194
+ {
195
+ "if" : {
196
+ "required" : [
197
+ "n"
198
+ ],
199
+ "properties" : {
200
+ "n" : {
201
+ "const" : "likelyToREstimate"
202
+ }
203
+ }
204
+ },
205
+ "then" : {
206
+ "properties" : {
207
+ "s" : {
208
+ "allOf" : [
209
+ {
210
+ "description" : "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."
211
+ },
212
+ {
213
+ "$ref" : "../../../core/3.1.2/definitions.json#/timestamp"
214
+ }
215
+ ]
216
+ }
217
+ }
218
+ }
219
+ },
220
+ {
221
+ "if" : {
222
+ "required" : [
223
+ "n"
224
+ ],
225
+ "properties" : {
226
+ "n" : {
227
+ "const" : "ToRConfidence"
228
+ }
229
+ }
230
+ },
231
+ "then" : {
232
+ "properties" : {
233
+ "s" : {
234
+ "allOf" : [
235
+ {
236
+ "description" : "Confidence of the likelyToREstimate. 0-100%"
237
+ },
238
+ {
239
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
240
+ }
241
+ ]
242
+ }
243
+ }
244
+ }
245
+ }
246
+ ]
247
+ }
248
+ }
249
+ ]
250
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Week time table.\nWeek time table for signal programs (time plan) to use for each day during a week.\nThe week time table determine which predefined signal timings (time plan) to use during the week for optimal traffic flow.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Week time table. Defines time table to use for each week day\nEach day is written as d-t where:\nd=day of week\nt=time table nr\n\nDay of week legend:\n0=Monday\n1=Tuesday\n2=Wednesday\n3=Thursday\n4=Friday\n5=Saturday\n6=Sunday\n\nEach segment is separated with a comma\nE.g.\nd-t,d-t",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Time tables.\nTime of day for when to switch signal program (time plan).\nThe signal timings (time plan) to use during time of day for optimal traffic flow.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Time Table. Defines time tables.\nEach time definition is written as t-o-h-m where:\nt=time table nr (1-12)\no=function\nh=hour - switching time\nm=minute - switching minute\n\nFunction legend:\n0=no plan is selected by time table\n1=set plan 1\n…\n16= set plan 16\n\nhour and minute is using local time (not UTC)\n\nEach time definition is separated with a comma\n\nE.g.\nt-o-h-m,t-o-h-m",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Cycle time.\nCycle 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.\nChanging the cycle time can be used as part of scenario based control.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Cycle time table\nEach cycle time is written as pp-tt where:\npp=time plan\ntt=cycle time in seconds\n\nEach cycle time is separated with a comma\n\nE.g.\npp-tt,pp-tt",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Forced input status.\nProvide 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.\nCan be used for bus priority, coordination between traffic controllers, external control systems, and much more.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Forced input status as text field",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Forced output status.\nProvide 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.\nCan be used for bus priority, coordination between traffic controllers, external control systems, and much more.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Forced output status as text field",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "description" : "Trigger level sensitivity for loop detector.\nThe 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.\nCan be used to make sure that the detectors detect traffic as intended.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "status"
9
+ ]
10
+ }
11
+ }
12
+ },
13
+ {
14
+ "if" : {
15
+ "required" : [
16
+ "q"
17
+ ],
18
+ "properties" : {
19
+ "q" : {
20
+ "const" : "undefined"
21
+ }
22
+ }
23
+ },
24
+ "then" : {
25
+ "s" : {
26
+ "type" : "null"
27
+ }
28
+ },
29
+ "else" : {
30
+ "allOf" : [
31
+ {
32
+ "if" : {
33
+ "required" : [
34
+ "n"
35
+ ],
36
+ "properties" : {
37
+ "n" : {
38
+ "const" : "status"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "s" : {
45
+ "description" : "Loop detector trigger level sensitivity is written as dd-ss where:\ndd=loop detector number\nss=sensitivity value\nEach loop detector is separated with a comma. E.g.dd-ss,dd-ss.",
46
+ "type" : "string"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ ]
55
+ }