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,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Activate a series of inputs<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setInput" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, ":" is used in example below.<br><br>Format: [Offset],[Bits to set],[Bits to unset]:…<br> <br>Offset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768. <br> <br>Example 1:<br>"5, 4134, 65" sets input 6,7,10,17 = on and 5,11 = off<br>(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)<br> <br>Example 2:<br>"22, 1, 4" sets input 22 = on and 24 = off<br>(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)<br> <br>And both thease examples could be sent in the same message as:<br>"5,4143:65:22,1,4"<br><br>Such a message would activate input 6,7,10,17,22 and deactive input 5,11,24",
15
+ "type" : "string"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set command table",
6
+ "n" : { "enum" : ["plan", "status", "securityCode"] },
7
+ "cO" : { "const" : "setCommands" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "plan" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Plan to be changed",
15
+ "$ref": "../../core/definitions.json#/integer"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Command table. Defines command, <br>Each command are written as dd-ee where:<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>dd-ee,dd-ee",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Security code 2",
33
+ "type" : "string"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set Offset time",
6
+ "n" : { "enum" : ["status", "plan", "securityCode"] },
7
+ "cO" : { "const" : "setOffset" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Set offset time in seconds",
15
+ "$ref": "../../core/definitions.json#/integer"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "plan" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Time plan nr",
24
+ "$ref": "../../core/definitions.json#/integer"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Security code 2",
33
+ "type" : "string"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set week time table",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setWeekTable" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Week time table. Defines time table to use for each week day<br>Each segment 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><br>E.g.<br>d-t,d-t",
15
+ "type" : "string"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set time tables",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setTimeTable" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$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>",
15
+ "type" : "string"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set Cycle time",
6
+ "n" : { "enum" : ["status", "plan", "securityCode"] },
7
+ "cO" : { "const" : "setCycleTime" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Set cycle time in seconds",
15
+ "$ref": "../../core/definitions.json#/integer"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "plan" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Time plan nr",
24
+ "$ref": "../../core/definitions.json#/integer"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Security code 2",
33
+ "type" : "string"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Force input<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "input", "inputValue"] },
7
+ "cO" : { "const" : "setInput" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Force input<br>True: Release input",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "input" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Number of Input",
33
+ "$ref": "../../core/definitions.json#/integer"
34
+ }
35
+ }}
36
+ },
37
+ {
38
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "inputValue" }}},
39
+ "then" : { "properties" : {
40
+ "v" : {
41
+ "$description": "False: input forced to False<br>True: input forced to True",
42
+ "type" : "boolean"
43
+ }
44
+ }}
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Set security code",
6
+ "n" : { "enum" : ["status", "oldSecurityCode", "newSecurityCode"] },
7
+ "cO" : { "const" : "setSecurityCode" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Level1: Change security code 1<br>Level2: Change security code 2",
15
+ "type" : "string",
16
+ "enum" : ["Level1", "Level2"]
17
+ }
18
+ }}
19
+ },
20
+ {
21
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "oldSecurityCode" }}},
22
+ "then" : { "properties" : {
23
+ "v" : {
24
+ "$description": "Previous security code",
25
+ "type" : "string"
26
+ }
27
+ }}
28
+ },
29
+ {
30
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "newSecurityCode" }}},
31
+ "then" : { "properties" : {
32
+ "v" : {
33
+ "$description": "New security code",
34
+ "type" : "string"
35
+ }
36
+ }}
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "properties" : {
3
+ "arg" : {
4
+ "$ref": "commands.json"
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "properties" : {
3
+ "rvs" : {
4
+ "$ref": "commands.json"
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "items" : {
3
+ "allOf" : [
4
+ {
5
+ "properties" : { "cCI" : { "enum": ["M0001", "M0002", "M0003", "M0004", "M0005", "M0006", "M0007", "M0008", "M0010", "M0011", "M0012", "M0013", "M0014", "M0015", "M0016", "M0017", "M0018", "M0019", "M0103"] }}
6
+ },
7
+ {
8
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0001" }}},
9
+ "then" : { "$ref" : "M0001.json" }
10
+ },
11
+ {
12
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0002" }}},
13
+ "then" : { "$ref" : "M0002.json" }
14
+ },
15
+ {
16
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0003" }}},
17
+ "then" : { "$ref" : "M0003.json" }
18
+ },
19
+ {
20
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0004" }}},
21
+ "then" : { "$ref" : "M0004.json" }
22
+ },
23
+ {
24
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0005" }}},
25
+ "then" : { "$ref" : "M0005.json" }
26
+ },
27
+ {
28
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0006" }}},
29
+ "then" : { "$ref" : "M0006.json" }
30
+ },
31
+ {
32
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0007" }}},
33
+ "then" : { "$ref" : "M0007.json" }
34
+ },
35
+ {
36
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0008" }}},
37
+ "then" : { "$ref" : "M0008.json" }
38
+ },
39
+ {
40
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0010" }}},
41
+ "then" : { "$ref" : "M0010.json" }
42
+ },
43
+ {
44
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0011" }}},
45
+ "then" : { "$ref" : "M0011.json" }
46
+ },
47
+ {
48
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0012" }}},
49
+ "then" : { "$ref" : "M0012.json" }
50
+ },
51
+ {
52
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0013" }}},
53
+ "then" : { "$ref" : "M0013.json" }
54
+ },
55
+ {
56
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0014" }}},
57
+ "then" : { "$ref" : "M0014.json" }
58
+ },
59
+ {
60
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0015" }}},
61
+ "then" : { "$ref" : "M0015.json" }
62
+ },
63
+ {
64
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0016" }}},
65
+ "then" : { "$ref" : "M0016.json" }
66
+ },
67
+ {
68
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0017" }}},
69
+ "then" : { "$ref" : "M0017.json" }
70
+ },
71
+ {
72
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0018" }}},
73
+ "then" : { "$ref" : "M0018.json" }
74
+ },
75
+ {
76
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0019" }}},
77
+ "then" : { "$ref" : "M0019.json" }
78
+ },
79
+ {
80
+ "if": { "required" : ["cCI"], "properties" : { "cCI": { "const": "M0103" }}},
81
+ "then" : { "$ref" : "M0103.json" }
82
+ }
83
+ ]
84
+ }
85
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Signal group status",
5
+ "n" : { "enum" : ["signalgroupstatus", "cyclecounter", "basecyclecounter", "stage"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "signalgroupstatus" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Signal group status as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "cyclecounter" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Cycle counter",
21
+ "$ref": "../../core/definitions.json#/integer"
22
+ }
23
+ }}
24
+ },
25
+ {
26
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "basecyclecounter" }}},
27
+ "then" : { "properties" : {
28
+ "v" : {
29
+ "$description": "Base cycle counter",
30
+ "$ref": "../../core/definitions.json#/integer"
31
+ }
32
+ }}
33
+ },
34
+ {
35
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "stage" }}},
36
+ "then" : { "properties" : {
37
+ "v" : {
38
+ "$description": "Current stage (isolated)",
39
+ "$ref": "../../core/definitions.json#/integer"
40
+ }
41
+ }}
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Detector logic status",
5
+ "n" : { "enum" : ["detectorlogicstatus"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "detectorlogicstatus" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Detector logic status as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Input status",
5
+ "n" : { "enum" : ["inputstatus", "extendedinputstatus"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "inputstatus" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Input status as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "extendedinputstatus" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Extended input status as text field",
21
+ "type" : "string"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Output status",
5
+ "n" : { "enum" : ["outputstatus", "extendedoutputstatus"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "outputstatus" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "Output status as text field",
12
+ "type" : "string"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "extendedoutputstatus" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Extended output status as text field",
21
+ "type" : "string"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Traffic Controller starting",
5
+ "n" : { "enum" : ["status"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "False: Controller is not in start up mode<br>True: Controller is currently in start up mode",
12
+ "type" : "boolean"
13
+ }
14
+ }}
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Emergency stage",
5
+ "n" : { "enum" : ["status", "emergencystage"] }
6
+ }},
7
+ {
8
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
9
+ "then" : { "properties" : {
10
+ "v" : {
11
+ "$description": "False: Emergency stage inactive<br>True: Emergency stage active",
12
+ "type" : "boolean"
13
+ }
14
+ }}
15
+ },
16
+ {
17
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "emergencystage" }}},
18
+ "then" : { "properties" : {
19
+ "v" : {
20
+ "$description": "Number of emergency stage",
21
+ "$ref": "../../core/definitions.json#/integer"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Controller switched on",
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: Traffic Controller in dark mode<br>True: Traffic Controller not in dark mode",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Manual 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: Manual control inactive<br>True: Manual control active",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "allOf" : [
3
+ { "properties" : {
4
+ "description": "Fixed time 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: Fixed time control inactive<br>True: Fixed time control active",
21
+ "type" : "boolean"
22
+ }
23
+ }}
24
+ }
25
+ ]
26
+ }