from fastapi import APIRouter from fastapi.responses import HTMLResponse from .handlers.hue import HueHandler router = APIRouter() hue = HueHandler("192.168.178.85") @router.get("/scenes", tags=["scene"]) async def get_scenes(): return hue.list_scenes() @router.post( "/room/{room_name}/scene/{scene_name}", tags=["room", "scene"], ) async def activate_scene(room_name: str, scene_name: str): try: hue.in_room_activate_scene(room_name, scene_name) except Exception as e: return HTMLResponse(status_code=400, content=str(e)) @router.post( "/room/{room_name}/off", tags=["room"], ) async def deactivate_room(room_name: str): try: hue.in_room_deactivate_lights(room_name) except Exception as e: return HTMLResponse(status_code=400, content=str(e)) @router.post( "/room/{room_name}/on", tags=["room"], ) async def activate_room(room_name: str): try: hue.in_room_activate_lights(room_name) except Exception as e: return HTMLResponse(status_code=400, content=str(e))