The Template integration in Home Assistant is getting a new platform: water_heater. The change was merged on 22 October 2026, and its documentation went into the next branch two days later, which puts it on track for Home Assistant 2026.11. It fills a gap that hot water owners know well. A boiler driven by a relay, an ESPHome board or a heat pump integration that exposes loose sensors and switches could not be shown as a proper water heater entity unless an integration created one.

How it works

The platform is modelled on the existing template climate platform. You describe the device's state with templates and say which actions to run when someone changes a setting:

  • operation_list is a template that returns the list of operation modes, such as eco, electric or heat_pump, and is required,
  • operation_mode reads the current mode, and set_operation_mode is the required action that receives the chosen mode in the operation_mode variable,
  • current_temperature and target_temperature read the temperatures, and set_temperature receives the requested temperature,
  • away_mode with turn_away_mode_on and turn_away_mode_off handles away mode,
  • turn_on and turn_off cover switching the heater on and off,
  • min_temperature, max_temperature, target_temperature_step and temperature_unit set the limits, step and unit.

If you skip operation_mode, the entity works optimistically and simply assumes the last mode you picked. The optimistic option controls this explicitly.

In the UI or in YAML

Like the other template entities, the water heater can be created in YAML or as a helper in the UI, under Settings > Devices & services > Helpers. In the UI the away mode actions, availability and temperature limits sit under Additional options. The new helper can also be attached to an existing device, so the water heater entity can sit on the same device as the ESPHome relay that switches the boiler.

The documentation's YAML example is short: a boiler with eco and electric modes, where the mode is stored in an input_select and the temperature comes from an existing sensor. In a real setup set_operation_mode would instead switch a relay or call a heat pump action.

What it changes in practice

The water heater entity comes with a standard card and standard actions. Until now, building one on top of your own hardware meant writing a custom integration. From 2026.11 a few lines of templates should be enough. That helps anyone who heats water with a relay-switched immersion heater and wants to drive it from tariffs or solar surplus.