From 52db1a307b942f6cc141381e3585c3f0e64dc88c Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 03:17:17 +0300 Subject: [PATCH 1/7] add a tooltip for last_triggered --- .../config/automation/ha-automation-picker.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index 3df6243a6d27..d65242cea275 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -35,6 +35,7 @@ import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; +import { slugify } from "../../../common/string/slugify"; import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, @@ -327,14 +328,19 @@ class HaAutomationPicker extends SubscribeMixin(LitElement) { const date = new Date(automation.last_triggered); const now = new Date(); const dayDifference = differenceInDays(now, date); + const formattedTime = formatShortDateTimeWithConditionalYear( + date, + this.hass.locale, + this.hass.config + ); + const elementId = "last-triggered-" + slugify(automation.entity_id); return html` ${dayDifference > 3 - ? formatShortDateTimeWithConditionalYear( - date, - this.hass.locale, - this.hass.config - ) - : relativeTime(date, locale)} + ? formattedTime + : html` + ${formattedTime} + ${relativeTime(date, locale)} + `} `; }, }, From 807155bd644d8fc23defd07c50b22b9948de34cc Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 03:20:25 +0300 Subject: [PATCH 2/7] add a tooltip for last_triggered --- src/panels/config/script/ha-script-picker.ts | 27 +++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index 9a7701c6439f..d0e04da0da73 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -33,6 +33,7 @@ import type { HASSDomEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; +import { slugify } from "../../../common/string/slugify"; import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, @@ -302,19 +303,27 @@ class HaScriptPicker extends SubscribeMixin(LitElement) { sortable: true, title: localize("ui.card.automation.last_triggered"), template: (script) => { + if (!script.last_triggered) { + return this.hass.localize("ui.components.relative_time.never"); + } const date = new Date(script.last_triggered); const now = new Date(); const dayDifference = differenceInDays(now, date); + const formattedTime = formatShortDateTimeWithConditionalYear( + date, + this.hass.locale, + this.hass.config + ); + const elementId = "last-triggered-" + slugify(script.entity_id); return html` - ${script.last_triggered - ? dayDifference > 3 - ? formatShortDateTimeWithConditionalYear( - date, - this.hass.locale, - this.hass.config - ) - : relativeTime(date, this.hass.locale) - : this.hass.localize("ui.components.relative_time.never")} + ${dayDifference > 3 + ? formattedTime + : html` + ${formattedTime} + ${relativeTime(date, this.hass.locale)} + `} `; }, }, From 7ed324ad4916aa1e1183e9d379a959db7870abe8 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 03:24:30 +0300 Subject: [PATCH 3/7] add a tooltip for last_activated --- src/panels/config/scene/ha-scene-dashboard.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index 87b90b184f19..3f54225ec842 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -24,7 +24,7 @@ import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; import { computeCssColor } from "../../../common/color/compute-color"; -import { formatShortDateTime } from "../../../common/datetime/format_date_time"; +import { formatShortDateTimeWithConditionalYear } from "../../../common/datetime/format_date_time"; import { relativeTime } from "../../../common/datetime/relative_time"; import { storage } from "../../../common/decorators/storage"; import type { HASSDomEvent } from "../../../common/dom/fire_event"; @@ -301,10 +301,21 @@ class HaSceneDashboard extends SubscribeMixin(LitElement) { const date = new Date(scene.state); const now = new Date(); const dayDifference = differenceInDays(now, date); + const formattedTime = formatShortDateTimeWithConditionalYear( + date, + this.hass.locale, + this.hass.config + ); + const elementId = "last-activated-" + slugify(scene.entity_id); return html` ${dayDifference > 3 - ? formatShortDateTime(date, this.hass.locale, this.hass.config) - : relativeTime(date, this.hass.locale)} + ? formattedTime + : html` + ${formattedTime} + ${relativeTime(date, this.hass.locale)} + `} `; }, }, From c31109dabf1a996b039193063d5fc4f2145c09d3 Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Thu, 27 Nov 2025 10:47:01 +0200 Subject: [PATCH 4/7] Apply suggestions from code review --- src/panels/config/automation/ha-automation-picker.ts | 3 ++- src/panels/config/scene/ha-scene-dashboard.ts | 2 +- src/panels/config/script/ha-script-picker.ts | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index d65242cea275..484a93ae8a00 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -36,6 +36,7 @@ import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; import { slugify } from "../../../common/string/slugify"; +import "../../../components/ha-tooltip"; import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, @@ -339,7 +340,7 @@ class HaAutomationPicker extends SubscribeMixin(LitElement) { ? formattedTime : html` ${formattedTime} - ${relativeTime(date, locale)} + ${relativeTime(date, locale)} `} `; }, diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index 3f54225ec842..a643664a5f49 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -312,7 +312,7 @@ class HaSceneDashboard extends SubscribeMixin(LitElement) { ? formattedTime : html` ${formattedTime} - ${relativeTime(date, this.hass.locale)} `} diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index d0e04da0da73..3f7cc5e366c9 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -34,6 +34,7 @@ import { fireEvent } from "../../../common/dom/fire_event"; import { computeStateName } from "../../../common/entity/compute_state_name"; import { navigate } from "../../../common/navigate"; import { slugify } from "../../../common/string/slugify"; +import "../../../components/ha-tooltip"; import type { LocalizeFunc } from "../../../common/translations/localize"; import { hasRejectedItems, @@ -320,7 +321,7 @@ class HaScriptPicker extends SubscribeMixin(LitElement) { ? formattedTime : html` ${formattedTime} - ${relativeTime(date, this.hass.locale)} `} From 9ba1f42f68aa4a5aa11b96288d55c5495dbcc7d9 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 19:38:01 +0300 Subject: [PATCH 5/7] Apply suggestion from @MindFreeze Co-authored-by: Petar Petrov --- src/panels/config/script/ha-script-picker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index 3f7cc5e366c9..e371da6329ef 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -320,7 +320,7 @@ class HaScriptPicker extends SubscribeMixin(LitElement) { ${dayDifference > 3 ? formattedTime : html` - ${formattedTime} + ${formattedTime} ${relativeTime(date, this.hass.locale)} From 5df607ed248357b2c5239c63e703ce344178d4f3 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 19:38:27 +0300 Subject: [PATCH 6/7] Apply suggestion from @MindFreeze Co-authored-by: Petar Petrov --- src/panels/config/scene/ha-scene-dashboard.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index a643664a5f49..454caec63048 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -311,7 +311,7 @@ class HaSceneDashboard extends SubscribeMixin(LitElement) { ${dayDifference > 3 ? formattedTime : html` - ${formattedTime} + ${formattedTime} ${relativeTime(date, this.hass.locale)} From b2d152bdc7fbfdee5ec40f60a54038fc603afb30 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Thu, 27 Nov 2025 19:40:01 +0300 Subject: [PATCH 7/7] Apply suggestion from @MindFreeze Co-authored-by: Petar Petrov --- src/panels/config/automation/ha-automation-picker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index 484a93ae8a00..6e39c9d20caf 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -339,7 +339,7 @@ class HaAutomationPicker extends SubscribeMixin(LitElement) { ${dayDifference > 3 ? formattedTime : html` - ${formattedTime} + ${formattedTime} ${relativeTime(date, locale)} `} `;