mqtt using isWiFiConnected instead of IP-check

This commit is contained in:
Patrick Haßel 2024-04-10 12:59:48 +02:00
parent 16374cf33b
commit 9f4f0dba79
3 changed files with 8 additions and 4 deletions

View File

@ -1,12 +1,10 @@
#include "mqtt.h"
#include "base.h"
#include <WiFiClient.h>
#include <WiFi.h>
#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);

View File

@ -158,6 +158,10 @@ void wifiLoop() {
}
}
bool isWiFiConnected() {
return wifiConnected;
}
bool isTimeSet() {
return timeSet;
}

View File

@ -9,6 +9,8 @@ void wifiLoop();
void wifiConnect();
bool isWiFiConnected();
bool isTimeSet();
time_t getTime();