From 321f441b6356528747f3875a4958e9985ea3b72c Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Tue, 7 Sep 2021 10:14:05 +0200 Subject: [PATCH] Handle unavailable vacuums in more-info (#9974) --- .../more-info/controls/more-info-vacuum.ts | 57 +++++++++++-------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/dialogs/more-info/controls/more-info-vacuum.ts b/src/dialogs/more-info/controls/more-info-vacuum.ts index c1841b7a5f..887a69cfb1 100644 --- a/src/dialogs/more-info/controls/more-info-vacuum.ts +++ b/src/dialogs/more-info/controls/more-info-vacuum.ts @@ -7,6 +7,7 @@ import "../../../components/ha-attributes"; import "../../../components/ha-icon"; import "../../../components/ha-icon-button"; import "../../../components/ha-paper-dropdown-menu"; +import { UNAVAILABLE } from "../../../data/entity"; import { VacuumEntity, VACUUM_SUPPORT_BATTERY, @@ -98,31 +99,35 @@ class MoreInfoVacuum extends LitElement { "fan_speed,fan_speed_list,status,battery_level,battery_icon"; return html` -
- ${supportsFeature(stateObj, VACUUM_SUPPORT_STATUS) - ? html` -
- ${this.hass!.localize( - "ui.dialogs.more_info_control.vacuum.status" - )}: - - ${stateObj.attributes.status} -
- ` - : ""} - ${supportsFeature(stateObj, VACUUM_SUPPORT_BATTERY) - ? html` -
- - - ${stateObj.attributes.battery_level} % - -
- ` - : ""} -
- + ${stateObj.state !== UNAVAILABLE + ? html`
+ ${supportsFeature(stateObj, VACUUM_SUPPORT_STATUS) + ? html` +
+ ${this.hass!.localize( + "ui.dialogs.more_info_control.vacuum.status" + )}: + + ${stateObj.attributes.status} +
+ ` + : ""} + ${supportsFeature(stateObj, VACUUM_SUPPORT_BATTERY) && + stateObj.attributes.battery_level + ? html` +
+ + ${stateObj.attributes.battery_level} % + + +
+ ` + : ""} +
` + : ""} ${VACUUM_COMMANDS.some((item) => item.isVisible(stateObj)) ? html`
@@ -145,6 +150,7 @@ class MoreInfoVacuum extends LitElement { .title=${this.hass!.localize( `ui.dialogs.more_info_control.vacuum.${item.translationKey}` )} + .disabled=${stateObj.state === UNAVAILABLE} >
` @@ -161,6 +167,7 @@ class MoreInfoVacuum extends LitElement { .label=${this.hass!.localize( "ui.dialogs.more_info_control.vacuum.fan_speed" )} + .disabled=${stateObj.state === UNAVAILABLE} >