diff --git a/homeassistant/components/esphome/dashboard.py b/homeassistant/components/esphome/dashboard.py index 54a593fe0cc..b8a72ac4398 100644 --- a/homeassistant/components/esphome/dashboard.py +++ b/homeassistant/components/esphome/dashboard.py @@ -103,7 +103,7 @@ class ESPHomeDashboardManager: await dashboard.async_shutdown() self._cancel_shutdown = hass.bus.async_listen_once( - EVENT_HOMEASSISTANT_STOP, on_hass_stop + EVENT_HOMEASSISTANT_STOP, on_hass_stop, run_immediately=True ) new_data = {"info": {"addon_slug": addon_slug, "host": host, "port": port}} diff --git a/homeassistant/components/esphome/manager.py b/homeassistant/components/esphome/manager.py index ac33265842f..f89e79aae2b 100644 --- a/homeassistant/components/esphome/manager.py +++ b/homeassistant/components/esphome/manager.py @@ -543,11 +543,15 @@ class ESPHomeManager: # "Unable to remove unknown listener # .onetime_listener>" entry_data.cleanup_callbacks.append( - hass.bus.async_listen(EVENT_HOMEASSISTANT_STOP, self.on_stop) + hass.bus.async_listen( + EVENT_HOMEASSISTANT_STOP, self.on_stop, run_immediately=True + ) ) entry_data.cleanup_callbacks.append( hass.bus.async_listen( - EVENT_LOGGING_CHANGED, self._async_handle_logging_changed + EVENT_LOGGING_CHANGED, + self._async_handle_logging_changed, + run_immediately=True, ) )