diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 3963b65eb..8019e3cc7 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -949,7 +949,7 @@ class Addon(CoreSysAttributes): self._id, humanize_error(data, err)) return False - # Restore data or reload add-on + # Restore local add-on informations _LOGGER.info("Restore config for addon %s", self._id) restore_image = self._get_image(data[ATTR_SYSTEM]) self._restore_data(data[ATTR_USER], data[ATTR_SYSTEM], restore_image) @@ -957,7 +957,7 @@ class Addon(CoreSysAttributes): # Check version / restore image version = data[ATTR_VERSION] if not await self.instance.exists(): - _LOGGER.info("Restore image for addon %s", self._id) + _LOGGER.info("Restore/Install image for addon %s", self._id) image_file = Path(temp, 'image.tar') if image_file.is_file(): @@ -965,6 +965,9 @@ class Addon(CoreSysAttributes): else: if await self.instance.install(version, restore_image): await self.instance.cleanup() + elif self.instance.version != version or self.legacy: + _LOGGER.info("Restore/Update image for addon %s", self._id) + await self.instance.update(version, restore_image) else: await self.instance.stop() diff --git a/hassio/const.py b/hassio/const.py index e8cebd9ab..3f1da5ced 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -8,8 +8,10 @@ URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" URL_HASSIO_VERSION = "https://s3.amazonaws.com/hassio-version/{channel}.json" URL_HASSIO_APPARMOR = "https://s3.amazonaws.com/hassio-version/apparmor.txt" -URL_HASSOS_OTA = ("https://github.com/home-assistant/hassos/releases/download/" - "{version}/hassos_{board}-{version}.raucb") +URL_HASSOS_OTA = ( + "https://github.com/home-assistant/hassos/releases/download/" + "{version}/hassos_{board}-{version}.raucb" +) HASSIO_DATA = Path("/data") @@ -199,8 +201,11 @@ STARTUP_APPLICATION = "application" STARTUP_ONCE = "once" STARTUP_ALL = [ - STARTUP_ONCE, STARTUP_INITIALIZE, STARTUP_SYSTEM, STARTUP_SERVICES, - STARTUP_APPLICATION + STARTUP_ONCE, + STARTUP_INITIALIZE, + STARTUP_SYSTEM, + STARTUP_SERVICES, + STARTUP_APPLICATION, ] BOOT_AUTO = "auto" @@ -281,13 +286,7 @@ ROLE_BACKUP = "backup" ROLE_MANAGER = "manager" ROLE_ADMIN = "admin" -ROLE_ALL = [ - ROLE_DEFAULT, - ROLE_HOMEASSISTANT, - ROLE_BACKUP, - ROLE_MANAGER, - ROLE_ADMIN, -] +ROLE_ALL = [ROLE_DEFAULT, ROLE_HOMEASSISTANT, ROLE_BACKUP, ROLE_MANAGER, ROLE_ADMIN] CHAN_ID = "chan_id" CHAN_TYPE = "chan_type"