check mqtt connection for Network Timeout until restart
This commit is contained in:
15
Network.cpp
15
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);
|
||||
|
||||
Reference in New Issue
Block a user