From 9f4f0dba79b71d6d326fccf11e8950f73e8bab66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Wed, 10 Apr 2024 12:59:48 +0200 Subject: [PATCH] mqtt using isWiFiConnected instead of IP-check --- lib/patrix/mqtt.cpp | 6 ++---- lib/patrix/wifi.cpp | 4 ++++ lib/patrix/wifi.h | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/patrix/mqtt.cpp b/lib/patrix/mqtt.cpp index 443a09f..2a06286 100644 --- a/lib/patrix/mqtt.cpp +++ b/lib/patrix/mqtt.cpp @@ -1,12 +1,10 @@ #include "mqtt.h" -#include "base.h" #include -#include -#include "log.h" #include "PubSubClient.h" #include "console.h" #include "wifi.h" +#include "log.h" #define CONNECT_TIMEOUT_MILLISECONDS 5000 @@ -48,7 +46,7 @@ void mqttLoop() { mqttConnected = connected; } - if (WiFi.localIP() != 0 && isTimeSet() && !connected && (mqttLastConnectTry == 0 || millis() - mqttLastConnectTry > CONNECT_TIMEOUT_MILLISECONDS)) { + if (isWiFiConnected() && isTimeSet() && !connected && (mqttLastConnectTry == 0 || millis() - mqttLastConnectTry > CONNECT_TIMEOUT_MILLISECONDS)) { error("MQTT", "Connecting: \"%s\"", MQTT_HOST); mqttLastConnectTry = millis(); mqtt.setServer(MQTT_HOST, 1883); diff --git a/lib/patrix/wifi.cpp b/lib/patrix/wifi.cpp index 1162335..3cd7777 100644 --- a/lib/patrix/wifi.cpp +++ b/lib/patrix/wifi.cpp @@ -158,6 +158,10 @@ void wifiLoop() { } } +bool isWiFiConnected() { + return wifiConnected; +} + bool isTimeSet() { return timeSet; } diff --git a/lib/patrix/wifi.h b/lib/patrix/wifi.h index cbe533b..c06eae0 100644 --- a/lib/patrix/wifi.h +++ b/lib/patrix/wifi.h @@ -9,6 +9,8 @@ void wifiLoop(); void wifiConnect(); +bool isWiFiConnected(); + bool isTimeSet(); time_t getTime();