Class: TPLink::SmartHome
- Inherits:
-
Object
- Object
- TPLink::SmartHome
- Defined in:
- lib/tp_link/smart_home.rb
Overview
Main class for TPLink. This is likely the only class you will initialize.
Instance Method Summary collapse
-
#devices ⇒ Array<TPLink::Light,TPLink::RGBLight,TPLlink::Plug>
Find a device by it’s alias.
-
#find(a) ⇒ TPLink::Light, ...
Find a device by it’s alias.
-
#initialize(config = {}) ⇒ SmartHome
constructor
A new instance of SmartHome.
- #raw_devices ⇒ Object
-
#reload ⇒ Object
Reload devices from TPLink api.
- #send_data(device, data) ⇒ Object
Constructor Details
Instance Method Details
#devices ⇒ Array<TPLink::Light,TPLink::RGBLight,TPLlink::Plug>
Find a device by it’s alias.
55 56 57 |
# File 'lib/tp_link/smart_home.rb', line 55 def devices @devices ||= raw_devices.map { |d| dev_to_class(d) }.compact end |
#find(a) ⇒ TPLink::Light, ...
Find a device by it’s alias. Search is case insensitive.
47 48 49 |
# File 'lib/tp_link/smart_home.rb', line 47 def find(a) devices.find { |d| d.alias.match(/^#{a}$/i) } end |
#raw_devices ⇒ Object
63 64 65 66 |
# File 'lib/tp_link/smart_home.rb', line 63 def raw_devices return @raw_devices if @raw_devices @raw_devices = @api.device_list end |
#reload ⇒ Object
Reload devices from TPLink api.
69 70 71 72 |
# File 'lib/tp_link/smart_home.rb', line 69 def reload @raw_devices = nil @devices = nil end |
#send_data(device, data) ⇒ Object
59 60 61 |
# File 'lib/tp_link/smart_home.rb', line 59 def send_data(device, data) @api.send_data(device, data) end |