From 203cf50eefaf7d7dfffafebe878c7a13d0cf023a Mon Sep 17 00:00:00 2001 From: Cody Cutrer Date: Thu, 16 Oct 2025 15:07:00 -0600 Subject: [PATCH] [homeassistant] Fix re-connection after connection loss A connection loss only goes through a `stop`/start cycle, not a `dispose`/`initialize` cycle. `discoveryHomeAssistantIDs` (the list of discovery topics to subscribe to) only gets populated in `initialize`, so don't clear it in `stop` -- only in `dispose`. This means that after a reconnect, it had forgetten which topics it needed to subscribe to. Signed-off-by: Cody Cutrer --- .../internal/handler/HomeAssistantThingHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/handler/HomeAssistantThingHandler.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/handler/HomeAssistantThingHandler.java index 3c3be091ca1e7..db14e51bd151f 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/handler/HomeAssistantThingHandler.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/handler/HomeAssistantThingHandler.java @@ -201,6 +201,7 @@ public void initialize() { @Override public void dispose() { + discoveryHomeAssistantIDs.clear(); removeStateDescriptions(); // super.dispose() calls stop() super.dispose(); @@ -251,7 +252,6 @@ protected void stop() { haComponentsByUniqueId.clear(); haComponentsByHaId.clear(); channelStates.clear(); - discoveryHomeAssistantIDs.clear(); updateComponent = null; started = false; }