rollup, sliding and fixed windows

This commit is contained in:
2026-08-25 10:11:44 +03:00
parent dc55834507
commit d341270ed1
6 changed files with 80 additions and 19 deletions
+1 -17
View File
@@ -14,10 +14,6 @@ module HomeAssistant.Controller
, entityRead'
, entityBool
, entityBool'
, Ruuvi(..)
, ruuvi
, ruuviTemperatures
, ruuviPressures
, DoorState(..)
, light
, Presence(..)
@@ -29,7 +25,7 @@ module HomeAssistant.Controller
, Target(..)
) where
import AFRP (Mealy (..), eff, Event(..), hold, events, changes, filterA, (>>|), toEvent, Request)
import AFRP (Mealy (..), eff, Event(..), events, filterA, (>>|), toEvent, Request)
import Control.Arrow (Arrow(..), returnA)
import Control.Category ((>>>))
import Data.Aeson (Value)
@@ -75,18 +71,6 @@ traceValue = proc x -> do
eff Trace -< x
returnA -< x
ruuviTemperatures :: Mealy eff (Event Value) Double
ruuviTemperatures = entityRead @Double "sensor.ruuvitag_b168_temperature" >>> hold 0
ruuviPressures :: Mealy eff (Event Value) Double
ruuviPressures = entityRead "sensor.ruuvitag_b168_pressure" >>> hold 0
data Ruuvi = Ruuvi { ruuviTemperature :: Double, ruuviPressure :: Double }
deriving (Show, Eq)
ruuvi :: Mealy eff (Event Value) (Event Ruuvi)
ruuvi = (Ruuvi <$> ruuviTemperatures <*> ruuviPressures) >>> changes
data DoorState = Open | Closed
deriving (Show, Eq)