コード例 #1
0
    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)
コード例 #2
0
ファイル: light.py プロジェクト: MumiLila/gittest4
    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()
コード例 #3
0
    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()
コード例 #4
0
ファイル: eufy.py プロジェクト: EarthlingRich/home-assistant
    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()
コード例 #5
0
    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()
コード例 #6
0
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:
コード例 #7
0
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)