From f20ea76a1f1ca21d4285ae72ddb99d2c958edc37 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 15:58:45 +0000 Subject: [PATCH 1/9] Change logic for the new version handling --- .../addon-store/hassio-addon-repository.ts | 12 +- .../src/addon-view/info/hassio-addon-info.ts | 11 +- hassio/src/dashboard/hassio-addons.ts | 10 +- hassio/src/dashboard/hassio-update.ts | 75 ++++++------- hassio/src/system/hassio-host-info.ts | 4 +- hassio/src/system/hassio-supervisor-info.ts | 5 +- src/data/hassio/addon.ts | 103 ++++++++---------- src/data/hassio/host.ts | 7 +- src/data/hassio/supervisor.ts | 28 ++++- 9 files changed, 127 insertions(+), 128 deletions(-) diff --git a/hassio/src/addon-store/hassio-addon-repository.ts b/hassio/src/addon-store/hassio-addon-repository.ts index c188e516b71f..67c4c508491f 100644 --- a/hassio/src/addon-store/hassio-addon-repository.ts +++ b/hassio/src/addon-store/hassio-addon-repository.ts @@ -23,9 +23,9 @@ import { hassioStyle } from "../resources/hassio-style"; class HassioAddonRepositoryEl extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property() public repo!: HassioAddonRepository; + @property({ attribute: false }) public repo!: HassioAddonRepository; - @property() public addons!: HassioAddonInfo[]; + @property({ attribute: false }) public addons!: HassioAddonInfo[]; @property() public filter!: string; @@ -78,18 +78,18 @@ class HassioAddonRepositoryEl extends LitElement { .title=${addon.name} .description=${addon.description} .available=${addon.available} - .icon=${addon.installed && addon.installed !== addon.version + .icon=${addon.installed && addon.update_available ? mdiArrowUpBoldCircle : mdiPuzzle} .iconTitle=${addon.installed - ? addon.installed !== addon.version + ? addon.update_available ? "New version available" : "Add-on is installed" : addon.available ? "Add-on is not installed" : "Add-on is not available on your system"} .iconClass=${addon.installed - ? addon.installed !== addon.version + ? addon.update_available ? "update" : "installed" : !addon.available @@ -104,7 +104,7 @@ class HassioAddonRepositoryEl extends LitElement { : undefined} .showTopbar=${addon.installed || !addon.available} .topbarClass=${addon.installed - ? addon.installed !== addon.version + ? addon.update_available ? "update" : "installed" : !addon.available diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index 27bd3ed6cabe..91b3410d675e 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -135,7 +135,7 @@ class HassioAddonInfo extends LitElement { protected render(): TemplateResult { return html` - ${this._computeUpdateAvailable + ${this.addon.update_available ? html`
@@ -609,15 +609,6 @@ class HassioAddonInfo extends LitElement { return this.addon?.state === "started"; } - private get _computeUpdateAvailable(): boolean | "" { - return ( - this.addon && - !this.addon.detached && - this.addon.version && - this.addon.version !== this.addon.version_latest - ); - } - private get _pathWebui(): string | null { return ( this.addon.webui && diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index 8c6963cac939..5166eca80211 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -52,18 +52,18 @@ class HassioAddons extends LitElement { .title=${addon.name} .description=${addon.description} available - .showTopbar=${addon.installed !== addon.version} + .showTopbar=${addon.installed && + addon.update_available!} topbarClass="update" - .icon=${addon.installed !== addon.version + .icon=${addon.installed && addon.update_available! ? mdiArrowUpBoldCircle : mdiPuzzle} .iconTitle=${addon.state !== "started" ? "Add-on is stopped" - : addon.installed !== addon.version + : addon.installed && addon.update_available! ? "New version available" : "Add-on is running"} - .iconClass=${addon.installed && - addon.installed !== addon.version + .iconClass=${addon.installed && addon.update_available ? addon.state === "started" ? "update" : "update stopped" diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index a95eafbd7660..7975e66ff761 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -5,11 +5,11 @@ import { CSSResult, customElement, html, - internalProperty, LitElement, property, TemplateResult, } from "lit-element"; +import memoizeOne from "memoize-one"; import "../../../src/components/buttons/ha-progress-button"; import "../../../src/components/ha-card"; import "../../../src/components/ha-svg-icon"; @@ -21,6 +21,7 @@ import { import { HassioHassOSInfo } from "../../../src/data/hassio/host"; import { HassioHomeAssistantInfo, + HassioInfo, HassioSupervisorInfo, } from "../../../src/data/hassio/supervisor"; import { @@ -39,25 +40,26 @@ export class HassioUpdate extends LitElement { @property({ attribute: false }) public hassOsInfo?: HassioHassOSInfo; - @property() public supervisorInfo: HassioSupervisorInfo; + @property({ attribute: false }) public supervisorInfo?: HassioInfo; - @internalProperty() private _error?: string; + private _pendingUpdates = memoizeOne( + ( + core?: HassioHomeAssistantInfo, + supervisor?: HassioInfo, + os?: HassioHassOSInfo + ): number => { + return [core, supervisor, os].filter( + (value) => !!value && value?.version !== value?.version_latest + ).length; + } + ); protected render(): TemplateResult { - const updatesAvailable: number = [ + const updatesAvailable = this._pendingUpdates( this.hassInfo, this.supervisorInfo, - this.hassOsInfo, - ].filter((value) => { - return ( - !!value && - (value.version_latest - ? value.version !== value.version_latest - : value.version_latest - ? value.version !== value.version_latest - : false) - ); - }).length; + this.hassOsInfo + ); if (!updatesAvailable) { return html``; @@ -65,9 +67,6 @@ export class HassioUpdate extends LitElement { return html`
- ${this._error - ? html`
Error: ${this._error}
` - : ""}

${updatesAvailable > 1 ? "Updates Available 🎉" @@ -76,26 +75,24 @@ export class HassioUpdate extends LitElement {
${this._renderUpdateCard( "Home Assistant Core", - this.hassInfo.version, - this.hassInfo.version_latest, + this.hassInfo, "hassio/homeassistant/update", `https://${ this.hassInfo.version_latest.includes("b") ? "rc" : "www" - }.home-assistant.io/latest-release-notes/`, - mdiHomeAssistant + }.home-assistant.io/latest-release-notes/` )} ${this._renderUpdateCard( "Supervisor", - this.supervisorInfo.version, - this.supervisorInfo.version_latest, + this.supervisorInfo, "hassio/supervisor/update", - `https://github.com//home-assistant/hassio/releases/tag/${this.supervisorInfo.version_latest}` + `https://github.com//home-assistant/hassio/releases/tag/${ + this.supervisorInfo!.version_latest + }` )} ${this.hassOsInfo ? this._renderUpdateCard( "Operating System", - this.hassOsInfo.version, - this.hassOsInfo.version_latest, + this.hassOsInfo, "hassio/os/update", `https://github.com//home-assistant/hassos/releases/tag/${this.hassOsInfo.version_latest}` ) @@ -107,28 +104,22 @@ export class HassioUpdate extends LitElement { private _renderUpdateCard( name: string, - curVersion: string, - lastVersion: string, + object: HassioHomeAssistantInfo | HassioSupervisorInfo | HassioHassOSInfo, apiPath: string, - releaseNotesUrl: string, - icon?: string + releaseNotesUrl: string ): TemplateResult { - if (!lastVersion || lastVersion === curVersion) { + if (!object.version_latest || object.version_latest === object.version) { return html``; } return html`
- ${icon - ? html` -
- -
- ` - : ""} -
${name} ${lastVersion}
+
+ +
+
${name} ${object.version_latest}
- You are currently running version ${curVersion} + You are currently running version ${object.version}
@@ -138,7 +129,7 @@ export class HassioUpdate extends LitElement { Update diff --git a/hassio/src/system/hassio-host-info.ts b/hassio/src/system/hassio-host-info.ts index f0f34aec2f97..bc25836f3c13 100644 --- a/hassio/src/system/hassio-host-info.ts +++ b/hassio/src/system/hassio-host-info.ts @@ -108,8 +108,8 @@ class HassioHostInfo extends LitElement { ${this.hostInfo.operating_system} - ${this.hostInfo.version !== this.hostInfo.version_latest && - this.hostInfo.features.includes("hassos") + ${this.hostInfo.features.includes("hassos") && + this.hostInfo.update_available ? html` ${this.supervisorInfo.version_latest} - ${this.supervisorInfo.version !== this.supervisorInfo.version_latest + ${this.supervisorInfo.update_available ? html` ; - network: null | Record; - network_description: null | Record; - host_network: boolean; - host_pid: boolean; - host_ipc: boolean; - host_dbus: boolean; - privileged: any; + version: string; +} + +export interface HassioAddonDetails extends HassioAddonInfo { apparmor: "disable" | "default" | "profile"; - devices: string[]; + arch: "armhf" | "aarch64" | "i386" | "amd64"; + audio_input: null | string; + audio_output: null | string; + audio: boolean; + auth_api: boolean; auto_uart: boolean; - icon: boolean; - logo: boolean; - stage: "stable" | "experimental" | "deprecated"; + auto_update: boolean; + boot: "auto" | "manual"; changelog: boolean; + devices: string[]; + devicetree: boolean; + discovery: string[]; + docker_api: boolean; + documentation: boolean; + full_access: boolean; + gpio: boolean; hassio_api: boolean; hassio_role: "default" | "homeassistant" | "manager" | "admin"; - startup: "initialize" | "system" | "services" | "application" | "once"; homeassistant_api: boolean; - auth_api: boolean; - full_access: boolean; + homeassistant: string; + host_dbus: boolean; + host_ipc: boolean; + host_network: boolean; + host_pid: boolean; + ingress_entry: null | string; + ingress_panel: boolean; + ingress_url: null | string; + ingress: boolean; + ip_address: string; + kernel_modules: boolean; + long_description: null | string; + machine: any; + network_description: null | Record; + network: null | Record; + options: Record; + privileged: any; protected: boolean; rating: "1-6"; - stdin: boolean; - webui: null | string; - gpio: boolean; - kernel_modules: boolean; - devicetree: boolean; - docker_api: boolean; - audio: boolean; - audio_input: null | string; - audio_output: null | string; services_role: string[]; - discovery: string[]; - ip_address: string; - ingress: boolean; - ingress_panel: boolean; - ingress_entry: null | string; - ingress_url: null | string; + slug: string; + startup: "initialize" | "system" | "services" | "application" | "once"; + stdin: boolean; watchdog: null | boolean; + webui: null | string; } export interface HassioAddonsInfo { diff --git a/src/data/hassio/host.ts b/src/data/hassio/host.ts index a8db6dbc71e8..bbe2e4d8522d 100644 --- a/src/data/hassio/host.ts +++ b/src/data/hassio/host.ts @@ -4,11 +4,12 @@ import { hassioApiResultExtractor, HassioResponse } from "./common"; export type HassioHostInfo = any; export interface HassioHassOSInfo { - version: string; + board: "ova" | "rpi"; + update_available: boolean; + version_cli_latest: string; version_cli: string; version_latest: string; - version_cli_latest: string; - board: "ova" | "rpi"; + version: string; } export const fetchHassioHostInfo = async (hass: HomeAssistant) => { diff --git a/src/data/hassio/supervisor.ts b/src/data/hassio/supervisor.ts index 992425b8bcbb..2b85776dedf3 100644 --- a/src/data/hassio/supervisor.ts +++ b/src/data/hassio/supervisor.ts @@ -1,19 +1,41 @@ import { HomeAssistant, PanelInfo } from "../../types"; +import { HassioAddonInfo, HassioAddonRepository } from "./addon"; import { hassioApiResultExtractor, HassioResponse } from "./common"; export type HassioHomeAssistantInfo = any; -export type HassioSupervisorInfo = any; + +export type HassioSupervisorInfo = { + addons: HassioAddonInfo[]; + addons_repositories: HassioAddonRepository[]; + arch: string; + channel: string; + debug: boolean; + debug_block: boolean; + diagnostics: boolean | null; + healthy: boolean; + ip_address: string; + logging: string; + supported: boolean; + timezone: string; + update_available: boolean; + version: string; + version_latest: string; + wait_boot: number; +}; export type HassioInfo = { arch: string; channel: string; docker: string; - hassos?: string; + features: string[]; + hassos: null; homeassistant: string; hostname: string; logging: string; - maching: string; + machine: string; + operating_system: string; supervisor: string; + supported: boolean; supported_arch: string[]; timezone: string; }; From e8a0c0f77884fa0c41bdd95ed74630bec3259317 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 16:22:24 +0000 Subject: [PATCH 2/9] lint --- hassio/src/dashboard/hassio-update.ts | 4 ++-- hassio/src/hassio-panel-router.ts | 2 +- hassio/src/hassio-router.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 7975e66ff761..98368c024f96 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -40,12 +40,12 @@ export class HassioUpdate extends LitElement { @property({ attribute: false }) public hassOsInfo?: HassioHassOSInfo; - @property({ attribute: false }) public supervisorInfo?: HassioInfo; + @property({ attribute: false }) public supervisorInfo?: HassioSupervisorInfo; private _pendingUpdates = memoizeOne( ( core?: HassioHomeAssistantInfo, - supervisor?: HassioInfo, + supervisor?: HassioSupervisorInfo, os?: HassioHassOSInfo ): number => { return [core, supervisor, os].filter( diff --git a/hassio/src/hassio-panel-router.ts b/hassio/src/hassio-panel-router.ts index 00830423b0a0..b5043ae534cf 100644 --- a/hassio/src/hassio-panel-router.ts +++ b/hassio/src/hassio-panel-router.ts @@ -25,7 +25,7 @@ class HassioPanelRouter extends HassRouterPage { @property({ type: Boolean }) public narrow!: boolean; - @property({ attribute: false }) public supervisorInfo: HassioSupervisorInfo; + @property({ attribute: false }) public supervisorInfo?: HassioSupervisorInfo; @property({ attribute: false }) public hassioInfo!: HassioInfo; diff --git a/hassio/src/hassio-router.ts b/hassio/src/hassio-router.ts index a3ecdaf7845e..eeaa74b1cae2 100644 --- a/hassio/src/hassio-router.ts +++ b/hassio/src/hassio-router.ts @@ -66,7 +66,7 @@ class HassioRouter extends HassRouterPage { }, }; - @internalProperty() private _supervisorInfo: HassioSupervisorInfo; + @internalProperty() private _supervisorInfo?: HassioSupervisorInfo; @internalProperty() private _hostInfo: HassioHostInfo; From 3ce5edbcb5bdb4fdc6604949fe6567a35e83109c Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 16:33:38 +0000 Subject: [PATCH 3/9] fix icon classes --- hassio/src/components/hassio-card-content.ts | 2 +- hassio/src/dashboard/hassio-addons.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hassio/src/components/hassio-card-content.ts b/hassio/src/components/hassio-card-content.ts index ee57a98ab861..1123aa9f5a57 100644 --- a/hassio/src/components/hassio-card-content.ts +++ b/hassio/src/components/hassio-card-content.ts @@ -50,7 +50,7 @@ class HassioCardContent extends LitElement { ` : html` diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index 5166eca80211..39e39e787e1d 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -52,22 +52,22 @@ class HassioAddons extends LitElement { .title=${addon.name} .description=${addon.description} available - .showTopbar=${addon.installed && + .showTopbar=${addon.installed || addon.update_available!} topbarClass="update" - .icon=${addon.installed && addon.update_available! + .icon=${addon.update_available! ? mdiArrowUpBoldCircle : mdiPuzzle} .iconTitle=${addon.state !== "started" ? "Add-on is stopped" - : addon.installed && addon.update_available! + : addon.update_available! ? "New version available" : "Add-on is running"} - .iconClass=${addon.installed && addon.update_available + .iconClass=${addon.update_available ? addon.state === "started" ? "update" : "update stopped" - : addon.installed && addon.state === "started" + : addon.state === "started" ? "running" : "stopped"} .iconImage=${atLeastVersion( From a4b52bc121a6997f841988fe86a3426d774a3a5b Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 23:29:35 +0000 Subject: [PATCH 4/9] Use update_available --- hassio/src/dashboard/hassio-update.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index 98368c024f96..f40912bc0711 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -49,7 +49,7 @@ export class HassioUpdate extends LitElement { os?: HassioHassOSInfo ): number => { return [core, supervisor, os].filter( - (value) => !!value && value?.version !== value?.version_latest + (value) => !!value && value?.update_available ).length; } ); @@ -108,7 +108,7 @@ export class HassioUpdate extends LitElement { apiPath: string, releaseNotesUrl: string ): TemplateResult { - if (!object.version_latest || object.version_latest === object.version) { + if (!object.update_available) { return html``; } return html` From a0bc1036ff9865fcf7ae460749daeb5398a18bb3 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 23:32:51 +0000 Subject: [PATCH 5/9] Fix logix for showTopbar --- hassio/src/dashboard/hassio-addons.ts | 3 +-- src/data/hassio/addon.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index 39e39e787e1d..717a6397a363 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -52,8 +52,7 @@ class HassioAddons extends LitElement { .title=${addon.name} .description=${addon.description} available - .showTopbar=${addon.installed || - addon.update_available!} + .showTopbar=${addon.update_available} topbarClass="update" .icon=${addon.update_available! ? mdiArrowUpBoldCircle diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index 465fe73e1163..902548f17421 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -15,7 +15,7 @@ export interface HassioAddonInfo { slug: string; stage: "stable" | "experimental" | "deprecated"; state: "started" | "stopped" | null; - update_available: boolean | null; + update_available: boolean; url: string | null; version_latest: string; version: string; From 38b8aefbe79262d4649a04489aabfed2f61b3be3 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 23:33:25 +0000 Subject: [PATCH 6/9] lint --- hassio/src/dashboard/hassio-update.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index f40912bc0711..c80c5c66b9a6 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -21,7 +21,6 @@ import { import { HassioHassOSInfo } from "../../../src/data/hassio/host"; import { HassioHomeAssistantInfo, - HassioInfo, HassioSupervisorInfo, } from "../../../src/data/hassio/supervisor"; import { From 3f372fca92182f2840d045172040edf96e3da236 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Tue, 20 Oct 2020 23:35:46 +0000 Subject: [PATCH 7/9] Add type to HassioHomeAssistantInfo --- src/data/hassio/supervisor.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/data/hassio/supervisor.ts b/src/data/hassio/supervisor.ts index 2b85776dedf3..b503039e9302 100644 --- a/src/data/hassio/supervisor.ts +++ b/src/data/hassio/supervisor.ts @@ -2,7 +2,21 @@ import { HomeAssistant, PanelInfo } from "../../types"; import { HassioAddonInfo, HassioAddonRepository } from "./addon"; import { hassioApiResultExtractor, HassioResponse } from "./common"; -export type HassioHomeAssistantInfo = any; +export type HassioHomeAssistantInfo = { + version: string; + version_latest: string; + arch: string; + machine: string; + ip_address: string; + image: string; + boot: boolean; + port: number; + ssl: boolean; + watchdog: boolean; + wait_boot: number; + audio_input: string | null; + audio_output: string | null; +}; export type HassioSupervisorInfo = { addons: HassioAddonInfo[]; From b093958bac609f544c1db02da155701aff35d764 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Wed, 21 Oct 2020 10:16:42 +0000 Subject: [PATCH 8/9] lint --- hassio/src/dashboard/hassio-update.ts | 8 ++++---- hassio/src/hassio-router.ts | 2 +- src/data/hassio/supervisor.ts | 17 +++++++++-------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/hassio/src/dashboard/hassio-update.ts b/hassio/src/dashboard/hassio-update.ts index c80c5c66b9a6..9f8fa97d3765 100644 --- a/hassio/src/dashboard/hassio-update.ts +++ b/hassio/src/dashboard/hassio-update.ts @@ -35,7 +35,7 @@ import { hassioStyle } from "../resources/hassio-style"; export class HassioUpdate extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public hassInfo: HassioHomeAssistantInfo; + @property({ attribute: false }) public hassInfo?: HassioHomeAssistantInfo; @property({ attribute: false }) public hassOsInfo?: HassioHassOSInfo; @@ -74,15 +74,15 @@ export class HassioUpdate extends LitElement {
${this._renderUpdateCard( "Home Assistant Core", - this.hassInfo, + this.hassInfo!, "hassio/homeassistant/update", `https://${ - this.hassInfo.version_latest.includes("b") ? "rc" : "www" + this.hassInfo?.version_latest.includes("b") ? "rc" : "www" }.home-assistant.io/latest-release-notes/` )} ${this._renderUpdateCard( "Supervisor", - this.supervisorInfo, + this.supervisorInfo!, "hassio/supervisor/update", `https://github.com//home-assistant/hassio/releases/tag/${ this.supervisorInfo!.version_latest diff --git a/hassio/src/hassio-router.ts b/hassio/src/hassio-router.ts index eeaa74b1cae2..36620f368e86 100644 --- a/hassio/src/hassio-router.ts +++ b/hassio/src/hassio-router.ts @@ -74,7 +74,7 @@ class HassioRouter extends HassRouterPage { @internalProperty() private _hassOsInfo?: HassioHassOSInfo; - @internalProperty() private _hassInfo: HassioHomeAssistantInfo; + @internalProperty() private _hassInfo?: HassioHomeAssistantInfo; protected firstUpdated(changedProps: PropertyValues) { super.firstUpdated(changedProps); diff --git a/src/data/hassio/supervisor.ts b/src/data/hassio/supervisor.ts index b503039e9302..9d2845f7761a 100644 --- a/src/data/hassio/supervisor.ts +++ b/src/data/hassio/supervisor.ts @@ -3,19 +3,20 @@ import { HassioAddonInfo, HassioAddonRepository } from "./addon"; import { hassioApiResultExtractor, HassioResponse } from "./common"; export type HassioHomeAssistantInfo = { - version: string; - version_latest: string; arch: string; - machine: string; - ip_address: string; - image: string; + audio_input: string | null; + audio_output: string | null; boot: boolean; + image: string; + ip_address: string; + machine: string; port: number; ssl: boolean; - watchdog: boolean; + update_available: boolean; + version_latest: string; + version: string; wait_boot: number; - audio_input: string | null; - audio_output: string | null; + watchdog: boolean; }; export type HassioSupervisorInfo = { From a0a357cf7fa33b6b1e7a9d00385bc225a6d3fd6c Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Wed, 21 Oct 2020 10:22:32 +0000 Subject: [PATCH 9/9] more lint --- hassio/src/hassio-panel-router.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/src/hassio-panel-router.ts b/hassio/src/hassio-panel-router.ts index b5043ae534cf..054f5fef3425 100644 --- a/hassio/src/hassio-panel-router.ts +++ b/hassio/src/hassio-panel-router.ts @@ -31,7 +31,7 @@ class HassioPanelRouter extends HassRouterPage { @property({ attribute: false }) public hostInfo: HassioHostInfo; - @property({ attribute: false }) public hassInfo: HassioHomeAssistantInfo; + @property({ attribute: false }) public hassInfo?: HassioHomeAssistantInfo; @property({ attribute: false }) public hassOsInfo!: HassioHassOSInfo;