Directly prompt for lock code in dashboards (#19835)

Prompt for lock codes in more places
This commit is contained in:
chammp 2024-02-26 15:21:02 +01:00 committed by GitHub
parent a39cf99024
commit e8fca5d93c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 9 deletions

View File

@ -14,6 +14,7 @@ import { hasConfigOrEntityChanged } from "../common/has-changed";
import "../components/hui-generic-entity-row";
import { createEntityNotFoundWarning } from "../components/hui-warning";
import { EntityConfig, LovelaceRow } from "./types";
import { callProtectedLockService } from "../../../data/lock";
@customElement("hui-lock-entity-row")
class HuiLockEntityRow extends LitElement implements LovelaceRow {
@ -75,10 +76,11 @@ class HuiLockEntityRow extends LitElement implements LovelaceRow {
private _callService(ev): void {
ev.stopPropagation();
const stateObj = this.hass!.states[this._config!.entity];
this.hass!.callService(
"lock",
stateObj.state === "locked" ? "unlock" : "lock",
{ entity_id: stateObj.entity_id }
callProtectedLockService(
this,
this.hass!,
stateObj,
stateObj.state === "locked" ? "unlock" : "lock"
);
}
}

View File

@ -11,7 +11,7 @@ import {
import { customElement, property } from "lit/decorators";
import { supportsFeature } from "../common/entity/supports-feature";
import "../components/entity/state-info";
import { LockEntityFeature } from "../data/lock";
import { callProtectedLockService, LockEntityFeature } from "../data/lock";
import { HomeAssistant } from "../types";
import { haStyle } from "../resources/styles";
@ -56,10 +56,10 @@ class StateCardLock extends LitElement {
private async _callService(ev) {
ev.stopPropagation();
const service = ev.target.dataset.service;
const data = {
entity_id: this.stateObj.entity_id,
};
await this.hass.callService("lock", service, data);
if (!this.hass || !this.stateObj) {
return;
}
await callProtectedLockService(this, this.hass, this.stateObj, service);
}
static get styles(): CSSResultGroup {