diff --git a/homeassistant/components/synology_dsm/common.py b/homeassistant/components/synology_dsm/common.py index 54a0735186f..e27c7475251 100644 --- a/homeassistant/components/synology_dsm/common.py +++ b/homeassistant/components/synology_dsm/common.py @@ -33,7 +33,7 @@ from homeassistant.const import ( ) from homeassistant.core import HomeAssistant, callback -from .const import CONF_DEVICE_TOKEN +from .const import CONF_DEVICE_TOKEN, DOMAIN, SYSTEM_LOADED LOGGER = logging.getLogger(__name__) @@ -218,6 +218,11 @@ class SynoApi: ) self.surveillance_station = self.dsm.surveillance_station + def _set_system_loaded(self, state: bool = False) -> None: + """Set system loaded flag.""" + dsm_device = self._hass.data[DOMAIN].get(self.information.serial) + dsm_device[SYSTEM_LOADED] = state + async def _syno_api_executer(self, api_call: Callable) -> None: """Synology api call wrapper.""" try: @@ -231,10 +236,12 @@ class SynoApi: async def async_reboot(self) -> None: """Reboot NAS.""" await self._syno_api_executer(self.system.reboot) + self._set_system_loaded() async def async_shutdown(self) -> None: """Shutdown NAS.""" await self._syno_api_executer(self.system.shutdown) + self._set_system_loaded() async def async_unload(self) -> None: """Stop interacting with the NAS and prepare for removal from hass.""" diff --git a/homeassistant/components/synology_dsm/service.py b/homeassistant/components/synology_dsm/service.py index f26a43b2ca0..a7a336e0c1b 100644 --- a/homeassistant/components/synology_dsm/service.py +++ b/homeassistant/components/synology_dsm/service.py @@ -15,7 +15,6 @@ from .const import ( SERVICE_SHUTDOWN, SERVICES, SYNO_API, - SYSTEM_LOADED, ) LOGGER = logging.getLogger(__name__) @@ -57,7 +56,6 @@ async def async_setup_services(hass: HomeAssistant) -> None: ) dsm_api: SynoApi = dsm_device[SYNO_API] try: - dsm_device[SYSTEM_LOADED] = False await getattr(dsm_api, f"async_{call.service}")() except SynologyDSMException as ex: LOGGER.error(