---
title: Water Heater Entity
sidebar_label: Water Heater
id: version-0.80.0-entity_water_heater
original_id: entity_water_heater
---

## Properties

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

| Name | Type | Default | Description
| ---- | ---- | ------- | -----------
| min_temp | float | 110°F | The minimum temperature that can be set.
| max_temp | float | 140°F | The maximum temperature that can be set.
| temperature | float | none | The current temperature in °C or °F.
| operation_mode | string | none | The current operation mode.
| operation_list | list | none | List of possible operation modes.
| away_mode | string | none | The current status of away mode. (on, off)

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

Properties have to follow the units defined in the `unit_system`.

## States
| State | Description
| ----- | -----------
| `STATE_ECO` | Energy efficient mode, provides energy savings and fast heating.
| `STATE_ELECTRIC` | Electric only mode, uses the most energy.
| `STATE_PERFORMANCE` | High performance mode.
| `STATE_HIGH_DEMAND` | Meet high demands when water heater is undersized.
| `STATE_HEAT_PUMP` | Slowest to heat, but uses less energy.
| `STATE_GAS` | Gas only mode, uses the most energy.
| `STATE_OFF` | The water heater is off.

## Methods
### `set_temperature` or `async_set_temperature`
Sets the temperature the water heater should heat water to.

### `set_operation_mode`or `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.
