class TuyaCloud::API

Constants

CLOUD_URL
DEFAULT_REGION

Attributes

auth[RW]
devices[RW]

Public Class Methods

new(username, password, country_code, brand, region = DEFAULT_REGION) click to toggle source
# 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

Public Instance Methods

discover_devices() click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/tuya_cloud/api.rb, line 34
def refresh_devices
  discover_devices
end