humble_rpi-plugin-magneticswitch 0.2.2 → 0.3.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
  SHA1:
3
- metadata.gz: 1cc98c61999aa7cc57c702d2ee29040bfb181a85
4
- data.tar.gz: 951a2c100f7119e427d5121c33eccb7c5ab292f2
3
+ metadata.gz: e3881e137d35f35f75eeedde484a7d66ba591148
4
+ data.tar.gz: 80615bfbc04dcb9c718965fb38d0d6275104beae
5
5
  SHA512:
6
- metadata.gz: 8296737aa26c4ec892db77c35d9dcca8eb264f475e87a0493e180c910752fe9766479a63d63e5bfee189f18a873b7e35413b4111c008cb88be47b1041a32227a
7
- data.tar.gz: 42afca1132bc11946b6846604ae9a642a11d85ac0bfe203ac01c98050872aade7d0afba6d4bcdfeb2b237efb7d8dff8bead06ed8ef5ef0f696597f3d0b6413eb
6
+ metadata.gz: 0a5e75789d29796fd26314a6de8f95febde54e8269a34596ce2cd9683306db2fb0594ab664c8f346ba52cb35fd221fe8e5f3ad6c59fcdde96cdf2e42a44264f3
7
+ data.tar.gz: 946ca0e54dff90a247f9f73fd49c3e0758b1e87af54e48fe12956042ddc43215d06c397d3cbe4045d3c34b725b05c0fb02c9169ad47708ee10aaf9f79a27b1ed
checksums.yaml.gz.sig CHANGED
Binary file
@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  require 'rpi_pinin'
7
+ require 'self-defense'
7
8
 
8
9
 
9
10
  class HumbleRPiPluginMagneticSwitch
@@ -38,8 +39,30 @@ class HumbleRPiPluginMagneticSwitch
38
39
 
39
40
  state = value == 0 ? :opened : :closed
40
41
 
42
+ input_operation = :unknown
43
+
44
+ strategy = lambda do |defense|
45
+
46
+ coping_with_it = []
47
+ coping_with_it << defense.rapid?(0.5)
48
+
49
+ input_operation = coping_with_it.all? ? :normal : :erratic
50
+ end
51
+
52
+ # detect erratic input behaviour by checking if the door is
53
+ # opened within 0.5 of a second after it was last opened
54
+
55
+ SelfDefense.new(&strategy) if state == :opened
56
+
57
+ if input_operation == :erratic then
58
+
59
+ notifier.notice "%s/magneticswitch/%s: " + \
60
+ " door error: Erratic input operation" % [device_id, i]
61
+ raise 'humble_rpi-plugin-magneticwitch: Erratic input operation'
62
+ end
63
+
41
64
  notifier.notice "%s/magneticswitch/%s: door %s" % \
42
- [device_id, i, state]
65
+ [device_id, i, state]
43
66
 
44
67
  end
45
68
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: humble_rpi-plugin-magneticswitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  bPWFwNbEi9CiEPveT/uvh62PLy8oXqUUvXHHxIjvpQICBlT6wc8vkY+Lz86rQ+xY
32
32
  nKxNwaysAN6TFg==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-11-18 00:00:00.000000000 Z
34
+ date: 2016-11-21 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rpi_pinin
@@ -53,6 +53,26 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 0.1.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: self-defense
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.1'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.1.5
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.1'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.5
56
76
  description:
57
77
  email: james@r0bertson.co.uk
58
78
  executables: []
metadata.gz.sig CHANGED
Binary file