From 3c072890771583a2a5647aff0c3a3e4499da3c2c Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Fri, 6 Jun 2025 09:10:10 -0700 Subject: [PATCH] Handle shorthand template conditions in trace (#25705) --- src/data/automation_i18n.ts | 7 +++++++ src/data/script.ts | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 95ff1160d5..89a52c1002 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -26,6 +26,7 @@ import { import type { EntityRegistryEntry } from "./entity_registry"; import type { FrontendLocaleData } from "./translation"; import { isTriggerList } from "./trigger"; +import { hasTemplate } from "../common/string/has-template"; const triggerTranslationBaseKey = "ui.panel.config.automation.editor.triggers.type"; @@ -820,6 +821,12 @@ const tryDescribeCondition = ( entityRegistry: EntityRegistryEntry[], ignoreAlias = false ) => { + if (typeof condition === "string" && hasTemplate(condition)) { + return hass.localize( + `${conditionsTranslationBaseKey}.template.description.full` + ); + } + if (condition.alias && !ignoreAlias) { return condition.alias; } diff --git a/src/data/script.ts b/src/data/script.ts index daf4878409..9faf0b4127 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -29,6 +29,7 @@ import { migrateAutomationTrigger } from "./automation"; import type { BlueprintInput } from "./blueprint"; import { computeObjectId } from "../common/entity/compute_object_id"; import { createSearchParam } from "../common/url/search-params"; +import { hasTemplate } from "../common/string/has-template"; export const MODES = ["single", "restart", "queued", "parallel"] as const; export const MODES_MAX = ["queued", "parallel"] as const; @@ -339,6 +340,9 @@ export const getScriptEditorInitData = () => { export const getActionType = (action: Action): ActionType => { // Check based on config_validation.py#determine_script_action + if (typeof action === "string" && hasTemplate(action)) { + return "check_condition"; + } if ("delay" in action) { return "delay"; }