Skip to main content

Water heater entity

Derive entity platforms from homeassistant.components.water_heater.WaterHeaterEntity

Properties​

tip

Properties should always only return information from memory and not do I/O (like network requests). Implement update() or async_update() to fetch data.

NameTypeDefaultDescription
min_tempfloat110°FThe minimum temperature that can be set.
max_tempfloat140°FThe maximum temperature that can be set.
native_current_temperaturefloatNoneThe current temperature.
native_target_temperaturefloatNoneThe temperature we are trying to reach.
native_target_temperature_highfloatNoneUpper bound of the temperature we are trying to reach.
native_target_temperature_lowfloatNoneLower bound of the temperature we are trying to reach.
target_temperature_stepfloatNoneThe supported step size a target temperature can be increased or decreased, in native_temperature_unit.
native_temperature_unitstrNotImplementedErrorThe unit the entity reports temperatures in. One of UnitOfTemperature.CELSIUS, UnitOfTemperature.FAHRENHEIT, or UnitOfTemperature.KELVIN.
current_operationstringNoneThe current operation mode.
operation_listList[str]NoneList of possible operation modes.
supported_featuresWaterHeaterEntityFeatureWaterHeaterEntityFeature(0) (no features)List of supported features.
is_away_mode_onboolNoneThe current status of away mode.

The allowed operation modes are the states specified in the base component and implementations of the water_heater component cannot differ.

Temperature units​

Temperature properties, including min_temp and max_temp, have to follow the unit defined in native_temperature_unit. The water heater entity converts the temperatures to the unit system configured by the user before writing them to the state machine, and adds a temperature_unit state attribute that holds the unit of the converted temperatures. The temperature_unit state attribute is set by the base class and can't be overridden by integrations.

Temperatures passed to set_temperature are converted to native_temperature_unit before the method is called.

States​

StateDescription
STATE_ECOEnergy efficient mode, provides energy savings and fast heating.
STATE_ELECTRICElectric only mode, uses the most energy.
STATE_PERFORMANCEHigh performance mode.
STATE_HIGH_DEMANDMeet high demands when water heater is undersized.
STATE_HEAT_PUMPSlowest to heat, but uses less energy.
STATE_GASGas only mode, uses the most energy.
STATE_OFFThe water heater is off.

Supported features​

Supported features are defined by using values in the WaterHeaterEntityFeature enum and are combined using the bitwise or (|) operator.

ValueDescription
TARGET_TEMPERATURETemperature can be set
OPERATION_MODEOperation mode can be set
AWAY_MODEAway mode can be set
ON_OFFCan be turned on or off

Methods​

set_temperature or async_set_temperature​

Sets the temperature the water heater should heat water to.

set_operation_modeor async_set_operation_mode​

Sets the operation mode of the water heater. Must be in the operation_list.

turn_away_mode_on or async_turn_away_mode_on​

Set the water heater to away mode.

turn_away_mode_off or async_turn_away_mode_off​

Set the water heater back to the previous operation mode. Turn off away mode.

turn_on or async_turn_on​

Turns the water heater on.

turn_off or async_turn_off​

Turns the water heater off.