diff --git a/src/state-control/climate/ha-state-control-climate-temperature.ts b/src/state-control/climate/ha-state-control-climate-temperature.ts
index 7634fd2f2d18..0264af5ec7b3 100644
--- a/src/state-control/climate/ha-state-control-climate-temperature.ts
+++ b/src/state-control/climate/ha-state-control-climate-temperature.ts
@@ -177,11 +177,20 @@ export class HaStateControlClimateTemperature extends LitElement {
const action = this.stateObj.attributes.hvac_action;
+ const isTemperatureDisplayed =
+ (this.stateObj.attributes.current_temperature != null &&
+ this.showCurrentAsPrimary) ||
+ ((this._supportsTargetTemperature ||
+ this._supportsTargetTemperatureRange) &&
+ !this.showCurrentAsPrimary);
+
return html`
- ${action
+ ${action && action !== "off"
? this.hass.formatEntityAttributeValue(this.stateObj, "hvac_action")
- : this.hass.formatEntityState(this.stateObj)}
+ : isTemperatureDisplayed
+ ? this.hass.formatEntityState(this.stateObj)
+ : nothing}
`;
}
@@ -315,6 +324,14 @@ export class HaStateControlClimateTemperature extends LitElement {
`;
}
+ if (this.stateObj.state !== UNAVAILABLE) {
+ return html`
+
+ ${this.hass.formatEntityState(this.stateObj)}
+
+ `;
+ }
+
return nothing;
}
@@ -373,6 +390,14 @@ export class HaStateControlClimateTemperature extends LitElement {
return html``;
}
+ private _renderInfo() {
+ return html`
+
+ ${this._renderLabel()}${this._renderPrimary()}${this._renderSecondary()}
+
+ `;
+ }
+
get _supportsTargetTemperature() {
return (
supportsFeature(this.stateObj, ClimateEntityFeature.TARGET_TEMPERATURE) &&
@@ -447,10 +472,7 @@ export class HaStateControlClimateTemperature extends LitElement {
@value-changing=${this._valueChanging}
>
-
- ${this._renderLabel()}${this._renderPrimary()}${this._renderSecondary()}
-
- ${this._renderTemperatureButtons("value")}
+ ${this._renderInfo()} ${this._renderTemperatureButtons("value")}
`;
}
@@ -484,9 +506,7 @@ export class HaStateControlClimateTemperature extends LitElement {
@high-changing=${this._valueChanging}
>
-
- ${this._renderLabel()}${this._renderPrimary()}${this._renderSecondary()}
-
+ ${this._renderInfo()}
${this._renderTemperatureButtons(this._selectTargetTemperature, true)}
`;
@@ -497,6 +517,7 @@ export class HaStateControlClimateTemperature extends LitElement {
class="container${containerSizeClass}"
style=${styleMap({
"--state-color": stateColor,
+ "--action-color": actionColor,
})}
>
-
- ${this._renderLabel()} ${this._renderSecondary()}
-
+ ${this._renderInfo()}
`;
}
diff --git a/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts b/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts
index 6078180cd849..459e8d611730 100644
--- a/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts
+++ b/src/state-control/humidifier/ha-state-control-humidifier-humidity.ts
@@ -105,11 +105,18 @@ export class HaStateControlHumidifierHumidity extends LitElement {
const action = this.stateObj.attributes.action;
+ const isHumidityDisplayed =
+ (this.stateObj.attributes.current_humidity != null &&
+ this.showCurrentAsPrimary) ||
+ (this._targetHumidity != null && !this.showCurrentAsPrimary);
+
return html`
- ${action
+ ${action && action !== "off"
? this.hass.formatEntityAttributeValue(this.stateObj, "action")
- : this.hass.formatEntityState(this.stateObj)}
+ : isHumidityDisplayed
+ ? this.hass.formatEntityState(this.stateObj)
+ : nothing}
`;
}
@@ -144,6 +151,14 @@ export class HaStateControlHumidifierHumidity extends LitElement {
return this._renderTarget(this._targetHumidity!, "big");
}
+ if (this.stateObj.state !== UNAVAILABLE) {
+ return html`
+
+ ${this.hass.formatEntityState(this.stateObj)}
+
+ `;
+ }
+
return nothing;
}
@@ -225,6 +240,14 @@ export class HaStateControlHumidifierHumidity extends LitElement {
`;
}
+ private _renderInfo() {
+ return html`
+
+ ${this._renderLabel()}${this._renderPrimary()}${this._renderSecondary()}
+
+ `;
+ }
+
protected render() {
const stateColor = stateColorCss(this.stateObj);
const active = stateActive(this.stateObj);
@@ -272,10 +295,7 @@ export class HaStateControlHumidifierHumidity extends LitElement {
@value-changing=${this._valueChanging}
>
-
- ${this._renderLabel()}${this._renderPrimary()}${this._renderSecondary()}
-
- ${this._renderButtons()}
+ ${this._renderInfo()} ${this._renderButtons()}
`;
}
@@ -284,6 +304,7 @@ export class HaStateControlHumidifierHumidity extends LitElement {
@@ -296,9 +317,7 @@ export class HaStateControlHumidifierHumidity extends LitElement {
disabled
>
-
- ${this._renderLabel()} ${this._renderSecondary()}
-
+ ${this._renderInfo()}
`;
}
diff --git a/src/state-control/state-control-circular-slider-style.ts b/src/state-control/state-control-circular-slider-style.ts
index cc1c9366d7e9..b5d4d5281a03 100644
--- a/src/state-control/state-control-circular-slider-style.ts
+++ b/src/state-control/state-control-circular-slider-style.ts
@@ -54,7 +54,6 @@ export const stateControlCircularSliderStyle = css`
.label.disabled {
color: var(--secondary-text-color);
}
-
.buttons {
position: absolute;
bottom: 10px;
@@ -67,6 +66,9 @@ export const stateControlCircularSliderStyle = css`
align-items: center;
justify-content: center;
}
+ .primary-state {
+ font-size: 36px;
+ }
.buttons ha-outlined-icon-button {
--md-outlined-icon-button-container-width: 48px;
@@ -77,6 +79,9 @@ export const stateControlCircularSliderStyle = css`
.container.md ha-big-number {
font-size: 44px;
}
+ .container.md .state {
+ font-size: 30px;
+ }
.container.md .info {
margin-top: 12px;
gap: 6px;
@@ -91,6 +96,9 @@ export const stateControlCircularSliderStyle = css`
.container.sm ha-big-number {
font-size: 32px;
}
+ .container.sm .state {
+ font-size: 26px;
+ }
.container.sm .info {
margin-top: 12px;
font-size: 14px;
@@ -107,6 +115,9 @@ export const stateControlCircularSliderStyle = css`
.container.xs ha-big-number {
font-size: 32px;
}
+ .container.xs .state {
+ font-size: 16px;
+ }
.container.xs .info {
margin-top: 12px;
}