--- title: Water Heater description: Instructions on how to setup water heater devices within Home Assistant. ha_release: 0.81 ha_domain: water_heater ha_quality_scale: internal ha_category: [] ha_codeowners: - '@home-assistant/core' ha_integration_type: entity --- The `water_heater` integration is built for the controlling and monitoring of hot water heaters. To enable this component, pick one of the platforms, and add it to your `configuration.yaml`: ```yaml # Example configuration.yaml entry water_heater: platform: demo ``` ## Services ### Water heater control services Available services: `water_heater.set_temperature`, `water_heater.turn_away_mode_on`, `water_heater.turn_away_mode_off`, `water_heater.set_operation_mode`
Not all water heater services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking **Developer Tools** -> **Services**.
### Service `water_heater.set_temperature` Sets target temperature of water heater device. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s 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. #### Automation example ```yaml automation: trigger: platform: time at: "07:15:00" action: - service: water_heater.set_temperature target: entity_id: water_heater.demo data: temperature: 24 operation_mode: eco ``` ### Service `water_heater.set_operation_mode` Set operation mode for water heater device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of water heater devices to control. Use `entity_id: all` to target all. | `operation_mode` | no | New value of operation mode #### Automation example ```yaml automation: trigger: platform: time at: "07:15:00" action: - service: water_heater.set_operation_mode target: entity_id: water_heater.demo data: operation_mode: eco ``` ### Service `water_heater.set_away_mode` Turn away mode on or off for water heater device | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s 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 ```yaml automation: trigger: platform: time at: "07:15:00" action: - service: water_heater.set_away_mode target: entity_id: water_heater.demo data: away_mode: true ```