---
layout: page
title: "Climate"
description: "Instructions on how to setup climate control devices within Home Assistant."
date: 2016-08-26 19:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category:
- Climate
ha_qa_scale: internal
ha_release: 0.19
---
The `climate` integration is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices.
## {% linkable_title Services %}
### {% linkable_title Climate control services %}
Available services: `climate.set_aux_heat`, `climate.set_away_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_operation_mode`, `climate.set_swing_mode`, `climate.set_hold_mode`, `climate.turn_on`, `climate.turn_off`
Not all climate services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking
**Services**.
### {% linkable_title Service `climate.set_aux_heat` %}
Turn auxiliary heater on/off for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `aux_heat` | no | New value of auxiliary heater.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_aux_heat
data:
entity_id: climate.kitchen
aux_heat: true
```
### {% linkable_title Service `climate.set_away_mode` %}
Set away mode for climate device. The away mode changes the target temperature permanently to a temperature
reflecting a situation where the climate device is set to save energy. This may be used to emulate a
"vacation mode", for example.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `away_mode` | no | New value of away mode.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_away_mode
data:
entity_id: climate.kitchen
away_mode: 'on'
```
### {% linkable_title Service `climate.set_hold_mode` %}
Set hold mode for climate device. The hold mode changes the target temperature of the client device temporarily to
a different temperature. Typical hold modes provided by a climate device are "away" or "home", where the hold temperature
is chosen depending on a predefined climate, or "temperature" hold, where a particular temperature is selected as the
temporary target temperature. The particular modes available depend on the climate device.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `hold_mode` | no | New value of hold mode.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_hold_mode
data:
entity_id: climate.kitchen
hold_mode: 'away'
```
### {% linkable_title Service `climate.set_temperature` %}
Set target temperature of climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `temperature` | no | New target temperature for hvac
| `target_temp_high` | yes | New target high temperature for hvac
| `target_temp_low` | yes | New target low temperature for hvac
| `operation_mode` | yes | Operation mode to set temperature to. This defaults to current_operation mode if not set, or set incorrectly.
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_temperature
data:
entity_id: climate.kitchen
temperature: 24
operation_mode: Heat
```
### {% linkable_title Service `climate.set_humidity` %}
Set target humidity of climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `humidity` | no | New target humidity for climate device
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_humidity
data:
entity_id: climate.kitchen
humidity: 60
```
### {% linkable_title Service `climate.set_fan_mode` %}
Set fan operation for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `fan_mode` | no | New value of fan mode
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_fan_mode
data:
entity_id: climate.kitchen
fan_mode: 'On Low'
```
### {% linkable_title Service `climate.set_operation_mode` %}
Set operation mode for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `operation_mode` | no | New value of operation mode
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_operation_mode
data:
entity_id: climate.kitchen
operation_mode: Heat
```
### {% linkable_title Service `climate.set_swing_mode` %}
Set operation mode for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
| `swing_mode` | no | New value of swing mode
#### {% linkable_title Automation example %}
```yaml
automation:
trigger:
platform: time
at: "07:15:00"
action:
- service: climate.set_swing_mode
data:
entity_id: climate.kitchen
swing_mode: 1
```
### {% linkable_title Service `climate.turn_on` %}
Turn climate device on
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
### {% linkable_title Service `climate.turn_off` %}
Turn climate device off
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.