Merge pull request #10 from svenvanheugten/fix-initialization

Connect before sending the first messages
This commit is contained in:
Sven van Heugten 2026-01-06 09:57:46 +01:00 committed by GitHub
commit 200e20c696
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -76,7 +76,7 @@ let mainAsync _ =
let mqttClientOptions = MqttClientOptionsBuilder().WithTcpServer(server).Build()
let stateLock = new SemaphoreSlim(1, 1)
do! mqttClient.ConnectAsync mqttClientOptions |> Async.AwaitTask |> Async.Ignore
let! initialState =
let emptyNightLightStateMachine = NightLightStateMachine()
@ -84,6 +84,7 @@ let mainAsync _ =
TimeChanged DateTime.Now
|> handleEvent mqttClient logger emptyNightLightStateMachine
let stateLock = new SemaphoreSlim(1, 1)
let mutable state = initialState
mqttClient.add_ApplicationMessageReceivedAsync (fun e ->
@ -101,8 +102,6 @@ let mainAsync _ =
|> Async.StartAsTask
:> Task)
do! mqttClient.ConnectAsync mqttClientOptions |> Async.AwaitTask |> Async.Ignore
do!
[ "zigbee2mqtt/bridge/event"; $"zigbee2mqtt/{remoteControlFriendlyName.Get}" ]
|> Seq.map (fun topic -> async { return! mqttClient.SubscribeAsync topic |> Async.AwaitTask })