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