device state fix 2
This commit is contained in:
@@ -255,22 +255,6 @@ async def get_device_layout(device_id: str):
|
|||||||
}
|
}
|
||||||
raise HTTPException(status_code=404, detail="Device layout not found")
|
raise HTTPException(status_code=404, detail="Device layout not found")
|
||||||
|
|
||||||
# --- Minimal-invasive: Einzelgerät-State-Endpunkt ---
|
|
||||||
@app.get("/devices/{device_id}/state")
|
|
||||||
async def get_device_state(device_id: str):
|
|
||||||
"""Gibt den aktuellen State für ein einzelnes Gerät zurück."""
|
|
||||||
# States werden wie im Bulk-Endpoint geladen
|
|
||||||
state_path = Path(__file__).parent.parent.parent / "config" / "devices.yaml"
|
|
||||||
if not state_path.exists():
|
|
||||||
raise HTTPException(status_code=500, detail="State file not found")
|
|
||||||
with open(state_path, "r") as f:
|
|
||||||
config = yaml.safe_load(f)
|
|
||||||
states = config.get("states", {})
|
|
||||||
state = states.get(device_id)
|
|
||||||
if state is None:
|
|
||||||
raise HTTPException(status_code=404, detail="Device state not found")
|
|
||||||
return state
|
|
||||||
|
|
||||||
@app.on_event("startup")
|
@app.on_event("startup")
|
||||||
async def startup_event():
|
async def startup_event():
|
||||||
"""Include routers after app is initialized to avoid circular imports."""
|
"""Include routers after app is initialized to avoid circular imports."""
|
||||||
|
|||||||
Reference in New Issue
Block a user