def start_pairing(self, timeout): """ Start the pairing process. timeout -- Timeout in seconds at which to quit pairing """ if self.username is None or self.password is None: return self.pairing = True for dev in lakeside.get_devices(self.username, self.password): if not self.pairing: break _id = 'eufy-' + dev['id'] if _id not in self.devices: address = dev['address'] code = dev['code'] model = dev['type'] name = dev['name'] if model in ['T1201', 'T1202', 'T1211']: eufy_dev = lakeside.switch(address, code, model) device = EufySwitch(self, _id, name, eufy_dev) elif model in ['T1011', 'T1012', 'T1013']: eufy_dev = lakeside.bulb(address, code, model) device = EufyBulb(self, _id, name, eufy_dev) else: continue self.handle_device_added(device)
def __init__(self, device): """Initialize the light.""" self._temp = None self._brightness = None self._hs = None self._state = None self._name = device["name"] self._address = device["address"] self._code = device["code"] self._type = device["type"] self._bulb = lakeside.bulb(self._address, self._code, self._type) self._colormode = False if self._type == "T1011": self._features = SUPPORT_BRIGHTNESS elif self._type == "T1012": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP elif self._type == "T1013": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP | SUPPORT_COLOR self._bulb.connect()
def __init__(self, device): """Initialize the light.""" self._temp = None self._brightness = None self._hs = None self._state = None self._name = device["name"] self._address = device["address"] self._code = device["code"] self._type = device["type"] self._bulb = lakeside.bulb(self._address, self._code, self._type) self._colormode = False if self._type == "T1011": self._attr_supported_color_modes = {COLOR_MODE_BRIGHTNESS} elif self._type == "T1012": self._attr_supported_color_modes = {COLOR_MODE_COLOR_TEMP} else: # T1013 self._attr_supported_color_modes = { COLOR_MODE_COLOR_TEMP, COLOR_MODE_HS } self._bulb.connect()
def __init__(self, device): """Initialize the light.""" import lakeside self._temp = None self._brightness = None self._hs = None self._state = None self._name = device['name'] self._address = device['address'] self._code = device['code'] self._type = device['type'] self._bulb = lakeside.bulb(self._address, self._code, self._type) self._colormode = False if self._type == "T1011": self._features = SUPPORT_BRIGHTNESS elif self._type == "T1012": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP elif self._type == "T1013": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP | \ SUPPORT_COLOR self._bulb.connect()
def __init__(self, device): """Initialize the light.""" # pylint: disable=import-error import lakeside self._temp = None self._brightness = None self._hs = None self._state = None self._name = device['name'] self._address = device['address'] self._code = device['code'] self._type = device['type'] self._bulb = lakeside.bulb(self._address, self._code, self._type) self._colormode = False if self._type == "T1011": self._features = SUPPORT_BRIGHTNESS elif self._type == "T1012": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP elif self._type == "T1013": self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP | \ SUPPORT_COLOR self._bulb.connect()
def hex_to_rgb(value): value = value.lstrip('#') lv = len(value) return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3)) def_power = True def_brightness = 20 def_temperature = 20 def_colors = get_colors() email = os.getenv("EUFY_EMAIL") password = os.getenv("EUFY_PASSWORD") devices = lakeside.get_devices(email, password) bulb = lakeside.bulb(devices[0]['address'], devices[0]['code'], devices[0]['type']) bulb.connect() @app.route('/light', methods=['POST']) def turnOnBulb(): power = request.args.get("power", type=str) if (power is not None): power = power == "True" else: power = def_power brightness = request.args.get("brightness", type=int) or def_brightness temperature = request.args.get("temperature", type=int) or def_temperature parsed_colors = request.args.get("colors", type=str) colors = "" if parsed_colors is not None:
import json import lakeside secrets = {} with open("secrets.json") as f: secrets = json.load(f) # TODO add device details cache devices = lakeside.get_devices(secrets["username"], secrets["password"]) d = devices[0] print("Bulb info: %s" % str(d)) bulb = lakeside.bulb(d["address"], d["code"], d["type"]) bulb.connect() if bulb.get_status().bulbinfo.packet.bulbstate.power == 0: print("Toggling bulb on") bulb.set_power(power=1) else: print("Toggling bulb off") bulb.set_power(power=0)