rsmp 0.17.4 → 0.18.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 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