From d63e2d1db0a41e84afbd1e15e66e7110fd81a02a Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sat, 27 Nov 2021 09:25:27 +0100 Subject: [PATCH] fix blocking startup when NAS is busy (#60360) --- homeassistant/components/synology_dsm/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/homeassistant/components/synology_dsm/__init__.py b/homeassistant/components/synology_dsm/__init__.py index 1351f403306..8212bd67eda 100644 --- a/homeassistant/components/synology_dsm/__init__.py +++ b/homeassistant/components/synology_dsm/__init__.py @@ -298,6 +298,7 @@ class SynoApi: else: self.config_url = f"http://{entry.data[CONF_HOST]}:{entry.data[CONF_PORT]}" + self.initialized = False # DSM APIs self.dsm: SynologyDSM = None self.information: SynoDSMInformation = None @@ -347,6 +348,7 @@ class SynoApi: await self._hass.async_add_executor_job(self._fetch_device_configuration) await self.async_update() + self.initialized = True @callback def subscribe(self, api_key: str, unique_id: str) -> Callable[[], None]: @@ -506,6 +508,9 @@ class SynoApi: self.dsm.update, self._with_information ) except (SynologyDSMLoginFailedException, SynologyDSMRequestException) as err: + if not self.initialized: + raise err + _LOGGER.warning( "Connection error during update, fallback by reloading the entry" )