class Hue
Attributes
bulbs[R]
Public Class Methods
new(ip,username)
click to toggle source
# File lib/rubyhue.rb, line 22 def initialize(ip,username) @ip = ip @username = username @http = Net::HTTP.new(ip,80) @bulbs = [] @groups = [] end
Public Instance Methods
add_bulb(id,bulb_data)
click to toggle source
# File lib/rubyhue.rb, line 41 def add_bulb(id,bulb_data) @bulbs << HueBulb.new( id, bulb_data ) end
register_username()
click to toggle source
# File lib/rubyhue.rb, line 30 def register_username data = { "devicetype"=>"rubyhue", "username"=>@username } response = @http.post "/api", data.to_json JSON.parse response.body end
request_bulb_info( id )
click to toggle source
# File lib/rubyhue.rb, line 49 def request_bulb_info( id ) hue_get "lights/#{id}" end
request_bulb_list()
click to toggle source
# File lib/rubyhue.rb, line 45 def request_bulb_list hue_get "lights" end
request_config()
click to toggle source
# File lib/rubyhue.rb, line 37 def request_config hue_get "config" end
request_group_list()
click to toggle source
# File lib/rubyhue.rb, line 53 def request_group_list hue_get "groups" end
set_bulb_state( id, state )
click to toggle source
# File lib/rubyhue.rb, line 57 def set_bulb_state( id, state ) hue_put "lights/#{id}/state", state.data end
Private Instance Methods
hue_get( path )
click to toggle source
# File lib/rubyhue.rb, line 62 def hue_get( path ) request = Net::HTTP::Get.new( "/api/#{@username}/#{path}" ) response = @http.request request JSON.parse response.body end
hue_put( path, data )
click to toggle source
# File lib/rubyhue.rb, line 68 def hue_put( path, data ) response = @http.put( "/api/#{@username}/#{path}", data.to_json ) JSON.parse response.body end