From e86c6f96cbd81900aaf07f8159533bb8fcc6a4ef Mon Sep 17 00:00:00 2001 From: G Johansson Date: Mon, 7 Jul 2025 18:42:01 +0000 Subject: [PATCH 1/6] Add target temp range to water heater --- ...er-heater-now-supports-set-a-temp-range.md | 33 +++++++++++++++++++ docs/core/entity/water-heater.md | 15 +++++---- 2 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md diff --git a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md new file mode 100644 index 00000000000..59c032f8f77 --- /dev/null +++ b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md @@ -0,0 +1,33 @@ +--- +author: G Johansson +authorURL: https://github.com/gjohansson-ST +authorImageURL: https://avatars.githubusercontent.com/u/62932417?v=4 +authorTwitter: GJohansson +title: "Water heater now supports setting a temperature range" +--- + +As of Home Assistant Core 2025.8, the `WaterHeaterEntity` now also supports setting a temperature range in addition to only setting a temperature. + +Entities needs to set the `TARGET_TEMPERATURE_RANGE` supported feature to enable use of setting a target temperature range. + +```python + +from homeassistant.components.water_heater import WaterHeaterEntity, WaterHeaterEntityFeature + +class MyWaterHeater(WaterHeaterEntity): + """My water heater.""" + + @property + def supported_features(self) -> WaterHeaterEntityFeature: + """Return the supported features.""" + return WaterHeaterEntityFeature.TARGET_TEMPERATURE_RANGE + + async def async_set_temperature(self, **kwargs: Any) -> None: + """Set new target temperature.""" + min_temp = kwargs[ATTR_TARGET_TEMP_LOW] + max_temp = kwargs[ATTR_TARGET_TEMP_HIGH] + self.my_device.set_temperature(min_tenp, max_temp) + +``` + +More details can be found in the [water_heater documentation](/docs/core/entity/water-heater#supported-features). diff --git a/docs/core/entity/water-heater.md b/docs/core/entity/water-heater.md index 77a8af5d565..b96c193681f 100644 --- a/docs/core/entity/water-heater.md +++ b/docs/core/entity/water-heater.md @@ -47,18 +47,19 @@ Properties have to follow the units defined in the `temperature_unit`. Supported features are defined by using values in the `WaterHeaterEntityFeature` enum and are combined using the bitwise or (`|`) operator. -| Value | Description | -| -------------------- | ------------------------- | -| `TARGET_TEMPERATURE` | Temperature can be set | -| `OPERATION_MODE` | Operation mode can be set | -| `AWAY_MODE` | Away mode can be set | -| `ON_OFF` | Can be turned on or off | +| Value | Description | +| --------------------------- | ------------------------------ | +| `TARGET_TEMPERATURE` | Temperature can be set | +| `OPERATION_MODE` | Operation mode can be set | +| `AWAY_MODE` | Away mode can be set | +| `ON_OFF` | Can be turned on or off | +| `TARGET_TEMPERATURE_RANGE` | Temperature range can be set | ## Methods ### `set_temperature` or `async_set_temperature` -Sets the temperature the water heater should heat water to. +Sets the temperature or temperature range the water heater should heat water to. ### `set_operation_mode`or `async_set_operation_mode` From 4af141208cfc8a693baf2f79d5245ab2cdbd3886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 22 Nov 2025 18:13:30 +0100 Subject: [PATCH 2/6] Fix table formatting in water-heater documentation --- docs/core/entity/water-heater.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/core/entity/water-heater.md b/docs/core/entity/water-heater.md index b96c193681f..8ce96935504 100644 --- a/docs/core/entity/water-heater.md +++ b/docs/core/entity/water-heater.md @@ -47,13 +47,13 @@ Properties have to follow the units defined in the `temperature_unit`. Supported features are defined by using values in the `WaterHeaterEntityFeature` enum and are combined using the bitwise or (`|`) operator. -| Value | Description | -| --------------------------- | ------------------------------ | -| `TARGET_TEMPERATURE` | Temperature can be set | -| `OPERATION_MODE` | Operation mode can be set | -| `AWAY_MODE` | Away mode can be set | -| `ON_OFF` | Can be turned on or off | -| `TARGET_TEMPERATURE_RANGE` | Temperature range can be set | +| Value | Description +| --------------------------- | ---------------------------- +| `TARGET_TEMPERATURE` | Temperature can be set +| `OPERATION_MODE` | Operation mode can be set +| `AWAY_MODE` | Away mode can be set +| `ON_OFF` | Can be turned on or off +| `TARGET_TEMPERATURE_RANGE` | Temperature range can be set ## Methods From 72b2f8b3a56e2add7f683f0c7da4e59fdd82ced8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 22 Nov 2025 18:25:34 +0100 Subject: [PATCH 3/6] Fix typo in temperature setting method --- blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md index 59c032f8f77..92d405bc8f6 100644 --- a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md +++ b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md @@ -26,7 +26,7 @@ class MyWaterHeater(WaterHeaterEntity): """Set new target temperature.""" min_temp = kwargs[ATTR_TARGET_TEMP_LOW] max_temp = kwargs[ATTR_TARGET_TEMP_HIGH] - self.my_device.set_temperature(min_tenp, max_temp) + self.my_device.set_temperature(min_temp, max_temp) ``` From 879dc73dd46692d636d0d94398db353e19ce9f82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 22 Nov 2025 18:27:43 +0100 Subject: [PATCH 4/6] Document support for setting temperature range Added example code for setting a target temperature range in water heater. --- ...7-07-water-heater-now-supports-set-a-temp-range.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md index 92d405bc8f6..c6ad0345739 100644 --- a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md +++ b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md @@ -11,8 +11,15 @@ As of Home Assistant Core 2025.8, the `WaterHeaterEntity` now also supports sett Entities needs to set the `TARGET_TEMPERATURE_RANGE` supported feature to enable use of setting a target temperature range. ```python - -from homeassistant.components.water_heater import WaterHeaterEntity, WaterHeaterEntityFeature +from typing import Any +from homeassistant.components.water_heater import ( + WaterHeaterEntity, + WaterHeaterEntityFeature, +) +from homeassistant.components.water_heater.const import ( + ATTR_TARGET_TEMP_LOW, + ATTR_TARGET_TEMP_HIGH, +) class MyWaterHeater(WaterHeaterEntity): """My water heater.""" From b934e515a5feac49740ca7b1f52ae4b5d03908d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 22 Nov 2025 18:27:58 +0100 Subject: [PATCH 5/6] Update release version for WaterHeaterEntity feature Updated the release version for temperature range support in WaterHeaterEntity. --- blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md index c6ad0345739..2472ef7ca87 100644 --- a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md +++ b/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md @@ -6,7 +6,7 @@ authorTwitter: GJohansson title: "Water heater now supports setting a temperature range" --- -As of Home Assistant Core 2025.8, the `WaterHeaterEntity` now also supports setting a temperature range in addition to only setting a temperature. +As of Home Assistant Core 2025.12, the `WaterHeaterEntity` now also supports setting a temperature range in addition to only setting a temperature. Entities needs to set the `TARGET_TEMPERATURE_RANGE` supported feature to enable use of setting a target temperature range. From 72ac91b98c64ac58dc3f7ada09e30e21f450808b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 22 Nov 2025 21:46:54 +0100 Subject: [PATCH 6/6] Add blog post for water heater temperature range feature --- ...d => 2025-12-01-water-heater-now-supports-set-a-temp-range.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/{2025-07-07-water-heater-now-supports-set-a-temp-range.md => 2025-12-01-water-heater-now-supports-set-a-temp-range.md} (100%) diff --git a/blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md b/blog/2025-12-01-water-heater-now-supports-set-a-temp-range.md similarity index 100% rename from blog/2025-07-07-water-heater-now-supports-set-a-temp-range.md rename to blog/2025-12-01-water-heater-now-supports-set-a-temp-range.md