check mqtt connection for Network Timeout until restart

This commit is contained in:
technyon
2023-01-26 21:10:58 +01:00
parent ac1da3a25c
commit 05ef2fa5be

View File

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