Scene transitions

This commit is contained in:
2026-09-29 18:05:51 +03:00
parent 219f75c0e4
commit f4c82df968
2 changed files with 10 additions and 4 deletions
+6 -2
View File
@@ -32,6 +32,7 @@ module HomeAssistant.Controller
, IkeaButton(..)
, IkeaGesture(..)
, activateScene
, activateSceneWith
, ikeaBoxRemote
, IkeaController(..)
) where
@@ -259,9 +260,12 @@ ikeaBoxRemote entityId = entityChangeEvent' entityId
eventType v = v ^? key "event" . key "variables" . key "trigger" . key "to_state" . key "attributes" . key "event_type" . _String . to toIkeaController . traversed
activateScene :: T.Text -> Service
activateScene sceneId = Service
activateScene sceneId = activateSceneWith sceneId Nothing
activateSceneWith :: T.Text -> Maybe Value -> Service
activateSceneWith sceneId d = Service
{ serviceDomain="scene"
, serviceName= "turn_on"
, serviceTarget= [EntityId sceneId]
, serviceData = Nothing
, serviceData = d
}
+4 -2
View File
@@ -56,11 +56,13 @@ bedroomPresenceController = proc x -> do
Event LightsOff -> do
callService (light bedroomLights Off) -< ()
Event LightsOn -> do
callService (activateScene "scene.makuuhuone_lights_snapshot") -< ()
callService (activateSceneWith "scene.makuuhuone_lights_snapshot" transition) -< ()
Event LightsSleep -> do
callService createBedroomScene -< ()
callService (activateScene "scene.makuuhuone_lepotila") -< ()
callService (activateSceneWith "scene.makuuhuone_lepotila" transition) -< ()
_ -> returnA -< ()
where
transition = Just $ object ["transition" .= (5 :: Int)]
data BedroomControls