Water heater

The Water heater integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] is built for the controlling and monitoring of hot water heaters.

To enable this integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more], pick one of the platforms, and add it to your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more]:

# Example configuration.yaml entry
water_heater:
  platform: demo

The state of a water heater entity

A water heater entity can have the following states:

  • Eco: Energy efficient mode, provides energy savings and fast heating.
  • Electric: Electric only mode. This mode uses the most energy.
  • Performance: High performance mode.
  • High demand: Meet high demands when the water heater is undersized.
  • Heat pump: Heat pump is the slowest to heat, but it uses less energy.
  • Gas: Gas only mode. This mode uses the most energy.
  • Off: The water heater is off.
  • Unavailable: The entity is currently unavailable.
  • Unknown: The state is not yet known.

Actions

Water heater control actions

Available actions: water_heater.set_temperature, water_heater.turn_away_mode_on, water_heater.turn_away_mode_off, water_heater.set_operation_mode, water_heater.turn_on, water_heater.turn_off

Tip

Not all water heater actions may be available for your platform. Be sure to check the available actions Home Assistant has enabled by checking Developer Tools > Actions.

Action water_heater.set_temperature

Sets target temperature of water heater device.

Data attribute Optional Description
entity_id yes String or list of strings that point at the entity_id of water heater devices to control. Use entity_id: all to target all.
temperature no New target temperature for water heater
operation_mode yes Operation mode to set the temperature to. This defaults to current_operation mode if not set, or set incorrectly. For a list of possible modes, refer to the integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] documentation.

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: water_heater.set_temperature
      target:
        entity_id: water_heater.demo
      data:
        temperature: 24
        operation_mode: eco

Action water_heater.set_operation_mode

Set operation mode for water heater device

Data attribute Optional Description
entity_id yes String or list of strings that point at the entity_id of water heater devices to control. Use entity_id: all to target all.
operation_mode no New value of operation mode. For a list of possible modes, refer to the integration documentation.

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: water_heater.set_operation_mode
      target:
        entity_id: water_heater.demo
      data:
        operation_mode: eco

Action water_heater.set_away_mode

Turn away mode on or off for water heater device

Data attribute Optional Description
entity_id yes String or list of strings that point at the entity_id of water heater devices to control. Use entity_id: all to target all.
away_mode no New value of away mode. ‘on’/‘off’ or True/False

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: water_heater.set_away_mode
      target:
        entity_id: water_heater.demo
      data:
        away_mode: true

Action water_heater.turn_on

Turn water heater device on.

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of water heater device(s) to control. To target all water heater devices, use all.

Action water_heater.turn_off

Turn water heater device off.

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of water heater device(s) to control. To target all water heater devices, use all.