From c68bcc5b324327ae7cb7d10260efcb3dcb980918 Mon Sep 17 00:00:00 2001 From: ildar170975 <71872483+ildar170975@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:09:43 +0300 Subject: [PATCH] Entity card: fix unit for monetary (#29406) * fix unit for monetary * fix for span * formatEntityStateToParts() does not return "order" * get unit from formatEntityStateToParts() * resolving conflicts * resolving conflicts * some styling --- src/components/entity/ha-state-label-badge.ts | 6 +++++- src/panels/lovelace/cards/hui-entity-card.ts | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/entity/ha-state-label-badge.ts b/src/components/entity/ha-state-label-badge.ts index d934f85f0a..b11617184f 100644 --- a/src/components/entity/ha-state-label-badge.ts +++ b/src/components/entity/ha-state-label-badge.ts @@ -224,7 +224,11 @@ export class HaStateLabelBadge extends LitElement { if (domain === "timer") { return secondsToDuration(_timerTimeRemaining); } - return entityState.attributes.unit_of_measurement || null; + return ( + this.hass!.formatEntityStateToParts(entityState).find( + (part) => part.type === "unit" + )?.value || null + ); } private _clearInterval() { diff --git a/src/panels/lovelace/cards/hui-entity-card.ts b/src/panels/lovelace/cards/hui-entity-card.ts index 899956bb1c..d08458068e 100644 --- a/src/panels/lovelace/cards/hui-entity-card.ts +++ b/src/panels/lovelace/cards/hui-entity-card.ts @@ -130,9 +130,9 @@ export class HuiEntityCard extends LitElement implements LovelaceCard { ) { unit = this._config.unit; if (!unit) { - if (!this._config.attribute) - unit = stateObj.attributes.unit_of_measurement; - else { + if (!this._config.attribute) { + unit = stateParts.find((part) => part.type === "unit")?.value; + } else { const parts = this.hass.formatEntityAttributeValueToParts( stateObj, this._config.attribute