WEB UI
This commit is contained in:
@@ -84,11 +84,23 @@ async def blink_device(device_id: str):
|
||||
if not device:
|
||||
raise HTTPException(status_code=404, detail="Лампа оффлайн")
|
||||
|
||||
await wiz.set_pilot(device.ip, {"sceneId": 34, "speed": 100})
|
||||
await asyncio.sleep(3)
|
||||
await wiz.set_pilot(device.ip, {"state": False})
|
||||
try:
|
||||
# 1. Получаем текущее состояние
|
||||
current = await wiz.get_pilot(device.ip)
|
||||
# Если не удалось получить статус, считаем что она выключена (False)
|
||||
original_state = current.get("result", {}).get("state", False)
|
||||
|
||||
return {"status": "blink_sent"}
|
||||
# 2. Инвертируем состояние
|
||||
await wiz.set_pilot(device.ip, {"state": not original_state})
|
||||
await asyncio.sleep(0.5)
|
||||
|
||||
# 3. Возвращаем как было
|
||||
await wiz.set_pilot(device.ip, {"state": original_state})
|
||||
|
||||
return {"status": "blink_done", "original": original_state}
|
||||
except Exception as e:
|
||||
logger.error(f"Blink error: {e}")
|
||||
raise HTTPException(status_code=500, detail="Ошибка связи с лампой")
|
||||
|
||||
|
||||
@router.get("/device/{device_id}/status")
|
||||
|
||||
Reference in New Issue
Block a user