rsmp 0.17.4 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17b5f6f4b2a3b5c9280497906b2111d7739956f2fdb08b1052b919b77e9d093f
4
- data.tar.gz: bab9a1e34d857fb60a15c8c1849dd0e6e24483753d9e5a3052f1ba9f162a0e96
3
+ metadata.gz: 617db976cf78abbb1d4bbae2e31ba58863d21f9ef9df8f912cf84eb093a6de7d
4
+ data.tar.gz: 056310e524601423385b17156276ff1dac127594106db24832b8368134a8c843
5
5
  SHA512:
6
- metadata.gz: ba268e1647b9de5b401a285b462d4f83108266a14eab597bd3203f37a36118ee7952e6eb3ce6edf7bcdac61472337032efaf4073da3b7c7059284b5cd18b3fa8
7
- data.tar.gz: 5ad8ba86f07b8159c33a47420875d29fecdd02684b16e7ea5c6bb7329f64b4a8b44928347438cef32dc51f2462ece94197ad95c5802d0118b2273d82d633bb86
6
+ metadata.gz: c73d30a792e3b00c99f695ac4a686aa8b67b627b184a0abcc5c14d6f2c2495755490b581de792774e58fb524d82e30bb51a32eb6aa570be2484bba26f682437a
7
+ data.tar.gz: 350ae202e67dd8f51ce478321af030d578b9134bdb659510740e9ab48a9aaa549a528e1c223717af8f21044e9d5aa08fe59a8bc8f08871b2059fa72bc4bf8738
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.17.4)
4
+ rsmp (0.18.0)
5
5
  async (~> 1.30.3)
6
6
  async-io (~> 1.33.0)
7
7
  colorize (~> 0.8.1)
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.17.4"
2
+ VERSION = "0.18.0"
3
3
  end
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.17.4
4
+ version: 0.18.0
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-25 00:00:00.000000000 Z
11
+ date: 2023-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async