rsmp_schema 0.5.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yaml +1 -1
  3. data/.tool-versions +1 -1
  4. data/Gemfile.lock +24 -22
  5. data/examples/validate.rb +1 -1
  6. data/lib/rsmp_schema/version.rb +1 -1
  7. data/rsmp_schema.gemspec +5 -5
  8. data/schemas/core/3.2.2/core.json +39 -0
  9. data/schemas/core/3.2.2/rsmp.json +133 -0
  10. data/schemas/tlc/1.2/statuses/S0006.json +3 -3
  11. data/schemas/tlc/1.2/sxl.yaml +4 -4
  12. data/schemas/tlc/1.2.1/alarms/A0001.json +3 -0
  13. data/schemas/tlc/1.2.1/alarms/A0002.json +3 -0
  14. data/schemas/tlc/1.2.1/alarms/A0003.json +3 -0
  15. data/schemas/tlc/1.2.1/alarms/A0004.json +3 -0
  16. data/schemas/tlc/1.2.1/alarms/A0005.json +3 -0
  17. data/schemas/tlc/1.2.1/alarms/A0006.json +3 -0
  18. data/schemas/tlc/1.2.1/alarms/A0007.json +59 -0
  19. data/schemas/tlc/1.2.1/alarms/A0008.json +61 -0
  20. data/schemas/tlc/1.2.1/alarms/A0009.json +3 -0
  21. data/schemas/tlc/1.2.1/alarms/A0010.json +3 -0
  22. data/schemas/tlc/1.2.1/alarms/A0101.json +3 -0
  23. data/schemas/tlc/1.2.1/alarms/A0201.json +60 -0
  24. data/schemas/tlc/1.2.1/alarms/A0202.json +60 -0
  25. data/schemas/tlc/1.2.1/alarms/A0301.json +132 -0
  26. data/schemas/tlc/1.2.1/alarms/A0302.json +158 -0
  27. data/schemas/tlc/1.2.1/alarms/A0303.json +132 -0
  28. data/schemas/tlc/1.2.1/alarms/A0304.json +158 -0
  29. data/schemas/tlc/1.2.1/alarms/alarms.json +286 -0
  30. data/schemas/tlc/1.2.1/commands/M0001.json +138 -0
  31. data/schemas/tlc/1.2.1/commands/M0002.json +112 -0
  32. data/schemas/tlc/1.2.1/commands/M0003.json +112 -0
  33. data/schemas/tlc/1.2.1/commands/M0004.json +85 -0
  34. data/schemas/tlc/1.2.1/commands/M0005.json +112 -0
  35. data/schemas/tlc/1.2.1/commands/M0006.json +112 -0
  36. data/schemas/tlc/1.2.1/commands/M0007.json +85 -0
  37. data/schemas/tlc/1.2.1/commands/M0008.json +112 -0
  38. data/schemas/tlc/1.2.1/commands/M0010.json +85 -0
  39. data/schemas/tlc/1.2.1/commands/M0011.json +85 -0
  40. data/schemas/tlc/1.2.1/commands/M0012.json +79 -0
  41. data/schemas/tlc/1.2.1/commands/M0013.json +79 -0
  42. data/schemas/tlc/1.2.1/commands/M0014.json +106 -0
  43. data/schemas/tlc/1.2.1/commands/M0015.json +112 -0
  44. data/schemas/tlc/1.2.1/commands/M0016.json +79 -0
  45. data/schemas/tlc/1.2.1/commands/M0017.json +79 -0
  46. data/schemas/tlc/1.2.1/commands/M0018.json +112 -0
  47. data/schemas/tlc/1.2.1/commands/M0019.json +139 -0
  48. data/schemas/tlc/1.2.1/commands/M0020.json +139 -0
  49. data/schemas/tlc/1.2.1/commands/M0021.json +79 -0
  50. data/schemas/tlc/1.2.1/commands/M0022.json +355 -0
  51. data/schemas/tlc/1.2.1/commands/M0023.json +85 -0
  52. data/schemas/tlc/1.2.1/commands/M0103.json +103 -0
  53. data/schemas/tlc/1.2.1/commands/M0104.json +220 -0
  54. data/schemas/tlc/1.2.1/commands/command_requests.json +7 -0
  55. data/schemas/tlc/1.2.1/commands/command_responses.json +7 -0
  56. data/schemas/tlc/1.2.1/commands/commands.json +398 -0
  57. data/schemas/tlc/1.2.1/rsmp.json +73 -0
  58. data/schemas/tlc/1.2.1/statuses/S0001.json +137 -0
  59. data/schemas/tlc/1.2.1/statuses/S0002.json +55 -0
  60. data/schemas/tlc/1.2.1/statuses/S0003.json +55 -0
  61. data/schemas/tlc/1.2.1/statuses/S0004.json +55 -0
  62. data/schemas/tlc/1.2.1/statuses/S0005.json +112 -0
  63. data/schemas/tlc/1.2.1/statuses/S0006.json +88 -0
  64. data/schemas/tlc/1.2.1/statuses/S0007.json +116 -0
  65. data/schemas/tlc/1.2.1/statuses/S0008.json +116 -0
  66. data/schemas/tlc/1.2.1/statuses/S0009.json +116 -0
  67. data/schemas/tlc/1.2.1/statuses/S0010.json +116 -0
  68. data/schemas/tlc/1.2.1/statuses/S0011.json +116 -0
  69. data/schemas/tlc/1.2.1/statuses/S0012.json +116 -0
  70. data/schemas/tlc/1.2.1/statuses/S0013.json +88 -0
  71. data/schemas/tlc/1.2.1/statuses/S0014.json +90 -0
  72. data/schemas/tlc/1.2.1/statuses/S0015.json +90 -0
  73. data/schemas/tlc/1.2.1/statuses/S0016.json +61 -0
  74. data/schemas/tlc/1.2.1/statuses/S0017.json +61 -0
  75. data/schemas/tlc/1.2.1/statuses/S0018.json +61 -0
  76. data/schemas/tlc/1.2.1/statuses/S0019.json +61 -0
  77. data/schemas/tlc/1.2.1/statuses/S0020.json +88 -0
  78. data/schemas/tlc/1.2.1/statuses/S0021.json +56 -0
  79. data/schemas/tlc/1.2.1/statuses/S0022.json +55 -0
  80. data/schemas/tlc/1.2.1/statuses/S0023.json +56 -0
  81. data/schemas/tlc/1.2.1/statuses/S0024.json +56 -0
  82. data/schemas/tlc/1.2.1/statuses/S0025.json +250 -0
  83. data/schemas/tlc/1.2.1/statuses/S0026.json +55 -0
  84. data/schemas/tlc/1.2.1/statuses/S0027.json +55 -0
  85. data/schemas/tlc/1.2.1/statuses/S0028.json +55 -0
  86. data/schemas/tlc/1.2.1/statuses/S0029.json +55 -0
  87. data/schemas/tlc/1.2.1/statuses/S0030.json +55 -0
  88. data/schemas/tlc/1.2.1/statuses/S0031.json +55 -0
  89. data/schemas/tlc/1.2.1/statuses/S0032.json +116 -0
  90. data/schemas/tlc/1.2.1/statuses/S0033.json +114 -0
  91. data/schemas/tlc/1.2.1/statuses/S0034.json +61 -0
  92. data/schemas/tlc/1.2.1/statuses/S0035.json +74 -0
  93. data/schemas/tlc/1.2.1/statuses/S0091.json +65 -0
  94. data/schemas/tlc/1.2.1/statuses/S0092.json +65 -0
  95. data/schemas/tlc/1.2.1/statuses/S0095.json +55 -0
  96. data/schemas/tlc/1.2.1/statuses/S0096.json +196 -0
  97. data/schemas/tlc/1.2.1/statuses/S0097.json +82 -0
  98. data/schemas/tlc/1.2.1/statuses/S0098.json +103 -0
  99. data/schemas/tlc/1.2.1/statuses/S0201.json +88 -0
  100. data/schemas/tlc/1.2.1/statuses/S0202.json +88 -0
  101. data/schemas/tlc/1.2.1/statuses/S0203.json +88 -0
  102. data/schemas/tlc/1.2.1/statuses/S0204.json +304 -0
  103. data/schemas/tlc/1.2.1/statuses/S0205.json +88 -0
  104. data/schemas/tlc/1.2.1/statuses/S0206.json +88 -0
  105. data/schemas/tlc/1.2.1/statuses/S0207.json +88 -0
  106. data/schemas/tlc/1.2.1/statuses/S0208.json +304 -0
  107. data/schemas/tlc/1.2.1/statuses/statuses.json +786 -0
  108. data/schemas/tlc/1.2.1/sxl.yaml +2109 -0
  109. metadata +112 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a691ae7bb6527605f2ccee89b3826ff2cba1d87d788c412c9f7841c3d377d4a
