Class: Hue::Client
- Inherits:
-
Object
- Object
- Hue::Client
- Defined in:
- lib/hue/client.rb
Instance Attribute Summary collapse
-
#username ⇒ Object
readonly
Returns the value of attribute username.
Instance Method Summary collapse
- #add_lights ⇒ Object
- #bridge ⇒ Object
- #bridges ⇒ Object
- #group(id = nil) ⇒ Object
- #groups ⇒ Object
-
#initialize(username = nil, use_mdns: true) ⇒ Client
constructor
A new instance of Client.
- #light(id) ⇒ Object
- #lights ⇒ Object
- #scene(id) ⇒ Object
- #scenes ⇒ Object
Constructor Details
#initialize(username = nil, use_mdns: true) ⇒ Client
Returns a new instance of Client.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/hue/client.rb', line 10 def initialize(username = nil, use_mdns: true) @bridge_id = nil @username = username || find_username @use_mdns = use_mdns if @username begin validate_user rescue Hue::UnauthorizedUser register_user end else register_user end end |
Instance Attribute Details
#username ⇒ Object (readonly)
Returns the value of attribute username.
8 9 10 |
# File 'lib/hue/client.rb', line 8 def username @username end |
Instance Method Details
#add_lights ⇒ Object
50 51 52 |
# File 'lib/hue/client.rb', line 50 def add_lights bridge.add_lights end |
#bridge ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/hue/client.rb', line 26 def bridge @bridge_id = find_bridge_id unless @bridge_id if @bridge_id bridge = bridges.select { |b| b.id == @bridge_id }.first else bridge = bridges.first end raise NoBridgeFound unless bridge bridge end |
#bridges ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/hue/client.rb', line 37 def bridges @bridges ||= begin bs = [] discovery_mdns(bs) if @use_mdns discovery_meethue(bs) if bs.empty? bs end end |
#group(id = nil) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/hue/client.rb', line 63 def group(id = nil) return Group.new(self, bridge) if id.nil? id = id.to_s groups.select { |g| g.id == id }.first end |
#groups ⇒ Object
59 60 61 |
# File 'lib/hue/client.rb', line 59 def groups bridge.groups end |
#light(id) ⇒ Object
54 55 56 57 |
# File 'lib/hue/client.rb', line 54 def light(id) id = id.to_s lights.select { |l| l.id == id }.first end |
#lights ⇒ Object
46 47 48 |
# File 'lib/hue/client.rb', line 46 def lights bridge.lights end |
#scene(id) ⇒ Object
74 75 76 77 |
# File 'lib/hue/client.rb', line 74 def scene(id) id = id.to_s scenes.select { |s| s.id == id }.first end |
#scenes ⇒ Object
70 71 72 |
# File 'lib/hue/client.rb', line 70 def scenes bridge.scenes end |