From 05ef2fa5be96876a50c039fc95063aa6d78badab Mon Sep 17 00:00:00 2001 From: technyon Date: Thu, 26 Jan 2023 21:10:58 +0100 Subject: [PATCH] check mqtt connection for Network Timeout until restart --- Network.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Network.cpp b/Network.cpp index a9375a3..20a00f7 100644 --- a/Network.cpp +++ b/Network.cpp @@ -181,19 +181,18 @@ int Network::update() if(!_device->isConnected()) { - if(_networkTimeout > 0 && (ts - _lastConnectedTs > _networkTimeout * 1000)) + return 2; + } + + if(!_device->mqttClient()->connected()) + { + if(_networkTimeout > 0 && (ts - _lastConnectedTs > _networkTimeout * 1000) && ts > 60000) { Log->println("Network timeout has been reached, restarting ..."); delay(200); ESP.restart(); } - return 2; - } - _lastConnectedTs = ts; - - if(!_device->mqttClient()->connected()) - { bool success = reconnect(); if(!success) { @@ -201,6 +200,8 @@ int Network::update() } } + _lastConnectedTs = ts; + if(_presenceCsv != nullptr && strlen(_presenceCsv) > 0) { bool success = publishString(_mqttPresencePrefix, mqtt_topic_presence, _presenceCsv);