From 381f8521d48173c21be315f6c1cf2216d3859b90 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 19 Nov 2025 10:16:39 +0100 Subject: [PATCH] device state setting fix 2 --- apps/api/main.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/apps/api/main.py b/apps/api/main.py index 13139f4..946e4fe 100644 --- a/apps/api/main.py +++ b/apps/api/main.py @@ -365,17 +365,15 @@ async def publish_mqtt(topic: str, payload: dict[str, Any]) -> None: @app.get("/devices/{device_id}") async def get_device(device_id: str) -> DeviceInfo: devices = load_devices() - - try: - device = devices[device_id] - return DeviceInfo( - device_id=device["device_id"], - type=device["type"], - name=device.get("name", device["device_id"]), - features=device.get("features", {}) - ) - except KeyError: + device = next((d for d in devices if d["device_id"] == device_id), None) + if not device: raise HTTPException(status_code=404, detail="Device not found") + return DeviceInfo( + device_id=device["device_id"], + type=device["type"], + name=device.get("name", device["device_id"]), + features=device.get("features", {}) + ) @app.get("/devices") async def get_devices() -> list[DeviceInfo]: