gracefully close mqtt on restart

This commit is contained in:
proddy
2025-01-14 19:03:30 +01:00
parent 24fba8b382
commit 64a2f5eb11
2 changed files with 7 additions and 0 deletions

View File

@@ -114,6 +114,12 @@ class Mqtt {
return mqttClient_ ? mqttClient_->connected() : false; return mqttClient_ ? mqttClient_->connected() : false;
} }
static void disconnect() {
if (mqttClient_) {
mqttClient_->disconnect();
};
}
static MqttClient * client() { static MqttClient * client() {
return mqttClient_; return mqttClient_;
} }

View File

@@ -303,6 +303,7 @@ void System::system_restart(const char * partitionname) {
store_nvs_values(); // save any NVS values store_nvs_values(); // save any NVS values
Shell::loop_all(); // flush log to output Shell::loop_all(); // flush log to output
Mqtt::disconnect(); // gracefully disconnect MQTT, needed for QOS1
delay(1000); // wait 1 second delay(1000); // wait 1 second
ESP.restart(); ESP.restart();
#else #else