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);