Gem that uses the URL API for the Vera family of products from MiCasaVerde.
Add this line to your application's Gemfile:
gem 'mios'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mios
Ruby 1.9 or greater
MiOS works on a job queue. If you wish to change an attribute or the status of a particular device, you must submit a job to MiOS and wait for it to be succeed or fail or require a requeue. Most of this functionality is hidden behind the scenes and an idiomatic synchronous closure interface is exposed that manages it all for you, as you'll see below. Most methods can also be used asynchronously but you need to know what you are doing as this is not really an event-driven system and inconsistencies can occur if used improperly.
mios = MiOS::Interface.new('http://192.168.15.1:3480')
switch = mios.devices[0]
switch.off!
job = switch.on!
switch.off! { |obj|
puts "The #{obj.name} is now off"
}
puts "This will get printed once the switch is off and the block has been executed"
switch.on!(true) { |obj|
puts "The #{obj.name} is now on"
}
puts "This will output immediately"
sleep(5) # Sleep to wait for the thread to finish, will clean this up later
mios.rooms
mios.scenes
mios.scenes[0].run # => 'OK'
http://wiki.micasaverde.com/index.php/Category:Development http://wiki.micasaverde.com/index.php/Luup_Requests
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request