From 6b3f807129beafd19e26b8d63382d834b05deb90 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 1 Apr 2025 12:18:04 +0200 Subject: [PATCH] Developer tools action fixes (#24876) --- .../action/developer-tools-action.ts | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/panels/developer-tools/action/developer-tools-action.ts b/src/panels/developer-tools/action/developer-tools-action.ts index de909e652f..83cf76526f 100644 --- a/src/panels/developer-tools/action/developer-tools-action.ts +++ b/src/panels/developer-tools/action/developer-tools-action.ts @@ -511,7 +511,20 @@ class HaPanelDevAction extends LitElement { return; } this._yamlValid = true; - this._serviceDataChanged(ev); + + if (typeof ev.detail.value !== "object") { + return; + } + + if (this._serviceData?.action !== ev.detail.value.action) { + this._error = undefined; + } + + this._serviceData = migrateAutomationAction( + ev.detail.value + ) as ServiceAction; + + this._checkUiSupported(); } private _checkUiSupported() { @@ -547,18 +560,18 @@ class HaPanelDevAction extends LitElement { if (this._serviceData?.action !== ev.detail.value.action) { this._error = undefined; } - this._serviceData = migrateAutomationAction( - ev.detail.value - ) as ServiceAction; + this._serviceData = ev.detail.value; this._checkUiSupported(); } private _serviceChanged(ev) { ev.stopPropagation(); - this._serviceData = { action: ev.detail.value || "", data: {} }; + if (ev.detail.value) { + this._serviceData = { action: ev.detail.value, data: {} }; + this._yamlEditor?.setValue(this._serviceData); + } this._response = undefined; this._error = undefined; - this._yamlEditor?.setValue(this._serviceData); this._checkUiSupported(); }