class Hue
Public Class Methods
bridge_state()
click to toggle source
# File lib/ha/hue.rb, line 22 def self.bridge_state unless defined? @bridge_state conn = Faraday.new(url: "http://#{BRIDGE_IP}") get = conn.get("/api/#{USERNAME}/") @bridge_state = JSON.parse(get.body) end @bridge_state end
new(context, bridge_state)
click to toggle source
# File lib/ha/hue.rb, line 14 def initialize(context, bridge_state) @context = context @bridge_state = bridge_state @groups = groups @sensors = sensors @lights = lights end
Public Instance Methods
all_a(selector)
click to toggle source
# File lib/ha/hue.rb, line 56 def all_a selector items = sensors_a selector items += lights_a selector items += groups_a selector items += rules_a selector end
groups()
click to toggle source
# File lib/ha/hue.rb, line 46 def groups parsed = @bridge_state["groups"] parsed.to_a.map { |group_pair| Group.new(*group_pair)} end
groups_a(selector)
click to toggle source
# File lib/ha/hue.rb, line 71 def groups_a selector groups.map { |group| group.array(selector)} end
lights()
click to toggle source
# File lib/ha/hue.rb, line 41 def lights parsed = @bridge_state["lights"] parsed.to_a.map { |light_pair| Light.new(*light_pair, @groups)} end
lights_a(selector)
click to toggle source
# File lib/ha/hue.rb, line 67 def lights_a selector lights.map { |light| light.array(selector)} end
pair()
click to toggle source
# File lib/ha/hue.rb, line 31 def pair @context[:useraccount] = "12345" @context.save end
rules()
click to toggle source
# File lib/ha/hue.rb, line 51 def rules parsed = @bridge_state["rules"] parsed.to_a.map { |rule_pair| Rule.new(*rule_pair)} end
rules_a(selector)
click to toggle source
# File lib/ha/hue.rb, line 75 def rules_a selector rules.map { |rule| rule.array(selector)} end
sensors()
click to toggle source
# File lib/ha/hue.rb, line 36 def sensors parsed = @bridge_state["sensors"] parsed.to_a.map { |sensor_pair| Sensor.new(*sensor_pair)} end
sensors_a(selector)
click to toggle source
# File lib/ha/hue.rb, line 63 def sensors_a selector sensors.map { |sensor| sensor.array(selector)} end