diff --git a/src/components/ha-selector/ha-selector-action.ts b/src/components/ha-selector/ha-selector-action.ts
index 23d93a2a29..1e96086796 100644
--- a/src/components/ha-selector/ha-selector-action.ts
+++ b/src/components/ha-selector/ha-selector-action.ts
@@ -4,7 +4,7 @@ import memoizeOne from "memoize-one";
import { Action, migrateAutomationAction } from "../../data/script";
import { ActionSelector } from "../../data/selector";
import "../../panels/config/automation/action/ha-automation-action";
-import { HomeAssistant } from "../../types";
+import { HomeAssistant, ItemPath } from "../../types";
@customElement("ha-selector-action")
export class HaActionSelector extends LitElement {
@@ -18,19 +18,22 @@ export class HaActionSelector extends LitElement {
@property({ type: Boolean, reflect: true }) public disabled = false;
- private _actions = memoizeOne((action: Action | undefined) => {
- if (!action) {
- return [];
+ // Add path here to ignore memoize if the path changes
+ private _actions = memoizeOne(
+ (action: Action | undefined, _path?: ItemPath) => {
+ if (!action) {
+ return [];
+ }
+ return migrateAutomationAction(action);
}
- return migrateAutomationAction(action);
- });
+ );
protected render() {
return html`
${this.label ? html`` : nothing}
diff --git a/src/components/ha-selector/ha-selector-trigger.ts b/src/components/ha-selector/ha-selector-trigger.ts
index 0974a31702..2bddf4ffd9 100644
--- a/src/components/ha-selector/ha-selector-trigger.ts
+++ b/src/components/ha-selector/ha-selector-trigger.ts
@@ -4,7 +4,7 @@ import memoizeOne from "memoize-one";
import { migrateAutomationTrigger, Trigger } from "../../data/automation";
import { TriggerSelector } from "../../data/selector";
import "../../panels/config/automation/trigger/ha-automation-trigger";
-import { HomeAssistant } from "../../types";
+import { HomeAssistant, ItemPath } from "../../types";
@customElement("ha-selector-trigger")
export class HaTriggerSelector extends LitElement {
@@ -18,19 +18,22 @@ export class HaTriggerSelector extends LitElement {
@property({ type: Boolean, reflect: true }) public disabled = false;
- private _triggers = memoizeOne((trigger: Trigger | undefined) => {
- if (!trigger) {
- return [];
+ // Add path here to ignore memoize if the path changes
+ private _triggers = memoizeOne(
+ (trigger: Trigger | undefined, _path?: ItemPath) => {
+ if (!trigger) {
+ return [];
+ }
+ return migrateAutomationTrigger(trigger);
}
- return migrateAutomationTrigger(trigger);
- });
+ );
protected render() {
return html`
${this.label ? html`` : nothing}