From ad1a8557b8c3763f27ea9d621f2cec54beed01b3 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 19 May 2017 22:31:34 +0200 Subject: [PATCH] Fix panel & new startup type (#62) * Fix pannel * Add new startup type --- hassio/addons/validate.py | 9 +++++---- hassio/api/__init__.py | 4 ++-- hassio/const.py | 1 + hassio/core.py | 6 +++++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 6979e56d1..e3f4cd262 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -4,9 +4,9 @@ import voluptuous as vol from ..const import ( ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, ATTR_STARTUP, ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, STARTUP_ONCE, STARTUP_AFTER, - STARTUP_BEFORE, BOOT_AUTO, BOOT_MANUAL, ATTR_SCHEMA, ATTR_IMAGE, ATTR_URL, - ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, ATTR_ENVIRONMENT, ARCH_ARMHF, - ARCH_AARCH64, ARCH_AMD64, ARCH_I386) + STARTUP_BEFORE, STARTUP_INITIALIZE, BOOT_AUTO, BOOT_MANUAL, ATTR_SCHEMA, + ATTR_IMAGE, ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES, + ATTR_ENVIRONMENT, ARCH_ARMHF, ARCH_AARCH64, ARCH_AMD64, ARCH_I386) MAP_VOLUME = r"^(config|ssl|addons|backup|share)(?::(rw|:ro))?$" @@ -33,7 +33,8 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ vol.Optional(ATTR_URL): vol.Url(), vol.Optional(ATTR_ARCH, default=ARCH_ALL): [vol.In(ARCH_ALL)], vol.Required(ATTR_STARTUP): - vol.In([STARTUP_BEFORE, STARTUP_AFTER, STARTUP_ONCE]), + vol.In([STARTUP_BEFORE, STARTUP_AFTER, STARTUP_ONCE, + STARTUP_INITIALIZE]), vol.Required(ATTR_BOOT): vol.In([BOOT_AUTO, BOOT_MANUAL]), vol.Optional(ATTR_PORTS): dict, diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index 44a656a69..52e934642 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -99,10 +99,10 @@ class RestAPI(object): def register_panel(self): """Register panel for homeassistant.""" - panel_dir = Path(__file__).parents[1].joinpath('panel') + panel = Path(__file__).parents[1].joinpath('panel/hassio-main.html') self.webapp.router.register_resource( - web.StaticResource('/panel', str(panel_dir))) + web.StaticResource('/panel', str(panel))) async def start(self): """Run rest api webserver.""" diff --git a/hassio/const.py b/hassio/const.py index d83ccc96d..53afed567 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -78,6 +78,7 @@ ATTR_BUILD = 'build' ATTR_DEVICES = 'devices' ATTR_ENVIRONMENT = 'environment' +STARTUP_INITIALIZE = 'initialize' STARTUP_BEFORE = 'before' STARTUP_AFTER = 'after' STARTUP_ONCE = 'once' diff --git a/hassio/core.py b/hassio/core.py index 99a0b4df2..d85605418 100644 --- a/hassio/core.py +++ b/hassio/core.py @@ -12,7 +12,8 @@ from .host_control import HostControl from .const import ( SOCKET_DOCKER, RUN_UPDATE_INFO_TASKS, RUN_RELOAD_ADDONS_TASKS, RUN_UPDATE_SUPERVISOR_TASKS, RUN_WATCHDOG_HOMEASSISTANT, - RUN_CLEANUP_API_SESSIONS, STARTUP_AFTER, STARTUP_BEFORE) + RUN_CLEANUP_API_SESSIONS, STARTUP_AFTER, STARTUP_BEFORE, + STARTUP_INITIALIZE) from .scheduler import Scheduler from .dock.homeassistant import DockerHomeAssistant from .dock.supervisor import DockerSupervisor @@ -105,6 +106,9 @@ class HassIO(object): hassio_update(self.config, self.supervisor), RUN_UPDATE_SUPERVISOR_TASKS) + # start addon mark as initialize + await self.addons.auto_boot(STARTUP_INITIALIZE) + async def start(self): """Start HassIO orchestration.""" # start api