This commit is contained in:
Артём Кокос
2026-02-24 20:36:40 +07:00
parent a8b7016504
commit fd0b9d4d81
3 changed files with 206 additions and 137 deletions

View File

@@ -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")