Climate

The Climate integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.

Note

Building block integration

This climate is a building block integration that cannot be added to your Home Assistant directly but is used and provided by other integrations.

A building block integration differs from the typical integration that connects to a device or service. Instead, other integrations that do integrate a device or service into Home Assistant use this climate building block to provide entities, services, and other functionality that you can use in your automations or dashboards.

If one of your integrations features this building block, this page documents the functionality the climate building block offers.

The state of an HVAC entity

An HVAC entity can have the following states, depending on the specific climate device and its capabilities.

  • Off: The device is turned off.
  • Heat: The device is set to heat to a target temperature.
  • Cool: The device is set to cool to a target temperature.
  • Heat/Cool: The device is set to heat/cool to a target temperature range.
  • Auto: The device is set to a schedule, learned behavior, AI.
  • Dry: The device is set to dry/humidity mode.
  • Fan only: The device only has the fan on. No heating or cooling is taking place.
  • Unavailable: The entity is currently unavailable.
  • Unknown: The state is not yet known.

Actions

Climate control actions

Available actions: climate.set_aux_heat, climate.set_preset_mode, climate.set_temperature, climate.set_humidity, climate.set_fan_mode, climate.set_hvac_mode, climate.set_swing_mode, climate.turn_on, climate.turn_off, climate.toggle

Tip

Not all climate actionsActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] may be available for your platform. You can check which climate action are available under Developer Tools -> Actions.

Action climate.set_aux_heat

Turn auxiliary heater on/off for climate device

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

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_aux_heat
      target:
        entity_id: climate.kitchen
      data:
        aux_heat: true

Action climate.set_preset_mode

Set preset mode for climate device. Away mode changes the target temperature permanently to a temperature reflecting a situation where the climate device is set to save energy. For example, this may be used to emulate a “vacation mode.”

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use all.
preset_mode no New value of preset mode.

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_preset_mode
      target:
        entity_id: climate.kitchen
      data:
        preset_mode: "eco"

Action climate.set_temperature

Set target temperature of climate device

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use all.
temperature yes New target temperature for climate device (commonly referred to as a setpoint). Do not use if hvac_mode is heat_cool.
target_temp_high yes The highest temperature that the climate device will allow. Required if hvac_mode is heat_cool. Required together with target_temp_low.
target_temp_low yes The lowest temperature that the climate device will allow. Required if hvac_mode is heat_cool. Required together with target_temp_high.
hvac_mode yes HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly.

Automation examples

### Set temperature to 24 in heat mode
automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_temperature
      target:
        entity_id: climate.kitchen
      data:
        temperature: 24
        hvac_mode: heat
### Set temperature range to 20 to 24 in heat_cool mode
automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_temperature
      target:
        entity_id: climate.kitchen
      data:
        target_temp_high: 24
        target_temp_low: 20
        hvac_mode: heat_cool

Action climate.set_humidity

Set target humidity of climate device

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

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_humidity
      target:
        entity_id: climate.kitchen
      data:
        humidity: 60

Action climate.set_fan_mode

Set fan operation for climate device

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use all.
fan_mode no New value of fan mode

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_fan_mode
      target:
        entity_id: climate.kitchen
      data:
        fan_mode: "low"

Action climate.set_hvac_mode

Set climate device’s HVAC mode

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use all.
hvac_mode no New value of HVAC mode

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_hvac_mode
      target:
        entity_id: climate.kitchen
      data:
        hvac_mode: heat

Action climate.set_swing_mode

Set swing operation mode for climate device

Data attribute Optional Description
entity_id yes String or list of strings that define the entity ID(s) of climate device(s) to control. To target all climate devices, use all.
swing_mode no New value of swing mode

Automation example

automation:
  triggers:
    - trigger: time
      at: "07:15:00"
  actions:
    - action: climate.set_swing_mode
      target:
        entity_id: climate.kitchen
      data:
        swing_mode: 1

Action climate.turn_on

Turn climate device on. This is only supported if the climate device supports being turned off.

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

Action climate.turn_off

Turn climate device off. This is only supported if the climate device has the HVAC mode off.

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

Action climate.toggle

Toggle climate device. This is only supported if the climate device supports being turned on and off.

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

Attributes

The climate entity has extra attributes to represent the state of the thermostat.

Name Description
hvac_action Current state: heating / cooling / idle.
fan If the fan is currently on or off: on / off.

It depends on the thermostat you are using which states are available.