diff --git a/WAdapter/WNetwork.h b/WAdapter/WNetwork.h index 8d8b4b8..02346e7 100644 --- a/WAdapter/WNetwork.h +++ b/WAdapter/WNetwork.h @@ -183,7 +183,6 @@ class WNetwork { this->apStartedAt = 0; this->lastLoopLog = 0; #ifndef MINIMAL - this->lastMqttHassAutodiscoverySent = 0; this->mqttClient = nullptr; #endif @@ -1046,7 +1045,6 @@ void handleHttpFirmwareUpdateFinished(AsyncWebServerRequest *request) { #ifndef MINIMAL WAdapterMqtt *mqttClient; long lastMqttConnect; - unsigned long lastMqttHassAutodiscoverySent; #endif WProperty *ssid; WProperty *idx; @@ -1239,9 +1237,9 @@ void handleHttpFirmwareUpdateFinished(AsyncWebServerRequest *request) { notify(false); #ifndef MINIMAL - if (lastMqttHassAutodiscoverySent==0){ - if (sendMqttHassAutodiscover(false) ) lastMqttHassAutodiscoverySent=millis(); - } + // always re-announce HASS autodiscovery on (re)connect so a broker restart + // (which drops retained messages) self-heals without a device reboot + sendMqttHassAutodiscover(false); #endif return true; } else {