class HumbleRPiPluginDoorLock
Public Class Methods
new(settings: {}, variables: {})
click to toggle source
# File lib/humble_rpi-plugin-doorlock.rb, line 11 def initialize(settings: {}, variables: {}) @gpio_pins = settings[:pins] end
Public Instance Methods
on_doorlock_message(message)
click to toggle source
# File lib/humble_rpi-plugin-doorlock.rb, line 17 def on_doorlock_message(message) r = message.match(/(\d+)?\s*(open|close|lock|unlock)\s*(?:\s*duration\s)?([\d\.]+)?/) if r then index, state, raw_duration = r.captures index ||= 0 duration = raw_duration ? raw_duration.to_f : nil a = case state when 'open' [:unlock, duration] when 'unlock' [:unlock, duration] when 'close' [:lock, duration] when 'lock' [:lock, duration] end @door[index.to_i].send(*a) end end
on_exit()
click to toggle source
# File lib/humble_rpi-plugin-doorlock.rb, line 52 def on_exit() @door.on_exit end
start()
click to toggle source
# File lib/humble_rpi-plugin-doorlock.rb, line 44 def start() @door = SimpleRaspberryPi.new(@gpio_pins).pins if @gpio_pins.any? end
Also aliased as: on_start