From 8e38165987628fb9ed0569a069540075fa630636 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Wed, 5 Feb 2025 10:50:47 +0100 Subject: [PATCH] Chore: Fix race condition in reloading of hass provider --- music_assistant/providers/hass/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/music_assistant/providers/hass/__init__.py b/music_assistant/providers/hass/__init__.py index fd9e11fc..96af4f1d 100644 --- a/music_assistant/providers/hass/__init__.py +++ b/music_assistant/providers/hass/__init__.py @@ -177,7 +177,7 @@ async def get_config_entries( ) # append player controls entries (if we have an active instance) - if instance_id and (hass_prov := mass.get_provider(instance_id)): + if instance_id and (hass_prov := mass.get_provider(instance_id)) and hass_prov.available: hass_prov = cast(HomeAssistantProvider, hass_prov) return (*base_entries, *(await _get_player_control_config_entries(hass_prov.hass))) @@ -337,6 +337,7 @@ class HomeAssistantProvider(PluginProvider): self.logger.warning("Connection to HA lost due to error: %s", err) self.logger.info("Connection to HA lost. Connection will be automatically retried later.") # schedule a reload of the provider + self.available = False self.mass.call_later(5, self.mass.load_provider, self.instance_id, allow_retry=True) def _on_entity_state_update(self, event: EntityStateEvent) -> None: -- 2.34.1