|
11 | 11 | from .host_controll import HostControll
|
12 | 12 | from .const import (
|
13 | 13 | SOCKET_DOCKER, RUN_UPDATE_INFO_TASKS, RUN_RELOAD_ADDONS_TASKS,
|
14 |
| - STARTUP_AFTER, STARTUP_BEFORE) |
| 14 | + RUN_UPDATE_SUPERVISOR_TASKS, STARTUP_AFTER, STARTUP_BEFORE) |
15 | 15 | from .scheduler import Scheduler
|
16 | 16 | from .dock.homeassistant import DockerHomeAssistant
|
17 | 17 | from .dock.supervisor import DockerSupervisor
|
@@ -87,6 +87,10 @@ async def setup(self):
|
87 | 87 | self.scheduler.register_task(
|
88 | 88 | self.addons.relaod, RUN_RELOAD_ADDONS_TASKS, first_run=True)
|
89 | 89 |
|
| 90 | + # schedule self update task |
| 91 | + self.scheduler.register_task( |
| 92 | + self._hassio_update, RUN_UPDATE_SUPERVISOR_TASKS) |
| 93 | + |
90 | 94 | async def start(self):
|
91 | 95 | """Start HassIO orchestration."""
|
92 | 96 | # start api
|
@@ -129,3 +133,12 @@ async def _setup_homeassistant(self):
|
129 | 133 |
|
130 | 134 | # store version
|
131 | 135 | _LOGGER.info("HomeAssistant docker now installed.")
|
| 136 | + |
| 137 | + async def _hassio_update(self): |
| 138 | + """Check and run update of supervisor hassio.""" |
| 139 | + if self.config.current_hassio == self.supervisor.version: |
| 140 | + return |
| 141 | + |
| 142 | + _LOGGER.info( |
| 143 | + "Found new HassIO version %s.", self.config.current_hassio) |
| 144 | + await self.supervisor.update(self.config.current_hassio) |
0 commit comments