fix wifi reconnect
This commit is contained in:
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#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());
|
Serial.println(WiFi.localIP().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_wifiSSID = wm.getWiFiSSID();
|
||||||
|
_wifiPSK = wm.getWiFiPass();
|
||||||
|
|
||||||
_mqttClient->setBufferSize(_mqttMaxBufferSize);
|
_mqttClient->setBufferSize(_mqttMaxBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,6 +106,15 @@ bool WifiDevice::isConnected()
|
|||||||
|
|
||||||
bool WifiDevice::reconnect()
|
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();
|
return isConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ private:
|
|||||||
WiFiClientSecure* _wifiClientSecure = nullptr;
|
WiFiClientSecure* _wifiClientSecure = nullptr;
|
||||||
PubSubClient* _mqttClient = nullptr;
|
PubSubClient* _mqttClient = nullptr;
|
||||||
SpiffsCookie _cookie;
|
SpiffsCookie _cookie;
|
||||||
|
|
||||||
|
String _wifiSSID = "";
|
||||||
|
String _wifiPSK = "";
|
||||||
|
|
||||||
char _ca[TLS_CA_MAX_SIZE];
|
char _ca[TLS_CA_MAX_SIZE];
|
||||||
char _cert[TLS_CERT_MAX_SIZE];
|
char _cert[TLS_CERT_MAX_SIZE];
|
||||||
char _key[TLS_KEY_MAX_SIZE];
|
char _key[TLS_KEY_MAX_SIZE];
|
||||||
|
|||||||
Reference in New Issue
Block a user