humble_rpi-plugin-magneticswitch 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e5372c95725130fb8c6df5fc93b810f5eeee497d
4
+ data.tar.gz: 3f709fb7d07ccc460ebb80a4e290ab4191ab2409
5
+ SHA512:
6
+ metadata.gz: 2d625ef3b46a3d3966291a6feb725a934edfaa0fa6748496468fdffc7298f88d3ef8203f1c4bf0738eb39e02bf2958edbd13e1b06dc8281bf5d6bd31b2ee6f6d
7
+ data.tar.gz: c3700a8291345368cb2140eb9555574e7048f33ea66006800af7f332b6e70eb221d34c05eb1e0018f54179f795290a89a88dec9e23468de5a686a8784427cd68
@@ -0,0 +1 @@
1
+ �$�4�c5�����'��s�Rj�WL@���W�c ����C�����!>j_����֐e� "t�`Kk!�b�D� +�=�t���6L���gM��k�#��S�V�6a0�=����a_���P��p�7�}h�-���ciQ Z�pI��Z9TA";������̟t�?h�4�e 8HYu�@�@k��.�)8�Qv#�
@@ -0,0 +1 @@
1
+ �:���Ύe�e�ԉɄT���"{�>@r
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: humble_rpi-plugin-magneticswitch.rb
4
+
5
+
6
+ require 'pi_piper'
7
+
8
+
9
+ class HumbleRPiPluginMagneticSwitch
10
+ include PiPiper
11
+
12
+ def initialize(settings: {}, variables: {})
13
+
14
+ @nc = settings[:nc] || true
15
+ @pins = settings[:pins]
16
+ @notifier = variables[:notifier]
17
+ @device_id = variables[:device_id] || 'pi'
18
+
19
+ at_exit do
20
+
21
+ @pins.each do |pin|
22
+
23
+ uexp = open("/sys/class/gpio/unexport", "w")
24
+ uexp.write(pin)
25
+ uexp.close
26
+
27
+ end
28
+ end
29
+
30
+
31
+ end
32
+
33
+ def start()
34
+
35
+ notifier = @notifier
36
+ device_id = @device_id
37
+ nc = @nc
38
+
39
+ puts 'ready to detect magnetic switches'
40
+
41
+ @pins.each.with_index do |button, i|
42
+
43
+ puts 'magnetic switch sensor %s on GPIO %s enabled ' % [i+1, button]
44
+
45
+ n = (i+1).to_s
46
+
47
+ PiPiper.watch :pin => button.to_i, :invert => nc do |pin|
48
+
49
+ state = case pin.value
50
+ when 1
51
+ :open
52
+ when 0
53
+ :closed
54
+ end
55
+
56
+ notifier.notice "%s/magneticswitch/%s: door %s" % [device_id, i, state]
57
+
58
+ end
59
+
60
+ end
61
+
62
+ PiPiper.wait
63
+
64
+
65
+ end
66
+
67
+ alias on_start start
68
+
69
+
70
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: humble_rpi-plugin-magneticswitch
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE2MDIxODIxMjY0NFoXDTE3MDIxNzIxMjY0NFowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAObSuBJxim9u/WLadvOzeUfxV9BdM6mOwJ9HRCcXT33mhTeuXfy0YVoSajk4
19
+ zLerI6VOQXrUDTIm5jfpWYd0CRR9O+58SZYJu0Zl8X9ueryVwE2ZS1l/2Bq5+7B7
20
+ gHa1fOV8CjObr6sHC7PL8ZvopK6sOoXHGkuqHfcRzxLqzgPKaTwJ4zGXI/FIrLNW
21
+ ZBdIHgERpmqt2SFAuj+VS0pgLtG8cSXI/Hv/D1deLfABSH0Ve0XL/NAcP7LDOqMI
22
+ mEy/KeB859g7/DUfX+adsIxqUQ1UEgO/wcytMj1AMnZixeBkQTbDI3ZfCtAG+pD5
23
+ PJzAaxM2hk0Af9xvOxnAYGKe8FcCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQURX2hxw7kH27Loei0sjtPZaBkXLcwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAWLDWHz/4
27
+ XE2KeQILOwerdFj0wdpPDKsjfzwgNJavrow7NezYtpbbkwimorLkB2wWrLWf/Q7A
28
+ D30wGBHSb+iCtq4O954p6hYhdSNMQ3FNA1H661Gq7NfkjC8D/LrmPgzoGji+ZF1a
29
+ TjIhaj/5u/dGrDmlXf62jq4ahCrTPrex3BR71s6tFWDbAVemyKUNXxeA/vfUZ28S
30
+ cNyCKJh9uGgaJd6WkczULaoGd53o7/hZeBRkOJYtlXKnX3T0Pjp0ea0Zogmofowc
31
+ bPWFwNbEi9CiEPveT/uvh62PLy8oXqUUvXHHxIjvpQICBlT6wc8vkY+Lz86rQ+xY
32
+ nKxNwaysAN6TFg==
33
+ -----END CERTIFICATE-----
34
+ date: 2016-02-18 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: pi_piper
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.9'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.9.9
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.9'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.9.9
56
+ description:
57
+ email: james@r0bertson.co.uk
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/humble_rpi-plugin-magneticswitch.rb
63
+ homepage: https://github.com/jrobertson/humble_rpi-plugin-magneticswitch
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.4.8
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: A Humble RPi plugin which detects the opening or closing of a door using
87
+ a magnetic switch sensor.
88
+ test_files: []
Binary file