diff --git a/API.md b/API.md
index 57498dfcd..9211fc110 100644
--- a/API.md
+++ b/API.md
@@ -281,8 +281,10 @@ Communicate over unix socket with a host daemon.
# shutdown
# host-update [v]
+# hostname xy
+
# network info
-# network hostname xy
+-> {}
# network wlan ssd xy
# network wlan password xy
# network int ip xy
@@ -294,6 +296,7 @@ features:
- shutdown
- reboot
- update
+- hostname
- network_info
- network_control
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..73527d010 100644
--- a/hassio/api/__init__.py
+++ b/hassio/api/__init__.py
@@ -99,10 +99,13 @@ 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)))
+ def get_panel(request):
+ """Return file response with panel."""
+ return web.FileResponse(panel)
+
+ self.webapp.router.add_get('/panel', get_panel)
async def start(self):
"""Run rest api webserver."""
diff --git a/hassio/const.py b/hassio/const.py
index b0986852b..53afed567 100644
--- a/hassio/const.py
+++ b/hassio/const.py
@@ -1,7 +1,7 @@
"""Const file for HassIO."""
from pathlib import Path
-HASSIO_VERSION = '0.30'
+HASSIO_VERSION = '0.31'
URL_HASSIO_VERSION = ('https://raw.githubusercontent.com/home-assistant/'
'hassio/master/version.json')
@@ -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
diff --git a/hassio/panel/hassio-main.html b/hassio/panel/hassio-main.html
index b366d109c..788a3529b 100644
--- a/hassio/panel/hassio-main.html
+++ b/hassio/panel/hassio-main.html
@@ -1,7 +1,4 @@
-
![]()
Hostname | [[data.hostname]] |
Type | [[data.type]] |
OS | [[data.os]] |
Host Control version | [[data.version]] |
Latest available version | [[data.last_version]] |
Error: [[errors]]
UpdateReboot
Current version | [[data.version]] |
Latest version | [[data.last_version]] |
Error: [[errors]]
UpdateRestart
Version | [[data.version]] |
Beta channel | [[data.beta_channel]] |
Latest available version | [[data.last_version]] |
Error: [[errors]]
[[addon.name]]
[[addon.description]]
[[addon.installed]]Hass.io
[[addonInfo.description]]
Installed | [[computeInstallStatus(addonInfo)]] |
Version | [[addonInfo.version]] |
Detached | [[addonInfo.detached]] |
![]()
Hostname | [[data.hostname]] |
Type | [[data.type]] |
OS | [[data.os]] |
Host Control version | [[data.version]] |
Latest available version | [[data.last_version]] |
Error: [[errors]]
UpdateReboot
Current version | [[data.version]] |
Latest version | [[data.last_version]] |
Error: [[errors]]
UpdateRestart
Version | [[data.version]] |
Beta channel | [[data.beta_channel]] |
Latest available version | [[data.last_version]] |
Error: [[errors]]
[[addon.name]]
[[addon.description]]
[[addon.installed]]Hass.io
[[addonInfo.description]]
Installed | [[computeInstallStatus(addonInfo)]] |
Version | [[addonInfo.version]] |
Detached | [[addonInfo.detached]] |
Install
Version | [[addonState.version]] |
State | [[addonState.state]] |
Boot | [[addonState.boot]] |
StartRestartStopUpdateUninstall
[[addonInfo.name]]
Configure which add-on repositories to fetch data from. One repository per line.
Save
Maintained by [[repo.maintainer]].Visit repository website. [[addon.name]]
[[addon.description]]
[[computeInstallStatus(addon)]]Hass.io Add-Ons
Supervisor Logs
[[logs]]
\ No newline at end of file
+});Install
Version | [[addonState.version]] |
State | [[addonState.state]] |
Boot | [[addonState.boot]] |
StartRestartStopUpdateUninstall
[[addonInfo.name]]
Configure which add-on repositories to fetch data from. One repository per line.
Save
Maintained by [[repo.maintainer]].Visit repository website. [[addon.name]]
[[addon.description]]
[[computeInstallStatus(addon)]]Hass.io Add-Ons
Supervisor Logs
[[logs]]