diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 7b4e249386..d4dc798892 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -12,6 +12,7 @@ import { } from "../common/entity/compute_attribute_display"; import { computeStateDisplay } from "../common/entity/compute_state_display"; import { computeStateName } from "../common/entity/compute_state_name"; +import "../resources/intl-polyfill"; import type { HomeAssistant } from "../types"; import { Condition, ForDict, Trigger } from "./automation"; import { @@ -21,7 +22,6 @@ import { localizeDeviceAutomationTrigger, } from "./device_automation"; import { EntityRegistryEntry } from "./entity_registry"; -import "../resources/intl-polyfill"; import { FrontendLocaleData } from "./translation"; const triggerTranslationBaseKey = diff --git a/src/panels/config/automation/action/ha-automation-action-row.ts b/src/panels/config/automation/action/ha-automation-action-row.ts index b601f9906e..34a5d22677 100644 --- a/src/panels/config/automation/action/ha-automation-action-row.ts +++ b/src/panels/config/automation/action/ha-automation-action-row.ts @@ -15,7 +15,6 @@ import { mdiStopCircleOutline, } from "@mdi/js"; import deepClone from "deep-clone-simple"; -import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { CSSResultGroup, LitElement, @@ -26,6 +25,7 @@ import { } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; +import { consume } from "@lit-labs/context"; import { storage } from "../../../../common/decorators/storage"; import { dynamicElement } from "../../../../common/dom/dynamic-element-directive"; import { fireEvent } from "../../../../common/dom/fire_event"; @@ -40,10 +40,7 @@ import type { HaYamlEditor } from "../../../../components/ha-yaml-editor"; import { ACTION_TYPES, YAML_ONLY_ACTION_TYPES } from "../../../../data/action"; import { AutomationClipboard } from "../../../../data/automation"; import { validateConfig } from "../../../../data/config"; -import { - EntityRegistryEntry, - subscribeEntityRegistry, -} from "../../../../data/entity_registry"; +import { EntityRegistryEntry } from "../../../../data/entity_registry"; import { Action, NonConditionAction, @@ -73,6 +70,7 @@ import "./types/ha-automation-action-service"; import "./types/ha-automation-action-stop"; import "./types/ha-automation-action-wait_for_trigger"; import "./types/ha-automation-action-wait_template"; +import { fullEntitiesContext } from "../../../../data/context"; export const getType = (action: Action | undefined) => { if (!action) { @@ -137,7 +135,9 @@ export default class HaAutomationActionRow extends LitElement { }) public _clipboard?: AutomationClipboard; - @state() private _entityReg: EntityRegistryEntry[] = []; + @state() + @consume({ context: fullEntitiesContext, subscribe: true }) + _entityReg!: EntityRegistryEntry[]; @state() private _warnings?: string[]; @@ -147,14 +147,6 @@ export default class HaAutomationActionRow extends LitElement { @query("ha-yaml-editor") private _yamlEditor?: HaYamlEditor; - public hassSubscribe(): UnsubscribeFunc[] { - return [ - subscribeEntityRegistry(this.hass.connection!, (entities) => { - this._entityReg = entities; - }), - ]; - } - protected willUpdate(changedProperties: PropertyValues) { if (!changedProperties.has("action")) { return;