Improve device shutdown and unload of Synology DSM integration (#65936)

* ignore errors during unload/logout

* automatic host update is an info, nut debug
This commit is contained in:
Michael 2022-02-06 23:02:31 +01:00 committed by GitHub
parent 62da194340
commit 275d4b9770
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -16,6 +16,7 @@ from synology_dsm.api.storage.storage import SynoStorage
from synology_dsm.api.surveillance_station import SynoSurveillanceStation from synology_dsm.api.surveillance_station import SynoSurveillanceStation
from synology_dsm.exceptions import ( from synology_dsm.exceptions import (
SynologyDSMAPIErrorException, SynologyDSMAPIErrorException,
SynologyDSMException,
SynologyDSMLoginFailedException, SynologyDSMLoginFailedException,
SynologyDSMRequestException, SynologyDSMRequestException,
) )
@ -237,7 +238,11 @@ class SynoApi:
async def async_unload(self) -> None: async def async_unload(self) -> None:
"""Stop interacting with the NAS and prepare for removal from hass.""" """Stop interacting with the NAS and prepare for removal from hass."""
await self._syno_api_executer(self.dsm.logout) try:
await self._syno_api_executer(self.dsm.logout)
except SynologyDSMException:
# ignore API errors during logout
pass
async def async_update(self, now: timedelta | None = None) -> None: async def async_update(self, now: timedelta | None = None) -> None:
"""Update function for updating API information.""" """Update function for updating API information."""

View file

@ -267,7 +267,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
and existing_entry.data[CONF_HOST] != parsed_url.hostname and existing_entry.data[CONF_HOST] != parsed_url.hostname
and not fqdn_with_ssl_verification and not fqdn_with_ssl_verification
): ):
_LOGGER.debug( _LOGGER.info(
"Update host from '%s' to '%s' for NAS '%s' via SSDP discovery", "Update host from '%s' to '%s' for NAS '%s' via SSDP discovery",
existing_entry.data[CONF_HOST], existing_entry.data[CONF_HOST],
parsed_url.hostname, parsed_url.hostname,