4
- data.tar.gz: ac7ec47c472f4a4423e207878eca887d8c895235e6bcb3215975553233df428e
3
+ metadata.gz: 80ee43a9c5a077e3cbd2bc73ec372dfda6afedc990734a4098d8c113e46c93c0
4
+ data.tar.gz: 15bdb8670621917247d5c7a4e9fdc76b5ad4af8926c5f5f84824d05f46c23d50
5
5
  SHA512:
6
- metadata.gz: c42a89bd38fe2e58c705db83d7638d5b6353a15524760ccc33d3af32634e5063509577da4da74c778e00a9451e43f15f1f915e987b0cb062a8f941a9d63402df
7
- data.tar.gz: 3bef2fd0a7300f1b105948017ec88cc922c270288ff000506f49cc3b120acebe837b90386046a3be6bd4d891c7db50fe2838f6af3d0a5662ad6cf5336871342b
6
+ metadata.gz: a2410215ae0fcc8aca6022ff59c9f43a4223b38f4142251ec737b68d2b13baae63763cb85f93ce137e353db3dfcd564c227f19c4a7ab5285e90a2b0e533fb1ff
7
+ data.tar.gz: 7ef596b859a54bd47e79b0ff8efca265ce37ca64221add1f0c72c2e37bbef01c66e55350fc96f8511f4f1d181e42840094d60d79949e43ebd52ad25138a6ad70
@@ -9,7 +9,7 @@ jobs:
9
9
  fail-fast: false
