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.
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
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.