From 28f3a23acc6fc04f865bb127ea008c3e6c0da4f6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 20:21:44 -0700 Subject: [PATCH 01/10] Restart hass will use supervisor api. https://www.pivotaltracker.com/story/show/145295197 --- panels/hassio/dashboard/hassio-hass-info.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/panels/hassio/dashboard/hassio-hass-info.html b/panels/hassio/dashboard/hassio-hass-info.html index c0ca1bfde0..bf0ce8fc49 100644 --- a/panels/hassio/dashboard/hassio-hass-info.html +++ b/panels/hassio/dashboard/hassio-hass-info.html @@ -38,12 +38,11 @@ path="hassio/homeassistant/update" >Update - Restart + path="hassio/homeassistant/restart" + >Restart From 6d5a911cb5bc1146784c340b06df3818c5bf44a4 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 20:30:17 -0700 Subject: [PATCH 02/10] Keep trying to refresh data after successful API call --- panels/hassio/ha-panel-hassio.html | 11 ++++++++++- panels/hassio/hassio-data.html | 14 ++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/panels/hassio/ha-panel-hassio.html b/panels/hassio/ha-panel-hassio.html index ee03a303ee..2054396754 100644 --- a/panels/hassio/ha-panel-hassio.html +++ b/panels/hassio/ha-panel-hassio.html @@ -127,7 +127,16 @@ Polymer({ apiCalled: function (ev) { if (ev.detail.success) { - this.$.data.refresh(); + var tries = 1; + + var tryUpdate = function () { + this.$.data.refresh().catch(function () { + tries += 1; + setTimeout(tryUpdate, Math.min(tries, 5) * 1000); + }) + }.bind(this); + + tryUpdate(); } }, diff --git a/panels/hassio/hassio-data.html b/panels/hassio/hassio-data.html index 4e07d35f45..eac78a7fb5 100644 --- a/panels/hassio/hassio-data.html +++ b/panels/hassio/hassio-data.html @@ -29,27 +29,29 @@ Polymer({ }, refresh: function () { - this.fetchSupervisorInfo(); - this.fetchHostInfo(); - this.fetchHassInfo(); + return Promise.all([ + this.fetchSupervisorInfo(), + this.fetchHostInfo(), + this.fetchHassInfo(), + ]) }, fetchSupervisorInfo: function () { - this.hass.callApi('get', 'hassio/supervisor/info') + return this.hass.callApi('get', 'hassio/supervisor/info') .then(function (info) { this.supervisor = info.data; }.bind(this)); }, fetchHostInfo: function () { - this.hass.callApi('get', 'hassio/host/info') + return this.hass.callApi('get', 'hassio/host/info') .then(function (info) { this.host = info.data; }.bind(this)); }, fetchHassInfo: function () { - this.hass.callApi('get', 'hassio/homeassistant/info') + return this.hass.callApi('get', 'hassio/homeassistant/info') .then(function (info) { this.homeassistant = info.data; }.bind(this)); From 37526aca880254d4200e175d69bba9bdfade0ba2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 20:45:17 -0700 Subject: [PATCH 03/10] Show validation errors in the UI when setting addon options https://www.pivotaltracker.com/story/show/145323139 --- .../addon-view/hassio-addon-options.html | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/panels/hassio/addon-view/hassio-addon-options.html b/panels/hassio/addon-view/hassio-addon-options.html index cef2eac550..d8e12ddbb1 100644 --- a/panels/hassio/addon-view/hassio-addon-options.html +++ b/panels/hassio/addon-view/hassio-addon-options.html @@ -13,21 +13,26 @@ paper-card { display: block; } + .errors { + color: var(--google-red-500); + margin-bottom: 16px; + } iron-autogrow-textarea { width: 100%; }
+
- Save + >Save
@@ -56,6 +61,11 @@ Polymer({ computed: 'parseOptions(options)', }, + errors: { + type: String, + value: null, + }, + addonState: { type: Object, value: null, @@ -75,6 +85,16 @@ Polymer({ } }, + saveTapped: function () { + this.errors = null; + + this.hass.callApi('post', 'hassio/addons/' + this.addon + '/options', { + options: this.optionsParsed + }).catch(function (resp) { + this.errors = resp.body.message; + }.bind(this)); + }, + computeOptionsData: function (optionsParsed) { return { options: optionsParsed, From 1946f6c1f039efd74ea3b638b75aaf1661f1a4d9 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 20:59:30 -0700 Subject: [PATCH 04/10] Show last available version in host card https://www.pivotaltracker.com/story/show/145135511 --- panels/hassio/dashboard/hassio-host-info.html | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/panels/hassio/dashboard/hassio-host-info.html b/panels/hassio/dashboard/hassio-host-info.html index abdcb78009..acfd70cced 100644 --- a/panels/hassio/dashboard/hassio-host-info.html +++ b/panels/hassio/dashboard/hassio-host-info.html @@ -24,10 +24,6 @@ Hostname [[data.hostname]] - - Control version - [[data.version]] - Type [[data.type]] @@ -36,6 +32,14 @@ OS [[data.os]] + + Host Control version + [[data.version]] + + + Latest available version + [[data.last_version]] +
From 031e2af3111432d5c7184f6934c66deeb8d70895 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 20:59:51 -0700 Subject: [PATCH 05/10] Only show update/reboot for host card if available https://www.pivotaltracker.com/story/show/145135469 --- panels/hassio/dashboard/hassio-host-info.html | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/panels/hassio/dashboard/hassio-host-info.html b/panels/hassio/dashboard/hassio-host-info.html index acfd70cced..6770c594b2 100644 --- a/panels/hassio/dashboard/hassio-host-info.html +++ b/panels/hassio/dashboard/hassio-host-info.html @@ -43,15 +43,19 @@
- Update - Reboot + +
@@ -71,5 +75,13 @@ Polymer({ value: {}, }, }, + + computeUpdateAvailable: function (data) { + return data.version !== data.last_version; + }, + + computeRebootAvailable: function (data) { + return data.features && data.features.indexOf("reboot") !== -1; + }, }); From 95b2fa0ad32aae6c8b24bc4a9f8080e7dd0a3165 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 11 May 2017 21:05:32 -0700 Subject: [PATCH 06/10] Add restart button to running addons https://www.pivotaltracker.com/story/show/145295371 --- panels/hassio/addon-view/hassio-addon-state.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/panels/hassio/addon-view/hassio-addon-state.html b/panels/hassio/addon-view/hassio-addon-state.html index 35475e215c..42eae8abf2 100644 --- a/panels/hassio/addon-view/hassio-addon-state.html +++ b/panels/hassio/addon-view/hassio-addon-state.html @@ -51,6 +51,11 @@ >Start