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
|
generateZigbeeCommand light.FriendlyName color brightness
|
||||||
|
|
||||||
type Event = ReceivedZigbeeEvent of payload: string
|
type Event =
|
||||||
|
| ReceivedZigbeeEvent of payload: string
|
||||||
|
| PartOfDayChanged
|
||||||
|
|
||||||
let onEventReceived (partOfDay: PartOfDay) (event: Event) =
|
let onEventReceived (partOfDay: PartOfDay) (event: Event) =
|
||||||
result {
|
result {
|
||||||
|
|
@ -33,7 +35,5 @@ let onEventReceived (partOfDay: PartOfDay) (event: Event) =
|
||||||
match maybeLight with
|
match maybeLight with
|
||||||
| Some light -> generateZigbeeCommandToFixLight partOfDay light |> Seq.singleton
|
| Some light -> generateZigbeeCommandToFixLight partOfDay light |> Seq.singleton
|
||||||
| None -> Seq.empty
|
| 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
|
let currentPartOfDay = getPartOfDay DateTime.Now
|
||||||
|
|
||||||
if previousPartOfDay <> Some currentPartOfDay then
|
if previousPartOfDay <> Some currentPartOfDay then
|
||||||
do! onPartOfDayChanged currentPartOfDay |> publishZigbeeCommands mqttClient logger
|
do! PartOfDayChanged |> handleEvent mqttClient logger currentPartOfDay
|
||||||
|
|
||||||
previousPartOfDay <- Some currentPartOfDay
|
previousPartOfDay <- Some currentPartOfDay
|
||||||
|
|
||||||
do! Async.Sleep 10_000
|
do! Async.Sleep 10_000
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue