rsmp 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/rsmp/version.rb +1 -1
  4. data/lib/rsmp_schema/schema/core/aggregated_status.json +25 -0
  5. data/lib/rsmp_schema/schema/core/alarm.json +55 -0
  6. data/lib/rsmp_schema/schema/core/command_request.json +24 -0
  7. data/lib/rsmp_schema/schema/core/command_response.json +34 -0
  8. data/lib/rsmp_schema/schema/core/core.json +35 -0
  9. data/lib/rsmp_schema/schema/core/definitions.json +47 -0
  10. data/lib/rsmp_schema/schema/core/message_ack.json +11 -0
  11. data/lib/rsmp_schema/schema/core/message_not_ack.json +15 -0
  12. data/lib/rsmp_schema/schema/core/rsmp.json +124 -0
  13. data/lib/rsmp_schema/schema/core/status.json +21 -0
  14. data/lib/rsmp_schema/schema/core/status_request.json +5 -0
  15. data/lib/rsmp_schema/schema/core/status_response.json +30 -0
  16. data/lib/rsmp_schema/schema/core/status_subscribe.json +27 -0
  17. data/lib/rsmp_schema/schema/core/status_unsubscribe.json +5 -0
  18. data/lib/rsmp_schema/schema/core/status_update.json +30 -0
  19. data/lib/rsmp_schema/schema/core/version.json +47 -0
  20. data/lib/rsmp_schema/schema/core/watchdog.json +9 -0
  21. data/lib/rsmp_schema/schema/tlc/alarms/A0001.json +7 -0
  22. data/lib/rsmp_schema/schema/tlc/alarms/A0002.json +7 -0
  23. data/lib/rsmp_schema/schema/tlc/alarms/A0003.json +7 -0
  24. data/lib/rsmp_schema/schema/tlc/alarms/A0004.json +7 -0
  25. data/lib/rsmp_schema/schema/tlc/alarms/A0005.json +7 -0
  26. data/lib/rsmp_schema/schema/tlc/alarms/A0006.json +7 -0
  27. data/lib/rsmp_schema/schema/tlc/alarms/A0007.json +7 -0
  28. data/lib/rsmp_schema/schema/tlc/alarms/A0008.json +19 -0
  29. data/lib/rsmp_schema/schema/tlc/alarms/A0009.json +7 -0
  30. data/lib/rsmp_schema/schema/tlc/alarms/A0101.json +7 -0
  31. data/lib/rsmp_schema/schema/tlc/alarms/A0201.json +20 -0
  32. data/lib/rsmp_schema/schema/tlc/alarms/A0202.json +20 -0
  33. data/lib/rsmp_schema/schema/tlc/alarms/A0301.json +48 -0
  34. data/lib/rsmp_schema/schema/tlc/alarms/A0302.json +58 -0
  35. data/lib/rsmp_schema/schema/tlc/alarms/alarms.json +68 -0
  36. data/lib/rsmp_schema/schema/tlc/commands/M0001.json +48 -0
  37. data/lib/rsmp_schema/schema/tlc/commands/M0002.json +38 -0
  38. data/lib/rsmp_schema/schema/tlc/commands/M0003.json +38 -0
  39. data/lib/rsmp_schema/schema/tlc/commands/M0004.json +29 -0
  40. data/lib/rsmp_schema/schema/tlc/commands/M0005.json +38 -0
  41. data/lib/rsmp_schema/schema/tlc/commands/M0006.json +38 -0
  42. data/lib/rsmp_schema/schema/tlc/commands/M0007.json +29 -0
  43. data/lib/rsmp_schema/schema/tlc/commands/M0008.json +38 -0
  44. data/lib/rsmp_schema/schema/tlc/commands/M0010.json +29 -0
  45. data/lib/rsmp_schema/schema/tlc/commands/M0011.json +29 -0
  46. data/lib/rsmp_schema/schema/tlc/commands/M0012.json +29 -0
  47. data/lib/rsmp_schema/schema/tlc/commands/M0013.json +29 -0
  48. data/lib/rsmp_schema/schema/tlc/commands/M0014.json +38 -0
  49. data/lib/rsmp_schema/schema/tlc/commands/M0015.json +38 -0
  50. data/lib/rsmp_schema/schema/tlc/commands/M0016.json +29 -0
  51. data/lib/rsmp_schema/schema/tlc/commands/M0017.json +29 -0
  52. data/lib/rsmp_schema/schema/tlc/commands/M0018.json +38 -0
  53. data/lib/rsmp_schema/schema/tlc/commands/M0019.json +47 -0
  54. data/lib/rsmp_schema/schema/tlc/commands/M0103.json +39 -0
  55. data/lib/rsmp_schema/schema/tlc/commands/command_requests.json +7 -0
  56. data/lib/rsmp_schema/schema/tlc/commands/command_responses.json +7 -0
  57. data/lib/rsmp_schema/schema/tlc/commands/commands.json +85 -0
  58. data/lib/rsmp_schema/schema/tlc/statuses/S0001.json +44 -0
  59. data/lib/rsmp_schema/schema/tlc/statuses/S0002.json +17 -0
  60. data/lib/rsmp_schema/schema/tlc/statuses/S0003.json +26 -0
  61. data/lib/rsmp_schema/schema/tlc/statuses/S0004.json +26 -0
  62. data/lib/rsmp_schema/schema/tlc/statuses/S0005.json +17 -0
  63. data/lib/rsmp_schema/schema/tlc/statuses/S0006.json +26 -0
  64. data/lib/rsmp_schema/schema/tlc/statuses/S0007.json +26 -0
  65. data/lib/rsmp_schema/schema/tlc/statuses/S0008.json +26 -0
  66. data/lib/rsmp_schema/schema/tlc/statuses/S0009.json +26 -0
  67. data/lib/rsmp_schema/schema/tlc/statuses/S0010.json +26 -0
  68. data/lib/rsmp_schema/schema/tlc/statuses/S0011.json +26 -0
  69. data/lib/rsmp_schema/schema/tlc/statuses/S0012.json +26 -0
  70. data/lib/rsmp_schema/schema/tlc/statuses/S0013.json +26 -0
  71. data/lib/rsmp_schema/schema/tlc/statuses/S0014.json +17 -0
  72. data/lib/rsmp_schema/schema/tlc/statuses/S0015.json +17 -0
  73. data/lib/rsmp_schema/schema/tlc/statuses/S0016.json +17 -0
  74. data/lib/rsmp_schema/schema/tlc/statuses/S0017.json +17 -0
  75. data/lib/rsmp_schema/schema/tlc/statuses/S0018.json +17 -0
  76. data/lib/rsmp_schema/schema/tlc/statuses/S0019.json +17 -0
  77. data/lib/rsmp_schema/schema/tlc/statuses/S0020.json +27 -0
  78. data/lib/rsmp_schema/schema/tlc/statuses/S0021.json +17 -0
  79. data/lib/rsmp_schema/schema/tlc/statuses/S0022.json +17 -0
  80. data/lib/rsmp_schema/schema/tlc/statuses/S0023.json +17 -0
  81. data/lib/rsmp_schema/schema/tlc/statuses/S0024.json +17 -0
  82. data/lib/rsmp_schema/schema/tlc/statuses/S0025.json +80 -0
  83. data/lib/rsmp_schema/schema/tlc/statuses/S0026.json +17 -0
  84. data/lib/rsmp_schema/schema/tlc/statuses/S0027.json +17 -0
  85. data/lib/rsmp_schema/schema/tlc/statuses/S0028.json +17 -0
  86. data/lib/rsmp_schema/schema/tlc/statuses/S0029.json +17 -0
  87. data/lib/rsmp_schema/schema/tlc/statuses/S0091.json +28 -0
  88. data/lib/rsmp_schema/schema/tlc/statuses/S0092.json +28 -0
  89. data/lib/rsmp_schema/schema/tlc/statuses/S0095.json +17 -0
  90. data/lib/rsmp_schema/schema/tlc/statuses/S0096.json +62 -0
  91. data/lib/rsmp_schema/schema/tlc/statuses/S0201.json +26 -0
  92. data/lib/rsmp_schema/schema/tlc/statuses/S0202.json +26 -0
  93. data/lib/rsmp_schema/schema/tlc/statuses/S0203.json +26 -0
  94. data/lib/rsmp_schema/schema/tlc/statuses/S0204.json +98 -0
  95. data/lib/rsmp_schema/schema/tlc/statuses/S0205.json +26 -0
  96. data/lib/rsmp_schema/schema/tlc/statuses/S0206.json +26 -0
  97. data/lib/rsmp_schema/schema/tlc/statuses/S0207.json +26 -0
  98. data/lib/rsmp_schema/schema/tlc/statuses/S0208.json +98 -0
  99. data/lib/rsmp_schema/schema/tlc/statuses/statuses.json +177 -0
  100. data/lib/rsmp_schema/schema/tlc/sxl.json +24 -0
  101. data/rsmp.gemspec +13 -0
  102. metadata +98 -1
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Isolated control",
5
+ "n" : { "enum" : ["intersection", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic controller)<br>Other value: Intersection number",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "False: Isolated control disabled<br>True: Isolated control enabled (Vehicle actuated control or Fixed time control)",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Yellow flash",
5
+ "n" : { "enum" : ["intersection", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic controller)<br>Other value: Intersection number",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "False: Yellow flash disabled<br>True: Yellow flash enabled",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "All red",
5
+ "n" : { "enum" : ["intersection", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic controller)<br>Other value: Intersection number",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "False: All red disabled<br>True: All red enabled",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Police key",
5
+ "n" : { "enum" : ["intersection", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic controller)<br>Other value: Intersection number",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "0: disabled<br>1: dark mode<br>2: yellow flash",
21
+ "$ref": "../../core/definitions.json#/integer"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Current time plan",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Current time plan",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Current traffic situation",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Current traffic situation",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Number of detector logics",
5
+ "n" : { "enum" : ["number"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "number" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Number of detector logics",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Number of signal groups",
5
+ "n" : { "enum" : ["number"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "number" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Number of signal groups",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Number of time plans",
5
+ "n" : { "enum" : ["number"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "number" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Number of time plans",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Number of traffic situations",
5
+ "n" : { "enum" : ["number"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "number" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Number of traffic situations",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Control mode",
5
+ "n" : { "enum" : ["intersection", "controlmode"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "0: Not applicable (only one intersection exists or applicable for all intersection of the traffic controller)<br>Other value: Intersection number",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "controlmode" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Startup mode<br>Normal control<br>Standby mode<br>Failure mode<br>Test mode",
21
+ "type" : "string",
22
+ "enum" : ["startup", "control", "standby", "failure", "test"]
23
+ }
24
+ }}
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Manually set detector logic",
5
+ "n" : { "enum" : ["detectorlogics"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "detectorlogics" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Manually set detector logics (1/0) as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "List of time plans",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Comma separated list of configured time plans. E.g. "1,2,3,5"",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Command table",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Command table. Defines command, <br>Each command are written as pp-dd-ee where:<br>pp=Time plan<br>dd=Dynamic band number (from 1-10)<br>ee=Extension in seconds in this band<br><br>Each command is separated with a comma.<br><br>E.g. <br>pp-dd-ee,pp-dd-ee",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Offset time",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Offset table<br>Each offset time is written as pp-tt where:<br>pp=time plan<br>tt=offset time in seconds<br><br>Each offset time is separated with a comma<br><br><br>E.g.<br>pp-tt,pp-tt",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Time-of-Green / Time-of-Red",
5
+ "n" : { "enum" : ["minToGEstimate ", "maxToGEstimate ", "likelyToGEstimate ", "ToGConfidence", "minToREstimate ", "maxToREstimate", "likelyToREstimate ", "ToRConfidence"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "minToGEstimate " }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "maxToGEstimate " }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
21
+ "type" : "string"
22
+ }
23
+ }}
24
+ },
25
+ {
26
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "likelyToGEstimate " }}},
27
+ "then" : { "properties" : {
28
+ "v" : {
29
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
30
+ "type" : "string"
31
+ }
32
+ }}
33
+ },
34
+ {
35
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "ToGConfidence" }}},
36
+ "then" : { "properties" : {
37
+ "v" : {
38
+ "$description": "Confidence of the likelyToGEstimate. 0-100%",
39
+ "$ref": "../../core/definitions.json#/integer"
40
+ }
41
+ }}
42
+ },
43
+ {
44
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "minToREstimate " }}},
45
+ "then" : { "properties" : {
46
+ "v" : {
47
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
48
+ "type" : "string"
49
+ }
50
+ }}
51
+ },
52
+ {
53
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "maxToREstimate" }}},
54
+ "then" : { "properties" : {
55
+ "v" : {
56
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
57
+ "type" : "string"
58
+ }
59
+ }}
60
+ },
61
+ {
62
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "likelyToREstimate " }}},
63
+ "then" : { "properties" : {
64
+ "v" : {
65
+ "$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.<br>Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
66
+ "type" : "string"
67
+ }
68
+ }}
69
+ },
70
+ {
71
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "ToRConfidence" }}},
72
+ "then" : { "properties" : {
73
+ "v" : {
74
+ "$description": "Confidence of the likelyToREstimate. 0-100%",
75
+ "$ref": "../../core/definitions.json#/integer"
76
+ }
77
+ }}
78
+ }
79
+ ]
80
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Week time table",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Week time table. Defines time table to use for each week day<br>Each day is written as d-t where:<br>d=day of week<br>t=time table nr<br><br>Day of week legend:<br>0=Monday<br>1=Tuesday<br>2=Wednesday<br>3=Thursday<br>4=Friday<br>5=Saturday<br>6=Sunday<br><br>Each segment is separated with a comma<br>E.g.<br>d-t,d-t",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Time tables",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Time Table. Defines time tables.<br>Each time definition is written as t-o-h-m where:<br>t=time table nr (1-12)<br>o=function<br>h=hour - switching time<br>m=minute - switching minute<br><br>Function legend:<br>0=no plan is selected by time table<br>1=set plan 1<br>…<br>16= set plan 16<br><br>hour and minute is using local time (not UTC)<br><br>Each time definition is separated with a comma <br><br>E.g.<br>t-o-h-m,t-o-h-m<br>",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Cycle time",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Cycle time table<br>Each cycle time is written as pp-tt where:<br>pp=time plan<br>tt=cycle time in seconds<br><br>Each cycle time is separated with a comma<br><br><br>E.g.<br>pp-tt,pp-tt",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Forced input status",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Forced input status as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Operator logged in/out OP-panel",
5
+ "n" : { "enum" : ["user", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "user" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "username: User currently logged in<br>nobody: No one logged in",
12
+ "type" : "string",
13
+ "enum" : ["[username]", "[nobody]"]
14
+ }
15
+ }}
16
+ },
17
+ {
18
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
19
+ "then" : { "properties" : {
20
+ "v" : {
21
+ "$description": "login: Somebody currently logged in<br>logout: Nobody currently logged in",
22
+ "type" : "string",
23
+ "enum" : ["login", "logout"]
24
+ }
25
+ }}
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Operator logged in/out web-interface",
5
+ "n" : { "enum" : ["user", "status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "user" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "username: User currently logged in<br>nobody: No one logged in",
12
+ "type" : "string",
13
+ "enum" : ["[username]", "[nobody]"]
14
+ }
15
+ }}
16
+ },
17
+ {
18
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
19
+ "then" : { "properties" : {
20
+ "v" : {
21
+ "$description": "login: Somebody currently logged in<br>logout: Nobody currently logged in",
22
+ "type" : "string",
23
+ "enum" : ["login", "logout"]
24
+ }
25
+ }}
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Version av Traffic Controller",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Manufacturer, product name and version of traffic controller",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Current date and time",
5
+ "n" : { "enum" : ["year", "month", "day", "hour", "minute", "second"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "year" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Year according to format YYYY. NOTE: UTC is used",
12
+ "$ref": "../../core/definitions.json#/integer"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "month" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Month (01-12) according to format MM. Note: UTC is used",
21
+ "$ref": "../../core/definitions.json#/integer"
22
+ }
23
+ }}
24
+ },
25
+ {
26
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "day" }}},
27
+ "then" : { "properties" : {
28
+ "v" : {
29
+ "$description": "Day of month (01-31) according to format DD. Note: UTC is used",
30
+ "$ref": "../../core/definitions.json#/integer"
31
+ }
32
+ }}
33
+ },
34
+ {
35
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "hour" }}},
36
+ "then" : { "properties" : {
37
+ "v" : {
38
+ "$description": "Hour of day (00-23) according to format DD. Note: UTC is used",
39
+ "$ref": "../../core/definitions.json#/integer"
40
+ }
41
+ }}
42
+ },
43
+ {
44
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "minute" }}},
45
+ "then" : { "properties" : {
46
+ "v" : {
47
+ "$description": "Minute (00-59) according to format MM. Note: UTC is used",
48
+ "$ref": "../../core/definitions.json#/integer"
49
+ }
50
+ }}
51
+ },
52
+ {
53
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "second" }}},
54
+ "then" : { "properties" : {
55
+ "v" : {
56
+ "$description": "Second (00-59) according to format SS. Note: UTC is used",
57
+ "$ref": "../../core/definitions.json#/integer"
58
+ }
59
+ }}
60
+ }
61
+ ]
62
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Traffic Counting: Number of vehicles",
5
+ "n" : { "enum" : ["starttime", "vehicles"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "starttime" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "vehicles" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Number of vehicles on a given detector logic (since last update)",
21
+ "$ref": "../../core/definitions.json#/integer"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }