Fixes/Enhancement for MQTT and WiFi reconnect + network timout + MQTT retain (#419)

* Retain

* Reconnect
This commit is contained in:
iranl
2024-07-09 13:17:31 +02:00
committed by GitHub
parent 8f679c45a5
commit 137b99b291
8 changed files with 90 additions and 66 deletions

View File

@@ -146,7 +146,23 @@ ReconnectStatus WifiDevice::reconnect()
if(!isConnected() && !_isReconnecting)
{
_isReconnecting = true;
_wm.autoConnect();
WiFi.disconnect();
delay(1000);
if(!_preferences->getBool(preference_find_best_rssi, false)) WiFi.reconnect();
else
{
if(WiFi.getMode() & WIFI_STA){
WiFi.mode(WIFI_OFF);
int timeout = millis()+1200;
while(WiFi.getMode()!= WIFI_OFF && millis()<timeout){
delay(0);
}
}
delay(5000);
_wm.WiFi_scanNetworks(true, false);
delay(5000);
_wm.wifiConnectDefault();
}
delay(10000);
_isReconnecting = false;
}