10
10
  matrix:
11
11
  os: [ubuntu-latest, macos-latest, windows-latest]
12
- ruby: ['3.0', '3.1', '3.2']
12
+ ruby: ['3.1', '3.2', '3.3']
13
13
  runs-on: ${{ matrix.os }}
14
14
  steps:
15
15
  - uses: actions/checkout@v2
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.2.2
1
+ ruby 3.3.2
data/Gemfile.lock CHANGED
@@ -1,37 +1,39 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp_schema (0.5.3)
5
- json_schemer (~> 2.1.0)
6
- thor (~> 1.3.0)
4
+ rsmp_schema (0.7.0)
5
+ json_schemer (~> 2.3.0)
6
+ thor (~> 1.3.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- diff-lcs (1.5.0)
11
+ bigdecimal (3.1.8)
12
+ diff-lcs (1.5.1)
12
13
  hana (1.3.7)
13
- json_schemer (2.1.0)
14
+ json_schemer (2.3.0)
15
+ bigdecimal
14
16
  hana (~> 1.3)
15
17
  regexp_parser (~> 2.0)
16
18
  simpleidn (~> 0.2)
17
- rake (13.1.0)
19
+ rake (13.2.1)
18
20
  regexp_parser (2.8.2)
19
- rspec (3.12.0)
20
- rspec-core (~> 3.12.0)
21
- rspec-expectations (~> 3.12.0)
22
- rspec-mocks (~> 3.12.0)
23
- rspec-core (3.12.2)
24
- rspec-support (~> 3.12.0)
25
- rspec-expectations (3.12.3)
21
+ rspec (3.13.0)
22
+ rspec-core (~> 3.13.0)
23
+ rspec-expectations (~> 3.13.0)
24
+ rspec-mocks (~> 3.13.0)
25
+ rspec-core (3.13.0)
26
+ rspec-support (~> 3.13.0)
27
+ rspec-expectations (3.13.0)
26
28
  diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.12.0)
28
- rspec-mocks (3.12.6)
29
+ rspec-support (~> 3.13.0)
30
+ rspec-mocks (3.13.1)
29
31
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (~> 3.12.0)
31
- rspec-support (3.12.1)
32
+ rspec-support (~> 3.13.0)
33
+ rspec-support (3.13.1)
32
34
  simpleidn (0.2.1)
33
35
  unf (~> 0.1.4)
34
- thor (1.3.0)
36
+ thor (1.3.1)
35
37
  unf (0.1.4)
