Handle unavailable vacuums in more-info (#9974)

This commit is contained in:
Philip Allgaier 2021-09-07 10:14:05 +02:00 committed by GitHub
parent d55bade070
commit 321f441b63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,6 +7,7 @@ import "../../../components/ha-attributes";
import "../../../components/ha-icon"; import "../../../components/ha-icon";
import "../../../components/ha-icon-button"; import "../../../components/ha-icon-button";
import "../../../components/ha-paper-dropdown-menu"; import "../../../components/ha-paper-dropdown-menu";
import { UNAVAILABLE } from "../../../data/entity";
import { import {
VacuumEntity, VacuumEntity,
VACUUM_SUPPORT_BATTERY, VACUUM_SUPPORT_BATTERY,
@ -98,31 +99,35 @@ class MoreInfoVacuum extends LitElement {
"fan_speed,fan_speed_list,status,battery_level,battery_icon"; "fan_speed,fan_speed_list,status,battery_level,battery_icon";
return html` return html`
<div class="flex-horizontal"> ${stateObj.state !== UNAVAILABLE
${supportsFeature(stateObj, VACUUM_SUPPORT_STATUS) ? html` <div class="flex-horizontal">
? html` ${supportsFeature(stateObj, VACUUM_SUPPORT_STATUS)
<div> ? html`
<span class="status-subtitle" <div>
>${this.hass!.localize( <span class="status-subtitle"
"ui.dialogs.more_info_control.vacuum.status" >${this.hass!.localize(
)}: "ui.dialogs.more_info_control.vacuum.status"
</span> )}:
<span><strong>${stateObj.attributes.status}</strong></span> </span>
</div> <span><strong>${stateObj.attributes.status}</strong></span>
` </div>
: ""} `
${supportsFeature(stateObj, VACUUM_SUPPORT_BATTERY) : ""}
? html` ${supportsFeature(stateObj, VACUUM_SUPPORT_BATTERY) &&
<div> stateObj.attributes.battery_level
<span> ? html`
<ha-icon .icon=${stateObj.attributes.battery_icon}></ha-icon> <div>
${stateObj.attributes.battery_level} % <span>
</span> ${stateObj.attributes.battery_level} %
</div> <ha-icon
` .icon=${stateObj.attributes.battery_icon}
: ""} ></ha-icon>
</div> </span>
</div>
`
: ""}
</div>`
: ""}
${VACUUM_COMMANDS.some((item) => item.isVisible(stateObj)) ${VACUUM_COMMANDS.some((item) => item.isVisible(stateObj))
? html` ? html`
<div> <div>
@ -145,6 +150,7 @@ class MoreInfoVacuum extends LitElement {
.title=${this.hass!.localize( .title=${this.hass!.localize(
`ui.dialogs.more_info_control.vacuum.${item.translationKey}` `ui.dialogs.more_info_control.vacuum.${item.translationKey}`
)} )}
.disabled=${stateObj.state === UNAVAILABLE}
></ha-icon-button> ></ha-icon-button>
</div> </div>
` `
@ -161,6 +167,7 @@ class MoreInfoVacuum extends LitElement {
.label=${this.hass!.localize( .label=${this.hass!.localize(
"ui.dialogs.more_info_control.vacuum.fan_speed" "ui.dialogs.more_info_control.vacuum.fan_speed"
)} )}
.disabled=${stateObj.state === UNAVAILABLE}
> >
<paper-listbox <paper-listbox
slot="dropdown-content" slot="dropdown-content"