Use scenes instead of stateful applications of adaptive sleep mode
This commit is contained in:
@@ -56,19 +56,12 @@ bedroomPresenceController = proc x -> do
|
||||
Event LightsOff -> do
|
||||
callService (light bedroomLights Off) -< ()
|
||||
Event LightsOn -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_lights_snapshot") -< ()
|
||||
Event LightsSleep -> do
|
||||
callService createBedroomScene -< ()
|
||||
adaptiveMode -< True
|
||||
sleepMode -< True
|
||||
callService (activateScene "scene.makuuhuone_lepotila") -< ()
|
||||
_ -> returnA -< ()
|
||||
|
||||
where
|
||||
sleepMode = callServiceDyn (switch [EntityId "switch.adaptive_lighting_makuuhuoneen_valot_sleep_mode"] )
|
||||
adaptiveMode = callServiceDyn (switch [EntityId "switch.adaptive_lighting_makuuhuoneen_valot"] )
|
||||
|
||||
|
||||
data BedroomControls
|
||||
= Masse (IkeaButton IkeaGesture)
|
||||
@@ -91,44 +84,22 @@ bedroomButtonController = proc x -> do
|
||||
-- Any event will cause the sleep mode to be turned off
|
||||
case ev of
|
||||
Event (Masse (OnButton ShortRelease)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_masse") -< ()
|
||||
Event (Masse (OnButton DoubleClick)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_keski") -< ()
|
||||
Event (Masse (OnButton LongClick)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_kirkas") -< ()
|
||||
Event (Masse (OffButton _)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (light [AreaId "makuuhuone"] Off) -< ()
|
||||
Event (Enishen (OnButton ShortRelease)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_jemina") -< ()
|
||||
Event (Enishen (OnButton DoubleClick)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_keski") -< ()
|
||||
Event (Enishen (OnButton LongClick)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (activateScene "scene.makuuhuone_kirkas") -< ()
|
||||
Event (Enishen (OffButton _)) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
callService (light [AreaId "makuuhuone"] Off) -< ()
|
||||
Event (Central _) -> do
|
||||
sleepMode -< False
|
||||
adaptiveMode -< False
|
||||
_ -> returnA -< ()
|
||||
where
|
||||
sleepMode = callServiceDyn (switch [EntityId "switch.adaptive_lighting_makuuhuoneen_valot_sleep_mode"] )
|
||||
adaptiveMode = callServiceDyn (switch [EntityId "switch.adaptive_lighting_makuuhuoneen_valot"] )
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user