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(!_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 ...");
|
Log->println("Network timeout has been reached, restarting ...");
|
||||||
delay(200);
|
delay(200);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
_lastConnectedTs = ts;
|
|
||||||
|
|
||||||
if(!_device->mqttClient()->connected())
|
|
||||||
{
|
|
||||||
bool success = reconnect();
|
bool success = reconnect();
|
||||||
if(!success)
|
if(!success)
|
||||||
{
|
{
|
||||||
@@ -201,6 +200,8 @@ int Network::update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_lastConnectedTs = ts;
|
||||||
|
|
||||||
if(_presenceCsv != nullptr && strlen(_presenceCsv) > 0)
|
if(_presenceCsv != nullptr && strlen(_presenceCsv) > 0)
|
||||||
{
|
{
|
||||||
bool success = publishString(_mqttPresencePrefix, mqtt_topic_presence, _presenceCsv);
|
bool success = publishString(_mqttPresencePrefix, mqtt_topic_presence, _presenceCsv);
|
||||||
|
|||||||
Reference in New Issue
Block a user