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) => {