fix wifi reconnect
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#define nuki_hub_version "4.1"
|
||||
#define nuki_hub_version "4.2"
|
||||
@@ -74,6 +74,9 @@ void WifiDevice::initialize()
|
||||
Serial.println(WiFi.localIP().toString());
|
||||
}
|
||||
|
||||
_wifiSSID = wm.getWiFiSSID();
|
||||
_wifiPSK = wm.getWiFiPass();
|
||||
|
||||
_mqttClient->setBufferSize(_mqttMaxBufferSize);
|
||||
}
|
||||
|
||||
@@ -103,6 +106,15 @@ bool WifiDevice::isConnected()
|
||||
|
||||
bool WifiDevice::reconnect()
|
||||
{
|
||||
WiFi.disconnect();
|
||||
WiFi.begin(_wifiSSID.c_str(), _wifiPSK.c_str());
|
||||
|
||||
unsigned long timeout = millis() + 5000;
|
||||
while(!isConnected() && millis() < timeout)
|
||||
{
|
||||
delay(100);
|
||||
}
|
||||
|
||||
return isConnected();
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,10 @@ private:
|
||||
WiFiClientSecure* _wifiClientSecure = nullptr;
|
||||
PubSubClient* _mqttClient = nullptr;
|
||||
SpiffsCookie _cookie;
|
||||
|
||||
String _wifiSSID = "";
|
||||
String _wifiPSK = "";
|
||||
|
||||
char _ca[TLS_CA_MAX_SIZE];
|
||||
char _cert[TLS_CERT_MAX_SIZE];
|
||||
char _key[TLS_KEY_MAX_SIZE];
|
||||
|
||||
Reference in New Issue
Block a user