rsmp 0.17.4 → 0.18.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/rsmp/alarm_state.rb +11 -1
- data/lib/rsmp/component.rb +10 -0
- data/lib/rsmp/site.rb +5 -0
- data/lib/rsmp/supervisor_proxy.rb +10 -0
- data/lib/rsmp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c13ff840a61dbc75246df268480d7951f4ca33df2428029a57447e6fb22ea8f9
|
4
|
+
data.tar.gz: a1aa8675badf8c95bc50dba84a214a06a15192fb8fb6ff8b4b6bc0e023cc1277
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de8156a19d3d090deb7c44bdd915141a615dd405ad82e0c0ac5612097bffaf89f0986d379a83787b0ed2bb9c3bae67ff98108c4b42879ed7d5edac0e067294af
|
7
|
+
data.tar.gz: 9c41f6118a666513e778fe549cd44b7ac22b94dc98dfe4ae9ae64a5b2583aa505b7addf65cd18afa5290449005c3ef9558f54a09bd7565b7faf51364d43812ef
|
data/Gemfile.lock
CHANGED
data/lib/rsmp/alarm_state.rb
CHANGED
@@ -30,6 +30,13 @@ module RSMP
|
|
30
30
|
'rvs' => rvs
|
31
31
|
}
|
32
32
|
end
|
33
|
+
|
34
|
+
def acknowledge
|
35
|
+
change, @acknowledged = !@acknowledged, true
|
36
|
+
update_timestamp if change
|
37
|
+
change
|
38
|
+
end
|
39
|
+
|
33
40
|
def suspend
|
34
41
|
change, @suspended = !@suspended, true
|
35
42
|
update_timestamp if change
|
@@ -42,8 +49,11 @@ module RSMP
|
|
42
49
|
change
|
43
50
|
end
|
44
51
|
|
52
|
+
# according to the rsmp core spec, the only time an alarm changes to unanknowledged,
|
53
|
+
# is when it's activated. See:
|
54
|
+
# https://rsmp-nordic.org/rsmp_specifications/core/3.2/applicability/basic_structure.html#alarm-status
|
45
55
|
def activate
|
46
|
-
change, @active = !@active, true
|
56
|
+
change, @active, @acknowledged = !@active, true, false
|
47
57
|
update_timestamp if change
|
48
58
|
change
|
49
59
|
end
|
data/lib/rsmp/component.rb
CHANGED
@@ -13,6 +13,16 @@ module RSMP
|
|
13
13
|
raise UnknownStatus.new "Status #{status_code}/#{status_name} not implemented by #{self.class}"
|
14
14
|
end
|
15
15
|
|
16
|
+
def acknowledge_alarm alarm_code
|
17
|
+
alarm = get_alarm_state alarm_code
|
18
|
+
if alarm.acknowledge
|
19
|
+
log "Acknowledging alarm #{alarm_code}", level: :info
|
20
|
+
@node.alarm_acknowledged alarm
|
21
|
+
else
|
22
|
+
log "Alarm #{alarm_code} already acknowledged", level: :info
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
16
26
|
def suspend_alarm alarm_code
|
17
27
|
alarm = get_alarm_state alarm_code
|
18
28
|
if alarm.suspend
|
data/lib/rsmp/site.rb
CHANGED
@@ -96,6 +96,11 @@ module RSMP
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
+
def alarm_acknowledged alarm_state
|
100
|
+
alarm = AlarmIssue.new( alarm_state.to_hash.merge('aSp' => 'Issue') )
|
101
|
+
send_alarm alarm
|
102
|
+
end
|
103
|
+
|
99
104
|
def alarm_suspended_or_resumed alarm_state
|
100
105
|
alarm = AlarmIssue.new( alarm_state.to_hash.merge('aSp' => 'Suspend') )
|
101
106
|
send_alarm alarm
|
@@ -210,6 +210,16 @@ module RSMP
|
|
210
210
|
end
|
211
211
|
end
|
212
212
|
|
213
|
+
# handle incoming alarm acknowledge
|
214
|
+
def handle_alarm_acknowledge message
|
215
|
+
component_id = message.attributes["cId"]
|
216
|
+
component = @site.find_component component_id
|
217
|
+
alarm_code = message.attribute("aCId")
|
218
|
+
log "Received #{message.type} #{alarm_code} acknowledgement", message: message, level: :log
|
219
|
+
acknowledge message
|
220
|
+
component.acknowledge_alarm alarm_code
|
221
|
+
end
|
222
|
+
|
213
223
|
# handle incoming alarm suspend
|
214
224
|
def handle_alarm_suspend message
|
215
225
|
component_id = message.attributes["cId"]
|
data/lib/rsmp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsmp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emil Tin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|