From 1c3e14479ae32b880d52738a2748da11756bf771 Mon Sep 17 00:00:00 2001 From: Sven van Heugten Date: Mon, 6 Jan 2025 21:02:04 +0100 Subject: [PATCH] Connect before sending the first messages --- NightLight/Program.fs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/NightLight/Program.fs b/NightLight/Program.fs index 08739ca..eecfc4b 100644 --- a/NightLight/Program.fs +++ b/NightLight/Program.fs @@ -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 })