def list_status(): output = list() for _, data in lifx.get(lifx.LightGet, lifx.LightState): output.append('{} ({})\n\tHue: {:.2f}%\n\tSaturation: {:.2f}%\n\tBrightness: {:.0f}%\n\tKelvin: {}K'.format( label(data[6]), 'On' if data[5] else 'Off', 360 * d(data[0]), 100 * d(data[1]), 100 * d(data[2]), data[3])) print(*sorted(output), sep='\n\n')
def set_print(): # Set power with res_requested - NOTE: delay of set for (_, _, dev, *_), (power, ) in lifx.get(lifx.LightSetPower, lifx.LightStatePower, c(True), 2000, res=1): print(MACstr(dev), ':', 'On' if power else 'Off')
def h1(sv, pv): global _dev if _dev is None: return # benchmark global _forward_set if deep_get(sv, "brightness.intent") == 0.1 and not _forward_set: resp, e = patch_spec(*_measure, {"obs": {"forward_leaf": time.time()}}) if e is None: _forward_set = True status = lifx.get(_dev) power = status.get("power", 0) color = list(status.get("color", [1, 1, 1, 1])) p, b = deep_get(sv, "power.intent"), deep_get(sv, "brightness.intent") if p is not None: power = convert["power"]["to"](p) if b is not None: color[2] = convert["brightness"]["to"](b) # benchmark lifx.put(_dev, power, color)
def list_status(): output = list() for _, data in lifx.get(lifx.LightGet, lifx.LightState): output.append( '{} ({})\n\tHue: {:.2f}%\n\tSaturation: {:.2f}%\n\tBrightness: {:.0f}%\n\tKelvin: {}K' .format(label(data[6]), 'On' if data[5] else 'Off', 360 * d(data[0]), 100 * d(data[1]), 100 * d(data[2]), data[3])) print(*sorted(output), sep='\n\n')
def run(self): while True: if self.stop_flag: break status = lifx.get(self.dev) if status is None: continue p, b = status.get("power", {}), status.get("color", {})[2] p, b = convert["power"]["from"](p), convert["brightness"]["from"]( b) patch = { "control": { "power": { "status": p, }, "brightness": { "status": b, }, } } resp, e = patch_spec(*digi.auri, patch) if e is not None: logger.error(f"unable to update status {e}") # benchmark global _backward_set if b == 0.1 and not _backward_set: resp, e = patch_spec(*_measure, {"obs": { "backward_leaf": time.time() }}) if e is None: _backward_set = True time.sleep(self.interval)
def set_print(): # Set power with res_requested - NOTE: delay of set for (_, _, dev, *_), (power,) in lifx.get(lifx.LightSetPower, lifx.LightStatePower, c(True), 2000, res=1): print(MACstr(dev), ':', 'On' if power else 'Off')
def toggle_power(): for (_, _, dev, *_), (power,) in lifx.get(lifx.LightGetPower, lifx.LightStatePower): lifx.post(lifx.LightSetPower, c(1 - d(power)), 0, device=dev)
def power_status(): for (_, _, dev, *_), (power,) in lifx.get(lifx.LightGetPower, lifx.LightStatePower): print(MACstr(dev), ':', 'On' if power else 'Off')
def list_devices(): for (_, _, dev, *_), (service, _) in lifx.get(lifx.GetService, lifx.StateService): if service == 1: print(MACstr(dev))
def toggle_power(): for (_, _, dev, *_), (power, ) in lifx.get(lifx.LightGetPower, lifx.LightStatePower): lifx.post(lifx.LightSetPower, c(1 - d(power)), 0, device=dev)
def power_status(): for (_, _, dev, *_), (power, ) in lifx.get(lifx.LightGetPower, lifx.LightStatePower): print(MACstr(dev), ':', 'On' if power else 'Off')