rsmp 0.52.0 → 0.53.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/CHANGELOG.md +3 -0
- data/Gemfile.lock +1 -1
- data/documentation/configuration.md +53 -2
- data/lib/rsmp/component/component_base.rb +10 -1
- data/lib/rsmp/component/component_proxy.rb +1 -1
- data/lib/rsmp/component/components.rb +24 -2
- data/lib/rsmp/node/site/site.rb +21 -7
- data/lib/rsmp/node/site/status.rb +39 -0
- data/lib/rsmp/node/supervisor/modules/connection.rb +20 -4
- data/lib/rsmp/node/supervisor/modules/sites.rb +2 -0
- data/lib/rsmp/options/schemas/required_settings.json +20 -12
- data/lib/rsmp/options/schemas/supervisor_site.json +1 -1
- data/lib/rsmp/options/site_options.rb +1 -0
- data/lib/rsmp/proxy/modules/acknowledgements.rb +2 -0
- data/lib/rsmp/proxy/modules/receive.rb +32 -2
- data/lib/rsmp/proxy/modules/send.rb +23 -3
- data/lib/rsmp/proxy/modules/version_validation.rb +76 -0
- data/lib/rsmp/proxy/modules/versions.rb +21 -22
- data/lib/rsmp/proxy/proxy.rb +21 -3
- data/lib/rsmp/proxy/site/modules/aggregated_status.rb +22 -2
- data/lib/rsmp/proxy/site/modules/commands.rb +1 -1
- data/lib/rsmp/proxy/site/site_proxy.rb +22 -13
- data/lib/rsmp/proxy/site/sxl_selection.rb +13 -22
- data/lib/rsmp/proxy/supervisor/modules/aggregated_status.rb +56 -1
- data/lib/rsmp/proxy/supervisor/modules/alarms.rb +11 -4
- data/lib/rsmp/proxy/supervisor/modules/commands.rb +4 -3
- data/lib/rsmp/proxy/supervisor/modules/message_buffer.rb +6 -1
- data/lib/rsmp/proxy/supervisor/modules/status.rb +46 -1
- data/lib/rsmp/proxy/supervisor/modules/status_updates.rb +17 -1
- data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +12 -16
- data/lib/rsmp/schema/validation.rb +2 -1
- data/lib/rsmp/version.rb +1 -1
- data/schemas/core/3.1.2/definitions.json +5 -0
- data/schemas/core/3.1.2/status_subscribe.json +1 -1
- data/schemas/core/3.1.3/definitions.json +5 -0
- data/schemas/core/3.1.3/status_subscribe.json +1 -1
- data/schemas/core/3.1.4/definitions.json +5 -0
- data/schemas/core/3.1.4/status_subscribe.json +1 -1
- data/schemas/core/3.1.5/definitions.json +5 -0
- data/schemas/core/3.1.5/status_subscribe.json +1 -1
- data/schemas/core/3.2.0/definitions.json +5 -0
- data/schemas/core/3.2.0/status_subscribe.json +1 -1
- data/schemas/core/3.2.1/definitions.json +5 -0
- data/schemas/core/3.2.1/status_subscribe.json +1 -1
- data/schemas/core/3.2.2/definitions.json +5 -0
- data/schemas/core/3.2.2/status_subscribe.json +1 -1
- data/schemas/core/3.3.0/aggregated_status.json +17 -11
- data/schemas/core/3.3.0/aggregated_status_request.json +4 -4
- data/schemas/core/3.3.0/component_list.json +1 -1
- data/schemas/core/3.3.0/definitions.json +23 -2
- data/schemas/core/3.3.0/status_subscribe.json +14 -4
- data/schemas/core/3.3.0/version.json +46 -26
- data/schemas/tlc/1.0.10/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.13/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.14/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.15/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.7/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.8/defs/definitions.json +5 -0
- data/schemas/tlc/1.0.9/defs/definitions.json +5 -0
- data/schemas/tlc/1.1.0/defs/definitions.json +5 -0
- data/schemas/tlc/1.2.0/defs/definitions.json +5 -0
- data/schemas/tlc/1.2.1/defs/definitions.json +5 -0
- data/schemas/tlc/1.3.0/defs/definitions.json +7 -0
- metadata +3 -1
|
@@ -127,11 +127,14 @@ module RSMP
|
|
|
127
127
|
level: :info
|
|
128
128
|
self.state = :ready
|
|
129
129
|
start_watchdog
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
@initial_alarm_events = [] if core_3_3_0_or_newer?
|
|
131
|
+
if core_3_3_0_or_newer? || @site_settings['send_after_connect']
|
|
132
|
+
send_all_aggregated_status unless core_3_3_0_or_newer?
|
|
133
|
+
send_active_alarms if use_alarms?
|
|
133
134
|
end
|
|
134
135
|
flush_message_buffer
|
|
136
|
+
@initial_alarm_events = nil
|
|
137
|
+
synchronize_site_state if core_3_3_0_or_newer?
|
|
135
138
|
super
|
|
136
139
|
end
|
|
137
140
|
|
|
@@ -175,7 +178,7 @@ module RSMP
|
|
|
175
178
|
def acknowledged_first_ingoing(message)
|
|
176
179
|
case message.type
|
|
177
180
|
when 'Watchdog'
|
|
178
|
-
if
|
|
181
|
+
if core_3_3_0_or_newer?
|
|
179
182
|
send_component_list
|
|
180
183
|
else
|
|
181
184
|
handshake_complete
|
|
@@ -205,16 +208,17 @@ module RSMP
|
|
|
205
208
|
return extraneous_version message if @version_determined
|
|
206
209
|
|
|
207
210
|
check_core_version message
|
|
211
|
+
validate_version! message, step: 'Response'
|
|
208
212
|
check_sxl_version message
|
|
209
213
|
@site_id = Supervisor.build_id_from_ip_port @ip, @port
|
|
210
214
|
version_accepted message
|
|
211
215
|
end
|
|
212
216
|
|
|
213
217
|
def check_sxl_version(message)
|
|
214
|
-
if
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
@
|
|
218
|
+
if core_3_3_0_or_newer?
|
|
219
|
+
validate_sxl_response! message.sxls
|
|
220
|
+
@accepted_sxls, @rejected_sxls = message.sxls.partition { |item| item['status'] == 'ok' }
|
|
221
|
+
@use_alarms = message.attributes.fetch('useAlarms', true)
|
|
218
222
|
else
|
|
219
223
|
primary = primary_configured_sxl
|
|
220
224
|
raise HandshakeError, 'Legacy Version response received, but no SXL is configured' unless primary
|
|
@@ -225,14 +229,6 @@ module RSMP
|
|
|
225
229
|
build_sxl_interfaces
|
|
226
230
|
end
|
|
227
231
|
|
|
228
|
-
def send_component_list
|
|
229
|
-
send_generated_message ComponentList.new('components' => @site.component_list)
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
def component_list_acknowledged
|
|
233
|
-
handshake_complete
|
|
234
|
-
end
|
|
235
|
-
|
|
236
232
|
def main
|
|
237
233
|
@site.main
|
|
238
234
|
end
|
|
@@ -24,7 +24,8 @@ module RSMP
|
|
|
24
24
|
|
|
25
25
|
def self.validate_sxls(message, schemas, options)
|
|
26
26
|
sxl_schemas = schemas.reject { |type, _version| type.to_sym == :core }
|
|
27
|
-
return [] if
|
|
27
|
+
return [] if core_message_type?(message)
|
|
28
|
+
return [] if sxl_schemas.empty? && schema_core_version(schemas) != '3.3.0'
|
|
28
29
|
|
|
29
30
|
resolved = resolve_sxl(message, schemas: schemas, **options)
|
|
30
31
|
return validate_resolved_sxl(message, resolved, schemas, options) if resolved
|
data/lib/rsmp/version.rb
CHANGED
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
},
|
|
20
20
|
"sOc" : {
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
},
|
|
20
20
|
"sOc" : {
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
},
|
|
20
20
|
"sOc" : {
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"$ref": "definitions.json#/
|
|
17
|
+
"$ref": "definitions.json#/number_as_string",
|
|
18
18
|
"description" : "Update interval in seconds, 0 means send when value changes"
|
|
19
19
|
},
|
|
20
20
|
"sOc" : {
|
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title" : "Aggregated Status",
|
|
3
|
-
"description" : "Aggregated status
|
|
3
|
+
"description" : "Aggregated status of the site",
|
|
4
4
|
"properties" : {
|
|
5
5
|
"mId" : { "$ref": "definitions.json#/message_id" },
|
|
6
6
|
"aSTS" : { "$ref": "definitions.json#/timestamp" },
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
"fS" : {
|
|
12
|
-
"description" : "Functional position",
|
|
13
|
-
"type" : ["string", "null"]
|
|
14
|
-
},
|
|
7
|
+
"cId" : false,
|
|
8
|
+
"fP" : false,
|
|
9
|
+
"fS" : false,
|
|
15
10
|
"se" : {
|
|
11
|
+
"description" : "State bits 1 through 8. Bits 2, 6 and 8 must be cleared in messages sent by sites.",
|
|
16
12
|
"type" : "array",
|
|
17
13
|
"minItems": 8,
|
|
18
14
|
"maxItems": 8,
|
|
15
|
+
"prefixItems" : [
|
|
16
|
+
{ "type" : "boolean" },
|
|
17
|
+
{ "const" : false },
|
|
18
|
+
{ "type" : "boolean" },
|
|
19
|
+
{ "type" : "boolean" },
|
|
20
|
+
{ "type" : "boolean" },
|
|
21
|
+
{ "const" : false },
|
|
22
|
+
{ "type" : "boolean" },
|
|
23
|
+
{ "const" : false }
|
|
24
|
+
],
|
|
19
25
|
"items" : {
|
|
20
26
|
"type" : "boolean"
|
|
21
27
|
}
|
|
22
28
|
}
|
|
23
29
|
},
|
|
24
|
-
"required" : [ "mId", "aSTS", "
|
|
25
|
-
}
|
|
30
|
+
"required" : [ "mId", "aSTS", "se" ]
|
|
31
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title" : "Aggregated Status Request",
|
|
3
|
-
"description" : "
|
|
3
|
+
"description" : "Request for the aggregated status of the site",
|
|
4
4
|
"properties" : {
|
|
5
5
|
"mId" : { "$ref": "definitions.json#/message_id" },
|
|
6
|
-
"cId" :
|
|
6
|
+
"cId" : false
|
|
7
7
|
},
|
|
8
|
-
"required" : [ "mId"
|
|
9
|
-
}
|
|
8
|
+
"required" : [ "mId" ]
|
|
9
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"type" : { "$ref": "definitions.json#/component_type" },
|
|
15
15
|
"name" : { "$ref": "definitions.json#/component_name" }
|
|
16
16
|
},
|
|
17
|
-
"required" : [ "id", "type"
|
|
17
|
+
"required" : [ "id", "type" ],
|
|
18
18
|
"additionalProperties" : false
|
|
19
19
|
},
|
|
20
20
|
"uniqueItems" : true
|
|
@@ -31,6 +31,13 @@
|
|
|
31
31
|
{ "pattern": "^\\-?[0-9]+$" }
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
|
+
"number_as_string": {
|
|
35
|
+
"description" : "Integer or decimal number as string",
|
|
36
|
+
"allOf" : [
|
|
37
|
+
{ "$ref" : "#/rsmp_string" },
|
|
38
|
+
{ "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$" }
|
|
39
|
+
]
|
|
40
|
+
},
|
|
34
41
|
"version": {
|
|
35
42
|
"description" : "Version",
|
|
36
43
|
"$comment" : "Example: 1.2.3 or 1.2",
|
|
@@ -61,9 +68,23 @@
|
|
|
61
68
|
]
|
|
62
69
|
},
|
|
63
70
|
"component_id": {
|
|
64
|
-
"description" : "
|
|
71
|
+
"description" : "Component ID",
|
|
65
72
|
"allOf" : [
|
|
66
|
-
{ "$ref" : "#/rsmp_string" }
|
|
73
|
+
{ "$ref" : "#/rsmp_string" },
|
|
74
|
+
{ "pattern" : "^[A-Za-z0-9_+=-]+(?:/[A-Za-z0-9_+=-]+)*$" }
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"component_id_selector": {
|
|
78
|
+
"description" : "Component selector",
|
|
79
|
+
"anyOf" : [
|
|
80
|
+
{ "$ref" : "#/component_id" },
|
|
81
|
+
{
|
|
82
|
+
"allOf" : [
|
|
83
|
+
{ "$ref" : "#/rsmp_string" },
|
|
84
|
+
{ "pattern" : "^[A-Za-z0-9_+=-]+(?:/[A-Za-z0-9_+=-]+)*/$" }
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{ "enum" : [ "/", "", null ] }
|
|
67
88
|
]
|
|
68
89
|
},
|
|
69
90
|
"component_type": {
|
|
@@ -14,8 +14,11 @@
|
|
|
14
14
|
"sCI" : { "$ref": "definitions.json#/status_code" },
|
|
15
15
|
"n" : { "description" : "Unique reference of the value", "type" : "string" },
|
|
16
16
|
"uRt" : {
|
|
17
|
-
"
|
|
18
|
-
|
|
17
|
+
"allOf" : [
|
|
18
|
+
{ "$ref": "definitions.json#/number_as_string" },
|
|
19
|
+
{ "not": { "pattern": "^-" } }
|
|
20
|
+
],
|
|
21
|
+
"description" : "Nonnegative update interval in seconds; zero disables periodic updates and requires sOc to be true"
|
|
19
22
|
},
|
|
20
23
|
"sOc" : {
|
|
21
24
|
"type": "boolean",
|
|
@@ -23,9 +26,16 @@
|
|
|
23
26
|
}
|
|
24
27
|
},
|
|
25
28
|
"required" : [ "sCI", "n", "uRt", "sOc" ],
|
|
26
|
-
"additionalProperties": false
|
|
29
|
+
"additionalProperties": false,
|
|
30
|
+
"if": {
|
|
31
|
+
"properties": { "uRt": { "pattern": "^0(?:\\.0+)?$" } },
|
|
32
|
+
"required": [ "uRt" ]
|
|
33
|
+
},
|
|
34
|
+
"then": {
|
|
35
|
+
"properties": { "sOc": { "const": true } }
|
|
36
|
+
}
|
|
27
37
|
}
|
|
28
38
|
}
|
|
29
39
|
},
|
|
30
40
|
"required" : [ "mId", "cId", "sS"]
|
|
31
|
-
}
|
|
41
|
+
}
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
"description" : "Supported RSMP versions"
|
|
16
16
|
},
|
|
17
17
|
"SXL" : {
|
|
18
|
-
"
|
|
18
|
+
"anyOf" : [
|
|
19
|
+
{ "$ref": "definitions.json#/version" },
|
|
20
|
+
{ "const": "" }
|
|
21
|
+
],
|
|
19
22
|
"description" : "Primary SXL version, for backward compatibility"
|
|
20
23
|
},
|
|
21
24
|
"SXLS" : {
|
|
@@ -34,7 +37,15 @@
|
|
|
34
37
|
"uniqueItems" : true
|
|
35
38
|
}
|
|
36
39
|
},
|
|
37
|
-
"required" : [ "mId", "RSMP", "SXLS", "siteId" ]
|
|
40
|
+
"required" : [ "mId", "step", "RSMP", "SXLS", "siteId" ],
|
|
41
|
+
"if" : {
|
|
42
|
+
"properties" : { "SXLS" : { "maxItems" : 0 } },
|
|
43
|
+
"required" : [ "SXLS" ]
|
|
44
|
+
},
|
|
45
|
+
"then" : {
|
|
46
|
+
"properties" : { "SXL" : { "const" : "" } },
|
|
47
|
+
"required" : [ "SXL" ]
|
|
48
|
+
}
|
|
38
49
|
},
|
|
39
50
|
{
|
|
40
51
|
"description" : "Version response",
|
|
@@ -66,9 +77,10 @@
|
|
|
66
77
|
"minItems" : 0,
|
|
67
78
|
"uniqueItems" : true
|
|
68
79
|
},
|
|
69
|
-
"
|
|
70
|
-
"description" : "Whether
|
|
71
|
-
"type" : "boolean"
|
|
80
|
+
"useAlarms" : {
|
|
81
|
+
"description" : "Whether Alarm messages may be exchanged on the connection",
|
|
82
|
+
"type" : "boolean",
|
|
83
|
+
"default" : true
|
|
72
84
|
}
|
|
73
85
|
},
|
|
74
86
|
"required" : [ "mId", "step", "RSMP", "supervisorId", "SXLS" ]
|
|
@@ -85,8 +97,7 @@
|
|
|
85
97
|
"description" : "RSMP version"
|
|
86
98
|
}
|
|
87
99
|
},
|
|
88
|
-
"required" : [ "vers" ]
|
|
89
|
-
"additionalProperties" : false
|
|
100
|
+
"required" : [ "vers" ]
|
|
90
101
|
},
|
|
91
102
|
"minItems" : 1,
|
|
92
103
|
"uniqueItems" : true
|
|
@@ -99,8 +110,7 @@
|
|
|
99
110
|
"minLength": 1
|
|
100
111
|
}
|
|
101
112
|
},
|
|
102
|
-
"required" : [ "sId" ]
|
|
103
|
-
"additionalProperties" : false
|
|
113
|
+
"required" : [ "sId" ]
|
|
104
114
|
},
|
|
105
115
|
"sxl_request" : {
|
|
106
116
|
"type" : "object",
|
|
@@ -109,34 +119,44 @@
|
|
|
109
119
|
"version" : { "$ref" : "definitions.json#/version" },
|
|
110
120
|
"prefix" : { "$ref" : "definitions.json#/sxl_prefix" }
|
|
111
121
|
},
|
|
112
|
-
"required" : [ "name", "version" ]
|
|
113
|
-
"additionalProperties" : false
|
|
122
|
+
"required" : [ "name", "version" ]
|
|
114
123
|
},
|
|
115
124
|
"sxl_response" : {
|
|
116
125
|
"type" : "object",
|
|
126
|
+
"properties" : {
|
|
127
|
+
"name" : { "$ref" : "definitions.json#/sxl_name" },
|
|
128
|
+
"status" : {
|
|
129
|
+
"type" : "string",
|
|
130
|
+
"enum" : [ "ok", "unsupported", "mismatch", "expected" ]
|
|
131
|
+
},
|
|
132
|
+
"version" : { "$ref" : "definitions.json#/version" },
|
|
133
|
+
"supported" : {
|
|
134
|
+
"type" : "array",
|
|
135
|
+
"items" : { "$ref" : "definitions.json#/version" }
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"required" : [ "name", "status" ],
|
|
117
139
|
"oneOf" : [
|
|
118
140
|
{
|
|
119
141
|
"properties" : {
|
|
120
|
-
"
|
|
121
|
-
"
|
|
142
|
+
"status" : { "const" : "ok" },
|
|
143
|
+
"supported" : false
|
|
122
144
|
},
|
|
123
|
-
"required" : [ "
|
|
124
|
-
"additionalProperties" : false
|
|
145
|
+
"required" : [ "version" ]
|
|
125
146
|
},
|
|
126
147
|
{
|
|
127
148
|
"properties" : {
|
|
128
|
-
"
|
|
129
|
-
"version" :
|
|
130
|
-
"rejected" : {
|
|
131
|
-
"type" : "integer",
|
|
132
|
-
"enum" : [ 1, 2, 3 ]
|
|
133
|
-
},
|
|
134
|
-
"reason" : {
|
|
135
|
-
"type" : "string"
|
|
136
|
-
}
|
|
149
|
+
"status" : { "const" : "mismatch" },
|
|
150
|
+
"version" : false
|
|
137
151
|
},
|
|
138
|
-
"required" : [ "
|
|
139
|
-
|
|
152
|
+
"required" : [ "supported" ]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"properties" : {
|
|
156
|
+
"status" : { "enum" : [ "unsupported", "expected" ] },
|
|
157
|
+
"version" : false,
|
|
158
|
+
"supported" : false
|
|
159
|
+
}
|
|
140
160
|
}
|
|
141
161
|
]
|
|
142
162
|
}
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"$comment" : "Example: 123 or -123",
|
|
18
18
|
"pattern": "^\\-?[0-9]+$"
|
|
19
19
|
},
|
|
20
|
+
"number_as_string": {
|
|
21
|
+
"description" : "Integer or decimal number as string",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^-?[0-9]+(?:\\.[0-9]+)?$"
|
|
24
|
+
},
|
|
20
25
|
"version": {
|
|
21
26
|
"description" : "Version",
|
|
22
27
|
"type": "string",
|