humble_rpi-plugin-relay 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: 4521cd7141d11ca378b15527a0a4b337e356bddf
4
+ data.tar.gz: 47a4b477739278842bf4ee1ea4f2a23c84f2618b
5
+ SHA512:
6
+ metadata.gz: d5808fb71bd8849c9bc967ea9de9e763e6661d02274d4b9e2b8fc76ac7264c19a6ea47f67724a90bb6666c5ccf955913adfc597db6bdaf0406ee169a85fc716b
7
+ data.tar.gz: d688b8db40e473eeabfa97c866aff43eff491fb392404ac67e680b322d2f4ea700da8e71807814a5bd892a02fd807f97a391a5f411bbf08662516d06fa208ef1
@@ -0,0 +1 @@
1
+ B�U�K�>ݯF]�IB�������m�Y���@�[�TH�<�p��J�x��S�?��?v�8f�֓d��U+�c[�
Binary file
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: humble_rpi-plugin-relay.rb
4
+
5
+ require 'rpi'
6
+
7
+
8
+ class HumbleRPiPluginRelay
9
+
10
+ def initialize(settings: {}, variables: {})
11
+
12
+ @gpio_pins = settings[:pins]
13
+
14
+ end
15
+
16
+ def on_relay_message(message)
17
+
18
+ r = message.match(/(\d+)\s*(on|off)\s*([\d\.]+)?/)
19
+
20
+ if r then
21
+ index, state, seconds, raw_duration = r.captures
22
+ duration = raw_duration ? raw_duration.to_f : nil
23
+
24
+ a = case state
25
+
26
+ when 'on'
27
+ [:on, duration]
28
+
29
+ when 'off'
30
+ [:off]
31
+
32
+ end
33
+
34
+ @relay[index.to_i].send(*a)
35
+ end
36
+ end
37
+
38
+ def start()
39
+
40
+ @relay = RPi.new(@gpio_pins).pins if @gpio_pins.any?
41
+
42
+ end
43
+
44
+ alias on_start start
45
+
46
+ def on_exit()
47
+ @relay.on_exit
48
+ end
49
+
50
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: humble_rpi-plugin-relay
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
+ 8ixkARkWAmV1MB4XDTE1MDkyNjE5MjEyOFoXDTE2MDkyNTE5MjEyOFowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAMMnsETZoHsOCfM3cA/Oq2MZyNg/p4Dy7UuGNGvPP8kExCcyiW2586EO3YIX
19
+ A8FYCVMIFIP9PGlnaRb+UZSZcAKRGM3C3f+bOWiKbZtt7WyMAcs8DRA+PhWLcHKT
20
+ +yqmKgvGCSXKwRZD7lSuxGOCCjD/yHHgtc4TG2jND21R9gy4JuOaseLIup1YW+3Y
21
+ 04qwbM5Es9sTGupLvTaP/87Ht9QK63o950GbyrLzztSuw4G/9t338w8Mz6W5tfVA
22
+ lpPaiMc5oy5vM2TCxPdoQ8mZiFaYHG2CvyuNtx6VZpV3E70eaARAI7BbIVnBA+94
23
+ FbgAtCCritcxcoFbk6fDTt+/x9MCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUSJEh+HmClaN2pCmHJFTHHdEWqnQwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAiglafdOI
27
+ KLT+27OWhEFC5ZwfcK4/9dkH1yHUg1Eyu3L878mb7Atyv8z/7RCGrBO6WvEb16yc
28
+ QxBtiEc+rYxhTVVhNOPrXvLgDpTX2PuS1hzDZzMy/U4bXSLwfLsfYprs0B2TRYY5
29
+ 2MMccEi6kEFzsdN5xiNfSPtiDMyzSs7ykCzvuzbVAuzFJlV2TzJinhDIeOrIcoje
30
+ 9sxry9zxop3XSLcnokE+1ay1oGsw/kSBCKaeQNEyi5ZSGKTkkpxnrKkTtaoHGzgk
31
+ pJbv2oGoVUlplI8vWphymiyBC/YX/fRMNd7Yd4cdOW58NGknpKnOR/kKfMOjdAWH
32
+ cjE7CL+mtnybQQ==
33
+ -----END CERTIFICATE-----
34
+ date: 2015-09-26 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rpi
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.4'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.0
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.4'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.4.0
56
+ description:
57
+ email: james@r0bertson.co.uk
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/humble_rpi-plugin-relay.rb
63
+ homepage: https://github.com/jrobertson/humble_rpi-plugin-relay
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: Control 1 or more relays with the Raspberry Pi using the Humble_rpi gem +
87
+ humble_rpi-plugin-relay gem.
88
+ test_files: []
Binary file