--- 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 service developer tool icon **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.