From a63c30a1a27bd5479327b13f4d9beadf8ada507b Mon Sep 17 00:00:00 2001 From: G Johansson Date: Sat, 5 Jul 2025 15:24:57 +0000 Subject: [PATCH] Add to demo --- homeassistant/components/demo/water_heater.py | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/demo/water_heater.py b/homeassistant/components/demo/water_heater.py index 9e12bb9e1d5..c07c1516267 100644 --- a/homeassistant/components/demo/water_heater.py +++ b/homeassistant/components/demo/water_heater.py @@ -30,11 +30,27 @@ async def async_setup_entry( async_add_entities( [ DemoWaterHeater( - "Demo Water Heater", 119, UnitOfTemperature.FAHRENHEIT, False, "eco", 1 + "Demo Water Heater", + 119, + None, + UnitOfTemperature.FAHRENHEIT, + False, + "eco", + 1, ), DemoWaterHeater( "Demo Water Heater Celsius", 45, + None, + UnitOfTemperature.CELSIUS, + True, + "eco", + 1, + ), + DemoWaterHeater( + "Demo Water Heater Range", + None, + (45, 60), UnitOfTemperature.CELSIUS, True, "eco", @@ -53,7 +69,8 @@ class DemoWaterHeater(WaterHeaterEntity): def __init__( self, name: str, - target_temperature: int, + target_temperature: int | None, + target_temperature_range: tuple[int, int] | None, unit_of_measurement: str, away: bool, current_operation: str, @@ -63,11 +80,21 @@ class DemoWaterHeater(WaterHeaterEntity): self._attr_name = name if target_temperature is not None: self._attr_supported_features |= WaterHeaterEntityFeature.TARGET_TEMPERATURE + if target_temperature_range is not None: + self._attr_supported_features |= ( + WaterHeaterEntityFeature.TARGET_TEMPERATURE_RANGE + ) if away is not None: self._attr_supported_features |= WaterHeaterEntityFeature.AWAY_MODE if current_operation is not None: self._attr_supported_features |= WaterHeaterEntityFeature.OPERATION_MODE self._attr_target_temperature = target_temperature + self._attr_target_temperature_low = ( + target_temperature_range[0] if target_temperature_range else None + ) + self._attr_target_temperature_high = ( + target_temperature_range[1] if target_temperature_range else None + ) self._attr_temperature_unit = unit_of_measurement self._attr_is_away_mode_on = away self._attr_current_operation = current_operation