class Hue

Attributes

hue_api_id[RW]
hue_ip[RW]

Public Class Methods

new(config) click to toggle source
# File lib/test_driven_lighting/hue.rb, line 7
def initialize config
  @hue_ip     = config[:hue_ip]
  @hue_api_id = config[:hue_api_id]
end

Public Instance Methods

change!(lamp) click to toggle source
# File lib/test_driven_lighting/hue.rb, line 12
def change! lamp
  data = {
      :on             => lamp.is_on,
      :bri            => lamp.brightness,
      :sat            => lamp.saturation,
      :hue            => lamp.hue,
      :transitiontime => lamp.transition_time
  }.to_json

  connection = Faraday.new("http://#{@hue_ip}")

  connection.put("/api/#{@hue_api_id}/lights/#{lamp.id}/state") do |request|
    request.headers['Content-Type'] = 'application/json'
    request.headers['Accept'] = 'application/json'
    request.body = data
  end
end