36
38
  unf_ext
37
39
  unf_ext (0.0.9.1)
@@ -40,10 +42,10 @@ PLATFORMS
40
42
  ruby
41
43
 
42
44
  DEPENDENCIES
43
- rake (~> 13.1.0)
45
+ rake (~> 13.2.1)
44
46
  rsmp_schema!
45
- rspec (~> 3.12.0)
46
- rspec-expectations (~> 3.12.3)
47
+ rspec (~> 3.13.0)
48
+ rspec-expectations (~> 3.13.0)
47
49
 
48
50
  BUNDLED WITH
49
- 2.4.22
51
+ 2.5.11
data/examples/validate.rb CHANGED
@@ -19,7 +19,7 @@ message = {
19
19
  }
20
20
 
21
21
  # try validating a message against our schema
22
- schema = Pathname.new('schema/tlc/1.1/rsmp.json')
22
+ schema = Pathname.new('schema/tlc/1.2.1/rsmp.json')
23
23
  schemer = JSONSchemer.schema(schema)
24
24
  if schemer.valid? message
25
25
  puts 'ok'
@@ -1,5 +1,5 @@
1
1
  module RSMP
2
2
  module Schema
3
- VERSION = "0.5.3"
3
+ VERSION = "0.7.0"
4
4
  end
5
5
  end
data/rsmp_schema.gemspec CHANGED
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency "json_schemer", "~> 2.1.0"
34
- spec.add_dependency "thor", "~> 1.3.0"
33
+ spec.add_dependency "json_schemer", "~> 2.3.0"
34
+ spec.add_dependency "thor", "~> 1.3.1"
35
35
 
