Deprecate aux heater in Climate Entity (#2109)

* Deprecate aux heater

* Update blog/2024-03-10-climate-aux-heater-deprecated.md

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
This commit is contained in:
G Johansson 2024-03-21 10:02:19 +01:00 committed by GitHub
parent 855ab37c5b
commit 25a224c42e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 23 deletions

View File

@ -0,0 +1,11 @@
---
author: G Johansson
authorURL: https://github.com/gjohansson-ST
title: "Climate entity auxiliary heater is deprecated"
---
As of Home Assistant Core 2024.4 we have deprecated the auxiliary heater functionality in `ClimateEntity`.
Integrations that are currently implementing the `is_aux_heat` property and the `turn_aux_heat_on`/`turn_aux_heat_off` methods need to remove these and alternatively implement other entities to accommodate the necessary functionality such as a `SwitchEntity` or in the case of a read-only property a `BinarySensorEntity`.
You can read more about this decision [here](https://github.com/home-assistant/architecture/discussions/932).

View File

@ -20,7 +20,6 @@ Properties should always only return information from memory and not do I/O (lik
| hvac_action | <code>HVACAction &#124; None</code> | `None` | The current HVAC action (heating, cooling) |
| hvac_mode | <code>HVACMode &#124; None</code> | **Required** | The current operation (e.g. heat, cool, idle). Used to determine `state`. |
| hvac_modes | <code>list[HVACMode]</code> | **Required** | List of available operation modes. See below. |
| is_aux_heat | <code>int &#124; None</code> | **Required by SUPPORT_AUX_HEAT** | True if an auxiliary heater is on. |
| max_humidity | `int` | `DEFAULT_MAX_HUMIDITY` (value == 99) | The maximum humidity. |
| max_temp | `float` | `DEFAULT_MAX_TEMP` (value == 35 °C) | The maximum temperature in `temperature_unit`. |
| min_humidity | `int` | `DEFAULT_MIN_HUMIDITY` (value == 30) | The minimum humidity. |
@ -123,7 +122,6 @@ and are combined using the bitwise or (`|`) operator.
| `FAN_MODE` | The device supports fan modes. |
| `PRESET_MODE` | The device supports presets. |
| `SWING_MODE` | The device supports swing modes. |
| `AUX_HEAT` | The device supports auxiliary heaters. |
| `TURN_ON` | The device supports turn on. |
| `TURN_OFF` | The device supports turn off. |
@ -254,24 +252,3 @@ class MyClimateEntity(ClimateEntity):
async def async_set_temperature(self, **kwargs):
"""Set new target temperature."""
```
### Control auxiliary heater
```python
class MyClimateEntity(ClimateEntity):
# Implement one of these methods.
def turn_aux_heat_on(self):
"""Turn auxiliary heater on."""
async def async_turn_aux_heat_on(self):
"""Turn auxiliary heater on."""
# Implement one of these methods.
def turn_aux_heat_off(self):
"""Turn auxiliary heater off."""
async def async_turn_aux_heat_off(self):
"""Turn auxiliary heater off."""
```