Class: TuyaCloud::API
- Inherits:
-
Object
- Object
- TuyaCloud::API
- Defined in:
- lib/tuya_cloud/api.rb
Defined Under Namespace
Classes: Auth
Constant Summary collapse
- CLOUD_URL =
'https://px1.tuya%.com'
- DEFAULT_REGION =
'us'
Instance Attribute Summary collapse
-
#auth ⇒ Object
Returns the value of attribute auth.
-
#devices ⇒ Object
Returns the value of attribute devices.
Instance Method Summary collapse
- #discover_devices ⇒ Object
- #find_device_by_id(id) ⇒ Object
- #find_device_by_name(name) ⇒ Object
-
#initialize(username, password, country_code, brand, region = DEFAULT_REGION) ⇒ API
constructor
A new instance of API.
- #refresh_devices ⇒ Object
Constructor Details
#initialize(username, password, country_code, brand, region = DEFAULT_REGION) ⇒ API
Returns a new instance of API.
15 16 17 18 19 |
# File 'lib/tuya_cloud/api.rb', line 15 def initialize(username, password, country_code, brand, region = DEFAULT_REGION) self.auth = Auth.new(username, password, country_code, brand, region) auth.login self.devices = [] end |
Instance Attribute Details
#auth ⇒ Object
Returns the value of attribute auth.
12 13 14 |
# File 'lib/tuya_cloud/api.rb', line 12 def auth @auth end |
#devices ⇒ Object
Returns the value of attribute devices.
12 13 14 |
# File 'lib/tuya_cloud/api.rb', line 12 def devices @devices end |
Instance Method Details
#discover_devices ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/tuya_cloud/api.rb', line 21 def discover_devices request = auth.process_request('Discovery', 'discovery') return nil unless request && request['devices'] && request['devices'].is_a?(Array) self.devices = [] request['devices'].each do |device| devices << Device.new(device, auth) end devices end |
#find_device_by_id(id) ⇒ Object
38 39 40 41 42 |
# File 'lib/tuya_cloud/api.rb', line 38 def find_device_by_id(id) discover_devices if devices.size.zero? devices.each { |device| return device if device.id == id } nil end |
#find_device_by_name(name) ⇒ Object
44 45 46 47 48 |
# File 'lib/tuya_cloud/api.rb', line 44 def find_device_by_name(name) discover_devices if devices.size.zero? devices.each { |device| return device if device.name == name } nil end |
#refresh_devices ⇒ Object
34 35 36 |
# File 'lib/tuya_cloud/api.rb', line 34 def refresh_devices discover_devices end |