36
- spec.add_development_dependency "rake", "~> 13.1.0"
37
- spec.add_development_dependency "rspec", "~> 3.12.0"
38
- spec.add_development_dependency "rspec-expectations", "~> 3.12.3"
36
+ spec.add_development_dependency "rake", "~> 13.2.1"
37
+ spec.add_development_dependency "rspec", "~> 3.13.0"
38
+ spec.add_development_dependency "rspec-expectations", "~> 3.13.0"
39
39
  end
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-07/schema#",
3
+ "name" : "core",
4
+ "description" : "Core",
5
+ "version" : "3.2.2",
6
+ "type" : "object",
7
+ "allOf" : [
8
+ {
9
+ "properties" : {
10
+ "mType" : {
11
+ "description" : "Supported RSMP versions",
12
+ "type" : "string",
13
+ "const" : "rSMsg"
14
+ },
15
+ "type" : {
16
+ "description" : "Type of RMSP message",
17
+ "type" : "string",
18
+ "enum" : [
19
+ "MessageAck",
20
+ "MessageNotAck",
21
+ "Version",
22
+ "AggregatedStatus",
23
+ "AggregatedStatusRequest",
24
+ "Watchdog",
25
+ "Alarm",
26
+ "CommandRequest",
27
+ "CommandResponse",
28
+ "StatusRequest",
29
+ "StatusResponse",
30
+ "StatusSubscribe",
31
+ "StatusUnsubscribe",
32
+ "StatusUpdate"
33
+ ]
34
+ }
35
+ },
36
+ "required" : [ "mType", "type" ]
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,133 @@
1
+ {
2
+ "allOf": [
3
+ {
4
+ "$ref": "../3.2/core.json"
5
+ },
6
+ {
7
+ "if": {
8
+ "required" : ["type"],
9
+ "properties": { "type": { "const": "MessageAck" } }
10
+ },
11
+ "then": {
12
+ "$ref": "../3.1.2/message_ack.json"
13
+ }
14
+ },
15
+ {
16
+ "if": {
17
+ "required" : ["type"],
18
+ "properties": { "type": { "const": "MessageNotAck" } }
19
+ },
20
+ "then": {
21
+ "$ref": "../3.1.2/message_not_ack.json"
22
+ }
23
+ },
24
+ {
25
+ "if": {
26
+ "required" : ["type"],
27
+ "properties": { "type": { "const": "Version" } }
28
+ },
29
+ "then": {
30
+ "$ref": "../3.1.2/version.json"
31
+ }
32
+ },
33
+ {
34
+ "if": {
35
+ "required" : ["type"],
36
+ "properties": { "type": { "const": "AggregatedStatus" } }
37
+ },
38
+ "then": {
39
+ "$ref": "../3.1.2/aggregated_status.json"
40
+ }
41
+ },
42
+ {
43
+ "if": {
44
+ "required" : ["type"],
45
+ "properties": { "type": { "const": "AggregatedStatusRequest" } }
46
+ },
47
+ "then": {
48
+ "$ref": "../3.1.5/aggregated_status_request.json"
49
+ }
50
+ },
51
+ {
52
+ "if": {
53
+ "required" : ["type"],
54
+ "properties": { "type": { "const": "Watchdog" } }
55
+ },
56
+ "then": {
57
+ "$ref": "../3.1.2/watchdog.json"
58
+ }
59
+ },
60
+ {
61
+ "if": {
62
+ "required" : ["type"],
63
+ "properties": { "type": { "const": "Alarm" } }
64
+ },
65
+ "then": {
66
+ "$ref": "../3.2/alarm.json"
67
+ }
68
+ },
69
+ {
70
+ "if": {
71
+ "required" : ["type"],
72
+ "properties": { "type": { "const": "CommandRequest" } }
73
+ },
74
+ "then": {
75
+ "$ref": "../3.1.2/command_request.json"
76
+ }
77
+ },
78
+ {
79
+ "if": {
80
+ "required" : ["type"],
81
+ "properties": { "type": { "const": "CommandResponse" } }
82
+ },
83
+ "then": {
84
+ "$ref": "../3.1.2/command_response.json"
85
+ }
86
+ },
87
+ {
88
+ "if": {
89
+ "required" : ["type"],
90
+ "properties": { "type": { "const": "StatusRequest" } }
91
+ },
92
+ "then": {
93
+ "$ref": "../3.1.2/status_request.json"
94
+ }
95
+ },
96
+ {
97
+ "if": {
98
+ "required" : ["type"],
99
+ "properties": { "type": { "const": "StatusResponse" } }
100
+ },
101
+ "then": {
102
+ "$ref": "../3.2/status_response.json"
103
+ }
104
+ },
105
+ {
106
+ "if": {
107
+ "required" : ["type"],
108
+ "properties": { "type": { "const": "StatusSubscribe" } }
109
+ },
110
+ "then": {
111
+ "$ref": "../3.1.5/status_subscribe.json"
112
+ }
113
+ },
114
+ {
115
+ "if": {
116
+ "required" : ["type"],
117
+ "properties": { "type": { "const": "StatusUnsubscribe" } }
118
+ },
119
+ "then": {
120
+ "$ref": "../3.1.2/status_unsubscribe.json"
121
+ }
122
+ },
123
+ {
124
+ "if": {
125
+ "required" : ["type"],
126
+ "properties": { "type": { "const": "StatusUpdate" } }
127
+ },
128
+ "then": {
129
+ "$ref": "../3.2/status_update.json"
130
+ }
131
+ }
132
+ ]
133
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "description" : "Emergency stage.\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\nIf no emergency route is active, status should be set to False, and emergencystage to zero.\n\nDeprecated, use S0035 instead.",
2
+ "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\nIf no emergency route is active, status should be set to False, and emergencystage to zero.\n\nDeprecated, use S0035 instead.",
3
3
  "allOf" : [
4
4
  {
5
5
  "properties" : {
@@ -45,7 +45,7 @@
45
45
  "s" : {
46
46
  "allOf" : [
47
47
  {
48
- "description" : "False: Emergency stage inactive\nTrue: Emergency stage active"
48
+ "description" : "False: Emergency route inactive\nTrue: Emergency route active"
49
49
  },
50
50
  {
51
51
  "$ref" : "../../../core/3.1.2/definitions.json#/boolean"
@@ -71,7 +71,7 @@
71
71
  "s" : {
72
72
  "allOf" : [
73
73
  {
74
- "description" : "Number of emergency stage (set to zero if no route is active)"
74
+ "description" : "Number of emergency route (set to zero if no route is active)"
75
75
  },
76
76
  {
77
77
  "$ref" : "../../../core/3.1.2/definitions.json#/integer"
@@ -216,7 +216,7 @@ objects:
216
216
  description: Start up mode
217
217
  S0006:
218
218
  description: |-
219
- Emergency stage.
219
+ Emergency route.
220
220
  The status is active during emergency prioritization.
221
221
  Used in situations where full priority is given in the emergency vehicle program
222
222
  or for other types of priority in some cases.
@@ -229,12 +229,12 @@ objects:
229
229
  type: boolean
230
230
  deprecated: true
231
231
  description: |-
232
- False: Emergency stage inactive
233
- True: Emergency stage active
232
+ False: Emergency route inactive
233
+ True: Emergency route active
234
234
  emergencystage:
235
235
  type: integer
236
236
  deprecated: true
237
- description: Number of emergency stage (set to zero if no route is active)
237
+ description: Number of emergency route (set to zero if no route is active)
238
238
  min: 0
239
239
  max: 255
240
240
  S0007:
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Serious hardware error.\nIs a \"major fault\" defined according to 3.8 i EN12675 which causes the controller to switch to a \"failure mode\" according to 3.6 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Less serious hardware error.\nIs a \"minor fault\" defined according to 3.11 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Serious configuration error.\nIs a \"major fault\" defined according to 3.8 in EN12675 which causes the controller to switch to a \"failure mode\" according to 3.6 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Less serious configuration error.\nIs a \"minor fault\" defined according to 3.11 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Synchronisation error (coordination).\nIs a \"minor fault\" defined according to 3.11 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Safety error\nIs a \"major fault\" defined according to 3.8 in EN12675 which causes the controller to switch to a \"failure mode\" according to 3.6 in EN12675."
3
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "description" : "Communication error.\nUsed for communication errors with the central system. Includes NTP connection loss if the TLC is configured to use NTP.\nIs a \"minor fault\" defined according to 3.11 in EN12675.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "protocol"
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" : "protocol"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "v" : {
45
+ "description" : "Type of communication error, e.g. NTP or RSMP",
46
+ "type" : "string",
47
+ "enum" : [
48
+ "ntp",
49
+ "rsmp"
50
+ ]
51
+ }
52
+ }
53
+ }
54
+ }
55
+ ]
56
+ }
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "description" : "Dead lock error.\nUsed for dead lock errors.\nFor instance; a signal group has requested green but is unable to switch due to a conflicting signal group for an extended period of time. At some point the request times out and the controller goes failure mode. The cause for this error is due to configuration errors or external sources.\nIs a \"major fault\" defined according to 3.8 in EN12675 which causes the controller to switch to a \"failure mode\" according to 3.6 in EN12675.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "timeplan"
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" : "timeplan"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "v" : {
45
+ "allOf" : [
46
+ {
47
+ "description" : "Current time plan"
48
+ },
49
+ {
50
+ "$ref" : "../../../core/3.1.2/definitions.json#/integer"
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ }
56
+ }
57
+ ]
58
+ }
59
+ }
60
+ ]
61
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Other error.\nUsed for other errors not covered by any other alarm type.\nIs a \"minor fault\" defined according to 3.11 in EN12675."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Door open.\nUsed for open door (room or cabinet)."
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "description" : "Pushbutton error.\nUsed for push buttons."
3
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "description" : "Serious lamp error.\nUsed for lamp errors.\nIs a \"major fault\" defined according to 3.8 in EN12675 which causes the controller to switch to a \"failure mode\" according to 3.6 in EN12675.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "color"
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" : "color"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "v" : {
45
+ "description" : "Color of lamp",
46
+ "type" : "string",
47
+ "enum" : [
48
+ "green",
49
+ "red",
50
+ "yellow"
51
+ ]
52
+ }
53
+ }
54
+ }
55
+ }
56
+ ]
57
+ }
58
+ }
59
+ ]
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "description" : "Less serious lamp error.\nUsed for lamp errors.\nIs a \"minor fault\" defined according to 3.11 in EN12675.",
3
+ "allOf" : [
4
+ {
5
+ "properties" : {
6
+ "n" : {
7
+ "enum" : [
8
+ "color"
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" : "color"
39
+ }
40
+ }
41
+ },
42
+ "then" : {
43
+ "properties" : {
44
+ "v" : {
45
+ "description" : "Color of lamp",
46
+ "type" : "string",
47
+ "enum" : [
48
+ "green",
49
+ "red",
50
+ "yellow"
51
+ ]
52
+ }
53
+ }
54
+ }
55
+ }
56
+ ]
57
+ }
58
+ }
59
+ ]
60
+ }