Reboot on BLE stuck disconnecting

This commit is contained in:
iranl
2024-12-27 22:41:49 +01:00
parent e002c4223e
commit 6fd0f38595
4 changed files with 14 additions and 1 deletions

View File

@@ -4041,6 +4041,11 @@ void NukiOpenerWrapper::notify(Nuki::EventType eventType)
{ {
_preferences->putInt(preference_lock_pin_status, 2); _preferences->putInt(preference_lock_pin_status, 2);
} }
else if(eventType == Nuki::EventType::BLE_ERROR_ON_DISCONNECT)
{
Log->println("Error in disconnecting BLE client, rebooting");
restartEsp(RestartReason::BLEError);
}
} }
void NukiOpenerWrapper::readConfig() void NukiOpenerWrapper::readConfig()

View File

@@ -4071,6 +4071,11 @@ void NukiWrapper::notify(Nuki::EventType eventType)
{ {
_preferences->putInt(preference_lock_pin_status, 2); _preferences->putInt(preference_lock_pin_status, 2);
} }
else if(eventType == Nuki::EventType::BLE_ERROR_ON_DISCONNECT)
{
Log->println("Error in disconnecting BLE client, rebooting");
restartEsp(RestartReason::BLEError);
}
} }
} }
} }

View File

@@ -4,6 +4,7 @@ enum class RestartReason
{ {
RequestedViaMqtt, RequestedViaMqtt,
RequestedViaWebServer, RequestedViaWebServer,
BLEError,
BLEBeaconWatchdog, BLEBeaconWatchdog,
RestartOnDisconnectWatchdog, RestartOnDisconnectWatchdog,
RestartIntervalWatchdog, RestartIntervalWatchdog,
@@ -73,6 +74,8 @@ inline static String getRestartReason()
return "RequestedViaWebServer"; return "RequestedViaWebServer";
case RestartReason::ReconfigureWebServer: case RestartReason::ReconfigureWebServer:
return "ReconfigureWebServer"; return "ReconfigureWebServer";
case RestartReason::BLEError:
return "BLEError";
case RestartReason::BLEBeaconWatchdog: case RestartReason::BLEBeaconWatchdog:
return "BLEBeaconWatchdog"; return "BLEBeaconWatchdog";
case RestartReason::RestartOnDisconnectWatchdog: case RestartReason::RestartOnDisconnectWatchdog: