From 35a430e9f41b8035608c0f09d2f6942630c6d013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Wed, 26 Aug 2020 15:27:19 +0200 Subject: [PATCH] Add watchdog toggle (#6703) --- .../src/addon-view/info/hassio-addon-info.ts | 30 +++++++++++++++++++ src/data/hassio/addon.ts | 2 ++ 2 files changed, 32 insertions(+) diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index 0be5862955..c14ea9d475 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -394,6 +394,18 @@ class HassioAddonInfo extends LitElement { haptic > + ${this.hass.userData?.showAdvanced + ? html` +
+
Watchdog
+ +
+ ` + : ""} ${this.addon.auto_update || this.hass.userData?.showAdvanced ? html`
@@ -771,6 +783,24 @@ class HassioAddonInfo extends LitElement { } } + private async _watchdogToggled(): Promise { + this._error = undefined; + const data: HassioAddonSetOptionParams = { + watchdog: !this.addon.watchdog, + }; + try { + await setHassioAddonOption(this.hass, this.addon.slug, data); + const eventdata = { + success: true, + response: undefined, + path: "option", + }; + fireEvent(this, "hass-api-called", eventdata); + } catch (err) { + this._error = `Failed to set addon option, ${err.body?.message || err}`; + } + } + private async _autoUpdateToggled(): Promise { this._error = undefined; const data: HassioAddonSetOptionParams = { diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index a6c20faf54..baa2e95f29 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -72,6 +72,7 @@ export interface HassioAddonDetails extends HassioAddonInfo { ingress_panel: boolean; ingress_entry: null | string; ingress_url: null | string; + watchdog: null | boolean; } export interface HassioAddonsInfo { @@ -99,6 +100,7 @@ export interface HassioAddonSetOptionParams { auto_update?: boolean; ingress_panel?: boolean; network?: object | null; + watchdog?: boolean; } export const reloadHassioAddons = async (hass: HomeAssistant) => {