From aad9ae6997d292b4893632327dac53aedface4d9 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 26 Apr 2017 22:14:58 +0200 Subject: [PATCH] Add OS attribute for hostcontrol (#16) * Add OS attribute for hostcontrol * fix lint --- API.md | 1 + hassio/api/host.py | 4 +++- hassio/const.py | 1 + hassio/host_control.py | 4 +++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/API.md b/API.md index a0b3ced8f..f7d3d1b43 100644 --- a/API.md +++ b/API.md @@ -82,6 +82,7 @@ See HostControl info command. "last_version": "", "features": ["shutdown", "reboot", "update", "network_info", "network_control"], "hostname": "", + "os": "" } ``` diff --git a/hassio/api/host.py b/hassio/api/host.py index d16927198..822985cce 100644 --- a/hassio/api/host.py +++ b/hassio/api/host.py @@ -5,7 +5,8 @@ import voluptuous as vol from .util import api_process_hostcontrol, api_process, api_validate from ..const import ( - ATTR_VERSION, ATTR_LAST_VERSION, ATTR_TYPE, ATTR_HOSTNAME, ATTR_FEATURES) + ATTR_VERSION, ATTR_LAST_VERSION, ATTR_TYPE, ATTR_HOSTNAME, ATTR_FEATURES, + ATTR_OS) _LOGGER = logging.getLogger(__name__) @@ -32,6 +33,7 @@ class APIHost(object): ATTR_LAST_VERSION: self.host_control.last, ATTR_FEATURES: self.host_control.features, ATTR_HOSTNAME: self.host_control.hostname, + ATTR_OS: self.host_control.os_info, } @api_process_hostcontrol diff --git a/hassio/const.py b/hassio/const.py index f16c3b4c7..0c69e83f5 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -32,6 +32,7 @@ RESULT_ERROR = 'error' RESULT_OK = 'ok' ATTR_HOSTNAME = 'hostname' +ATTR_OS = 'os' ATTR_TYPE = 'type' ATTR_FEATURES = 'features' ATTR_ADDONS = 'addons' diff --git a/hassio/host_control.py b/hassio/host_control.py index e72892f69..8900f0eec 100644 --- a/hassio/host_control.py +++ b/hassio/host_control.py @@ -9,7 +9,7 @@ import async_timeout from .const import ( SOCKET_HC, ATTR_LAST_VERSION, ATTR_VERSION, ATTR_TYPE, ATTR_FEATURES, - ATTR_HOSTNAME) + ATTR_HOSTNAME, ATTR_OS) _LOGGER = logging.getLogger(__name__) @@ -35,6 +35,7 @@ class HostControl(object): self.type = UNKNOWN self.features = [] self.hostname = UNKNOWN + self.os_info = UNKNOWN mode = os.stat(SOCKET_HC)[stat.ST_MODE] if stat.S_ISSOCK(mode): @@ -94,6 +95,7 @@ class HostControl(object): self.type = info.get(ATTR_TYPE, UNKNOWN) self.features = info.get(ATTR_FEATURES, []) self.hostname = info.get(ATTR_HOSTNAME, UNKNOWN) + self.os_info = info.get(ATTR_OS, UNKNOWN) def reboot(self): """Reboot the host system.