rsmp 0.43.2 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +11 -11
- data/README.md +19 -3
- data/Rakefile +2 -2
- data/config/supervisor.yaml +2 -1
- data/config/tlc.yaml +2 -2
- data/lib/rsmp/cli.rb +29 -5
- data/lib/rsmp/component/component.rb +0 -4
- data/lib/rsmp/component/component_base.rb +15 -2
- data/lib/rsmp/component/component_proxy.rb +1 -1
- data/lib/rsmp/component/components.rb +22 -1
- data/lib/rsmp/convert/export/json_schema/outputs.rb +1 -0
- data/lib/rsmp/convert/export/json_schema/values.rb +6 -4
- data/lib/rsmp/convert/export/json_schema.rb +7 -3
- data/lib/rsmp/helpers/deep_merge.rb +2 -2
- data/lib/rsmp/message.rb +32 -0
- data/lib/rsmp/node/site/site.rb +34 -10
- data/lib/rsmp/node/supervisor/modules/configuration.rb +32 -5
- data/lib/rsmp/node/supervisor/modules/connection.rb +0 -2
- data/lib/rsmp/node/supervisor/supervisor.rb +0 -7
- data/lib/rsmp/options/options.rb +55 -6
- data/lib/rsmp/options/schemas/site.json +6 -3
- data/lib/rsmp/options/schemas/supervisor.json +5 -2
- data/lib/rsmp/options/schemas/supervisor_site.json +5 -2
- data/lib/rsmp/options/site_options.rb +3 -2
- data/lib/rsmp/options/supervisor_options.rb +3 -1
- data/lib/rsmp/proxy/modules/acknowledgements.rb +2 -0
- data/lib/rsmp/proxy/modules/receive.rb +5 -2
- data/lib/rsmp/proxy/modules/state.rb +1 -0
- data/lib/rsmp/proxy/modules/versions.rb +90 -15
- data/lib/rsmp/proxy/proxy.rb +52 -3
- data/lib/rsmp/proxy/site/modules/status.rb +5 -3
- data/lib/rsmp/proxy/site/site_proxy.rb +68 -35
- data/lib/rsmp/proxy/site/sxl_selection.rb +54 -0
- data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +54 -18
- data/lib/rsmp/schema/message_resolution.rb +104 -0
- data/lib/rsmp/schema.rb +104 -22
- data/lib/rsmp/schema_error.rb +7 -1
- data/lib/rsmp/sxl/interface.rb +48 -0
- data/lib/rsmp/sxl/registry.rb +55 -0
- data/lib/rsmp/sxl/site_interface.rb +10 -0
- data/lib/rsmp/sxl/supervisor_interface.rb +21 -0
- data/lib/rsmp/tlc/detector_logic.rb +2 -2
- data/lib/rsmp/tlc/signal_group.rb +2 -2
- data/lib/rsmp/tlc/site_interface.rb +10 -0
- data/lib/rsmp/tlc/{traffic_controller_proxy.rb → supervisor_interface.rb} +19 -34
- data/lib/rsmp/tlc/traffic_controller.rb +10 -2
- data/lib/rsmp/tlc/traffic_controller_site.rb +4 -2
- data/lib/rsmp/tlc.rb +10 -0
- data/lib/rsmp/version.rb +1 -1
- data/lib/rsmp.rb +8 -1
- data/rsmp.gemspec +5 -5
- data/schemas/core/3.3.0/aggregated_status.json +25 -0
- data/schemas/core/3.3.0/aggregated_status_request.json +9 -0
- data/schemas/core/3.3.0/alarm.json +71 -0
- data/schemas/core/3.3.0/alarm_acknowledge.json +11 -0
- data/schemas/core/3.3.0/alarm_issue.json +44 -0
- data/schemas/core/3.3.0/alarm_request.json +3 -0
- data/schemas/core/3.3.0/alarm_suspend_resume.json +3 -0
- data/schemas/core/3.3.0/alarm_suspended_resumed.json +44 -0
- data/schemas/core/3.3.0/command_request.json +24 -0
- data/schemas/core/3.3.0/command_response.json +35 -0
- data/schemas/core/3.3.0/component_list.json +24 -0
- data/schemas/core/3.3.0/core.json +40 -0
- data/schemas/core/3.3.0/definitions.json +133 -0
- data/schemas/core/3.3.0/message_ack.json +11 -0
- data/schemas/core/3.3.0/message_not_ack.json +15 -0
- data/schemas/core/3.3.0/rsmp.json +142 -0
- data/schemas/core/3.3.0/status.json +21 -0
- data/schemas/core/3.3.0/status_request.json +5 -0
- data/schemas/core/3.3.0/status_response.json +41 -0
- data/schemas/core/3.3.0/status_subscribe.json +31 -0
- data/schemas/core/3.3.0/status_unsubscribe.json +5 -0
- data/schemas/core/3.3.0/status_update.json +41 -0
- data/schemas/core/3.3.0/version.json +144 -0
- data/schemas/core/3.3.0/watchdog.json +9 -0
- data/schemas/tlc/1.3.0/alarms/A0001.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0002.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0003.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0004.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0005.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0006.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0007.json +34 -0
- data/schemas/tlc/1.3.0/alarms/A0008.json +30 -0
- data/schemas/tlc/1.3.0/alarms/A0009.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0010.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0101.json +4 -0
- data/schemas/tlc/1.3.0/alarms/A0201.json +35 -0
- data/schemas/tlc/1.3.0/alarms/A0202.json +35 -0
- data/schemas/tlc/1.3.0/alarms/A0301.json +92 -0
- data/schemas/tlc/1.3.0/alarms/A0302.json +115 -0
- data/schemas/tlc/1.3.0/alarms/A0303.json +92 -0
- data/schemas/tlc/1.3.0/alarms/A0304.json +115 -0
- data/schemas/tlc/1.3.0/alarms/alarms.json +287 -0
- data/schemas/tlc/1.3.0/commands/M0001.json +92 -0
- data/schemas/tlc/1.3.0/commands/M0002.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0003.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0004.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0005.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0006.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0007.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0008.json +87 -0
- data/schemas/tlc/1.3.0/commands/M0010.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0011.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0012.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0013.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0014.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0015.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0016.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0017.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0018.json +69 -0
- data/schemas/tlc/1.3.0/commands/M0019.json +87 -0
- data/schemas/tlc/1.3.0/commands/M0020.json +87 -0
- data/schemas/tlc/1.3.0/commands/M0021.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0022.json +249 -0
- data/schemas/tlc/1.3.0/commands/M0023.json +51 -0
- data/schemas/tlc/1.3.0/commands/M0024.json +33 -0
- data/schemas/tlc/1.3.0/commands/M0103.json +72 -0
- data/schemas/tlc/1.3.0/commands/M0104.json +141 -0
- data/schemas/tlc/1.3.0/commands/command_requests.json +8 -0
- data/schemas/tlc/1.3.0/commands/command_responses.json +8 -0
- data/schemas/tlc/1.3.0/commands/commands.json +415 -0
- data/schemas/tlc/1.3.0/defs/definitions.json +72 -0
- data/schemas/tlc/1.3.0/defs/guards.json +24 -0
- data/schemas/tlc/1.3.0/rsmp.json +74 -0
- data/schemas/tlc/1.3.0/statuses/S0001.json +109 -0
- data/schemas/tlc/1.3.0/statuses/S0002.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0003.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0004.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0005.json +72 -0
- data/schemas/tlc/1.3.0/statuses/S0006.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0007.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0008.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0009.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0010.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0011.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0012.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0013.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0014.json +55 -0
- data/schemas/tlc/1.3.0/statuses/S0015.json +55 -0
- data/schemas/tlc/1.3.0/statuses/S0016.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0017.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0018.json +61 -0
- data/schemas/tlc/1.3.0/statuses/S0019.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0020.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0021.json +37 -0
- data/schemas/tlc/1.3.0/statuses/S0022.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0023.json +37 -0
- data/schemas/tlc/1.3.0/statuses/S0024.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0025.json +162 -0
- data/schemas/tlc/1.3.0/statuses/S0026.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0027.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0028.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0029.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0030.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0031.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0032.json +73 -0
- data/schemas/tlc/1.3.0/statuses/S0033.json +77 -0
- data/schemas/tlc/1.3.0/statuses/S0034.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0035.json +49 -0
- data/schemas/tlc/1.3.0/statuses/S0091.json +40 -0
- data/schemas/tlc/1.3.0/statuses/S0092.json +40 -0
- data/schemas/tlc/1.3.0/statuses/S0095.json +36 -0
- data/schemas/tlc/1.3.0/statuses/S0096.json +126 -0
- data/schemas/tlc/1.3.0/statuses/S0097.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0098.json +72 -0
- data/schemas/tlc/1.3.0/statuses/S0201.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0202.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0203.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0204.json +198 -0
- data/schemas/tlc/1.3.0/statuses/S0205.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0206.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0207.json +54 -0
- data/schemas/tlc/1.3.0/statuses/S0208.json +198 -0
- data/schemas/tlc/1.3.0/statuses/statuses.json +787 -0
- data/schemas/tlc/1.3.0/sxl.yaml +2296 -0
- metadata +144 -12
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Emergency route.\nThe status is active during emergency prioritization.\nUsed in situations where full priority is given in the emergency vehicle program\nor for other types of priority in some cases.\n\nThis status is similar to S0006, but supports multiple routes",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"emergencyroutes"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"if" : {
|
|
12
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
13
|
+
},
|
|
14
|
+
"then" : {},
|
|
15
|
+
"else" : {
|
|
16
|
+
"allOf" : [
|
|
17
|
+
{
|
|
18
|
+
"if" : {
|
|
19
|
+
"properties" : {
|
|
20
|
+
"n" : {
|
|
21
|
+
"const" : "emergencyroutes"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"then" : {
|
|
26
|
+
"properties" : {
|
|
27
|
+
"s" : {
|
|
28
|
+
"description" : "Active emergency routes",
|
|
29
|
+
"type" : "array",
|
|
30
|
+
"items" : {
|
|
31
|
+
"type" : "object",
|
|
32
|
+
"required" : [
|
|
33
|
+
"id"
|
|
34
|
+
],
|
|
35
|
+
"unevaluatedProperties" : false,
|
|
36
|
+
"properties" : {
|
|
37
|
+
"id" : {
|
|
38
|
+
"description" : "ID of active emergency route",
|
|
39
|
+
"type" : "string"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Operator logged in/out OP-panel.\nProvides information if maintenance personnel is currently working on site.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"user"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"if" : {
|
|
12
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
13
|
+
},
|
|
14
|
+
"then" : {},
|
|
15
|
+
"else" : {
|
|
16
|
+
"allOf" : [
|
|
17
|
+
{
|
|
18
|
+
"if" : {
|
|
19
|
+
"properties" : {
|
|
20
|
+
"n" : {
|
|
21
|
+
"const" : "user"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"then" : {
|
|
26
|
+
"properties" : {
|
|
27
|
+
"s" : {
|
|
28
|
+
"type" : "string",
|
|
29
|
+
"enum" : [
|
|
30
|
+
"0",
|
|
31
|
+
"1",
|
|
32
|
+
"2"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Operator logged in/out web-interface.\nProvides information if maintenance personnel is currently working with the controller.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"user"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"if" : {
|
|
12
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
13
|
+
},
|
|
14
|
+
"then" : {},
|
|
15
|
+
"else" : {
|
|
16
|
+
"allOf" : [
|
|
17
|
+
{
|
|
18
|
+
"if" : {
|
|
19
|
+
"properties" : {
|
|
20
|
+
"n" : {
|
|
21
|
+
"const" : "user"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"then" : {
|
|
26
|
+
"properties" : {
|
|
27
|
+
"s" : {
|
|
28
|
+
"type" : "string",
|
|
29
|
+
"enum" : [
|
|
30
|
+
"0",
|
|
31
|
+
"1",
|
|
32
|
+
"2"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Version of Traffic Light Controller.\nProvides diagnostic version information.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"status"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"if" : {
|
|
12
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
13
|
+
},
|
|
14
|
+
"then" : {},
|
|
15
|
+
"else" : {
|
|
16
|
+
"allOf" : [
|
|
17
|
+
{
|
|
18
|
+
"if" : {
|
|
19
|
+
"properties" : {
|
|
20
|
+
"n" : {
|
|
21
|
+
"const" : "status"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"then" : {
|
|
26
|
+
"properties" : {
|
|
27
|
+
"s" : {
|
|
28
|
+
"description" : "Manufacturer, product name and version of traffic light controller",
|
|
29
|
+
"type" : "string"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Current date and time.\nNote: UTC is used.\nProvides diagnostic information about the current date and time set in the controller.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"day",
|
|
8
|
+
"hour",
|
|
9
|
+
"minute",
|
|
10
|
+
"month",
|
|
11
|
+
"second",
|
|
12
|
+
"year"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"if" : {
|
|
17
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
18
|
+
},
|
|
19
|
+
"then" : {},
|
|
20
|
+
"else" : {
|
|
21
|
+
"allOf" : [
|
|
22
|
+
{
|
|
23
|
+
"if" : {
|
|
24
|
+
"properties" : {
|
|
25
|
+
"n" : {
|
|
26
|
+
"const" : "year"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"then" : {
|
|
31
|
+
"properties" : {
|
|
32
|
+
"s" : {
|
|
33
|
+
"description" : "Year",
|
|
34
|
+
"type" : "string"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"if" : {
|
|
41
|
+
"properties" : {
|
|
42
|
+
"n" : {
|
|
43
|
+
"const" : "month"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"then" : {
|
|
48
|
+
"properties" : {
|
|
49
|
+
"s" : {
|
|
50
|
+
"description" : "Month",
|
|
51
|
+
"type" : "string"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"if" : {
|
|
58
|
+
"properties" : {
|
|
59
|
+
"n" : {
|
|
60
|
+
"const" : "day"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"then" : {
|
|
65
|
+
"properties" : {
|
|
66
|
+
"s" : {
|
|
67
|
+
"description" : "Day of month",
|
|
68
|
+
"type" : "string"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"if" : {
|
|
75
|
+
"properties" : {
|
|
76
|
+
"n" : {
|
|
77
|
+
"const" : "hour"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"then" : {
|
|
82
|
+
"properties" : {
|
|
83
|
+
"s" : {
|
|
84
|
+
"description" : "Hour",
|
|
85
|
+
"type" : "string"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"if" : {
|
|
92
|
+
"properties" : {
|
|
93
|
+
"n" : {
|
|
94
|
+
"const" : "minute"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"then" : {
|
|
99
|
+
"properties" : {
|
|
100
|
+
"s" : {
|
|
101
|
+
"description" : "Minute",
|
|
102
|
+
"type" : "string"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"if" : {
|
|
109
|
+
"properties" : {
|
|
110
|
+
"n" : {
|
|
111
|
+
"const" : "second"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"then" : {
|
|
116
|
+
"properties" : {
|
|
117
|
+
"s" : {
|
|
118
|
+
"description" : "Second",
|
|
119
|
+
"type" : "string"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"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.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"checksum",
|
|
8
|
+
"timestamp"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"if" : {
|
|
13
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
14
|
+
},
|
|
15
|
+
"then" : {},
|
|
16
|
+
"else" : {
|
|
17
|
+
"allOf" : [
|
|
18
|
+
{
|
|
19
|
+
"if" : {
|
|
20
|
+
"properties" : {
|
|
21
|
+
"n" : {
|
|
22
|
+
"const" : "checksum"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"then" : {
|
|
27
|
+
"properties" : {
|
|
28
|
+
"s" : {
|
|
29
|
+
"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.",
|
|
30
|
+
"type" : "string"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"if" : {
|
|
37
|
+
"properties" : {
|
|
38
|
+
"n" : {
|
|
39
|
+
"const" : "timestamp"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"then" : {
|
|
44
|
+
"properties" : {
|
|
45
|
+
"s" : {
|
|
46
|
+
"description" : "Time stamp of the checksum",
|
|
47
|
+
"$ref" : "../defs/definitions.json#/timestamp"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"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.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"config",
|
|
8
|
+
"timestamp",
|
|
9
|
+
"version"
|
|
10
|
+
]
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"if" : {
|
|
14
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
15
|
+
},
|
|
16
|
+
"then" : {},
|
|
17
|
+
"else" : {
|
|
18
|
+
"allOf" : [
|
|
19
|
+
{
|
|
20
|
+
"if" : {
|
|
21
|
+
"properties" : {
|
|
22
|
+
"n" : {
|
|
23
|
+
"const" : "config"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"then" : {
|
|
28
|
+
"properties" : {
|
|
29
|
+
"s" : {
|
|
30
|
+
"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",
|
|
31
|
+
"type" : "string"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"if" : {
|
|
38
|
+
"properties" : {
|
|
39
|
+
"n" : {
|
|
40
|
+
"const" : "timestamp"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"then" : {
|
|
45
|
+
"properties" : {
|
|
46
|
+
"s" : {
|
|
47
|
+
"description" : "Time stamp of the config",
|
|
48
|
+
"$ref" : "../defs/definitions.json#/timestamp"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"if" : {
|
|
55
|
+
"properties" : {
|
|
56
|
+
"n" : {
|
|
57
|
+
"const" : "version"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"then" : {
|
|
62
|
+
"properties" : {
|
|
63
|
+
"s" : {
|
|
64
|
+
"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.",
|
|
65
|
+
"$ref" : "../defs/definitions.json#/string_list"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Traffic Counting: Number of vehicles.\nUsed for Traffic counting.\nPlease see Section 4: \"Traffic counting\" for additional requirements.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"starttime",
|
|
8
|
+
"vehicles"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"if" : {
|
|
13
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
14
|
+
},
|
|
15
|
+
"then" : {},
|
|
16
|
+
"else" : {
|
|
17
|
+
"allOf" : [
|
|
18
|
+
{
|
|
19
|
+
"if" : {
|
|
20
|
+
"properties" : {
|
|
21
|
+
"n" : {
|
|
22
|
+
"const" : "starttime"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"then" : {
|
|
27
|
+
"properties" : {
|
|
28
|
+
"s" : {
|
|
29
|
+
"description" : "Time stamp for start of measuring",
|
|
30
|
+
"$ref" : "../defs/definitions.json#/timestamp"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"if" : {
|
|
37
|
+
"properties" : {
|
|
38
|
+
"n" : {
|
|
39
|
+
"const" : "vehicles"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"then" : {
|
|
44
|
+
"properties" : {
|
|
45
|
+
"s" : {
|
|
46
|
+
"description" : "Number of vehicles on a given detector logic (since last update)",
|
|
47
|
+
"type" : "string"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Traffic Counting: Vehicle speed.\nUsed for Traffic counting.\nPlease see Section 4: \"Traffic counting\" for additional requirements.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"speed",
|
|
8
|
+
"starttime"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"if" : {
|
|
13
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
14
|
+
},
|
|
15
|
+
"then" : {},
|
|
16
|
+
"else" : {
|
|
17
|
+
"allOf" : [
|
|
18
|
+
{
|
|
19
|
+
"if" : {
|
|
20
|
+
"properties" : {
|
|
21
|
+
"n" : {
|
|
22
|
+
"const" : "starttime"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"then" : {
|
|
27
|
+
"properties" : {
|
|
28
|
+
"s" : {
|
|
29
|
+
"description" : "Time stamp for start of measuring",
|
|
30
|
+
"$ref" : "../defs/definitions.json#/timestamp"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"if" : {
|
|
37
|
+
"properties" : {
|
|
38
|
+
"n" : {
|
|
39
|
+
"const" : "speed"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"then" : {
|
|
44
|
+
"properties" : {
|
|
45
|
+
"s" : {
|
|
46
|
+
"description" : "Average speed in km/h",
|
|
47
|
+
"type" : "string"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema" : "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description" : "Traffic Counting: Occupancy.\nUsed for Traffic counting.\nPlease see Section 4: \"Traffic counting\" for additional requirements.",
|
|
4
|
+
"properties" : {
|
|
5
|
+
"n" : {
|
|
6
|
+
"enum" : [
|
|
7
|
+
"occupancy",
|
|
8
|
+
"starttime"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"if" : {
|
|
13
|
+
"$ref" : "../defs/guards.json#/$defs/q_unknown_or_undefined"
|
|
14
|
+
},
|
|
15
|
+
"then" : {},
|
|
16
|
+
"else" : {
|
|
17
|
+
"allOf" : [
|
|
18
|
+
{
|
|
19
|
+
"if" : {
|
|
20
|
+
"properties" : {
|
|
21
|
+
"n" : {
|
|
22
|
+
"const" : "starttime"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"then" : {
|
|
27
|
+
"properties" : {
|
|
28
|
+
"s" : {
|
|
29
|
+
"description" : "Time stamp for start of measuring",
|
|
30
|
+
"$ref" : "../defs/definitions.json#/timestamp"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"if" : {
|
|
37
|
+
"properties" : {
|
|
38
|
+
"n" : {
|
|
39
|
+
"const" : "occupancy"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"then" : {
|
|
44
|
+
"properties" : {
|
|
45
|
+
"s" : {
|
|
46
|
+
"description" : "Occupancy in percent (0-100%)",
|
|
47
|
+
"type" : "string"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|