Turn PartOfDayChanged into an event
This commit is contained in:
parent
7ccc523c43
commit
eebd72f40c
2 changed files with 6 additions and 5 deletions
|
|
@ -17,7 +17,9 @@ let internal generateZigbeeCommandToFixLight partOfDay light =
|
|||
|
||||
generateZigbeeCommand light.FriendlyName color brightness
|
||||
|
||||
type Event = ReceivedZigbeeEvent of payload: string
|
||||
type Event =
|
||||
| ReceivedZigbeeEvent of payload: string
|
||||
| PartOfDayChanged
|
||||
|
||||
let onEventReceived (partOfDay: PartOfDay) (event: Event) =
|
||||
result {
|
||||
|
|
@ -33,7 +35,5 @@ let onEventReceived (partOfDay: PartOfDay) (event: Event) =
|
|||
match maybeLight with
|
||||
| Some light -> generateZigbeeCommandToFixLight partOfDay light |> Seq.singleton
|
||||
| None -> Seq.empty
|
||||
| PartOfDayChanged -> return lights |> Seq.map (generateZigbeeCommandToFixLight partOfDay)
|
||||
}
|
||||
|
||||
let onPartOfDayChanged (partOfDay: PartOfDay) =
|
||||
lights |> Seq.map (generateZigbeeCommandToFixLight partOfDay)
|
||||
|
|
|
|||
|
|
@ -94,7 +94,8 @@ let mainAsync _ =
|
|||
let currentPartOfDay = getPartOfDay DateTime.Now
|
||||
|
||||
if previousPartOfDay <> Some currentPartOfDay then
|
||||
do! onPartOfDayChanged currentPartOfDay |> publishZigbeeCommands mqttClient logger
|
||||
do! PartOfDayChanged |> handleEvent mqttClient logger currentPartOfDay
|
||||
|
||||
previousPartOfDay <- Some currentPartOfDay
|
||||
|
||||
do! Async.Sleep 10_000
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue