Thermostat target temperature changed

The Thermostat target temperature changed trigger fires after the target temperature (setpoint) of a thermostat entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] changes. The target temperature is what you want the thermostat to maintain, not the current room temperature. Use this trigger when you want to react to adjustments in the desired temperature, whether they’re made through the UI, an automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more], a voice command, or directly on the device.

Use the threshold type to filter which changes matter to your automation. You can fire on any change, or only when the new setpoint is above, below, inside, or outside a specific range.

Labs

Requires the Purpose-specific triggers and conditions Labs preview feature. Enable it at Settings > System > Labs.

Using this trigger from the user interface

If you prefer building automations visually, Home Assistant walks you through this trigger step by step. You pick what to watch, tweak a few options, and save. No YAML knowledge required.

To use Thermostat target temperature changed in an automation:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation, or select Create automation > Create new automation.
  3. In the When section, select Add trigger.
  4. Select what you want to monitor. Under By target (see Targets), pick the area your thermostat is in (like your bedroom or living room). You can also select a device, a specific entity, or a label.
  5. From the triggers shown for that target, select Thermostat target temperature changed.
  6. Under Threshold type, configure what kind of change fires the trigger:
    • Select Any change to fire on any change, regardless of direction or new value.
    • Select Above or Below and enter a value to fire only when the new setpoint is above or below that value.
    • Select In range and enter a lower and upper bound to fire only when the new setpoint falls inside the range.
    • Select Outside range and enter a lower and upper bound to fire only when the new setpoint is outside the range.
    • For each option, you can enter a fixed temperature or pick a sensor entity or a number helper entity as the threshold.
      • If you don’t have a number helper, you can create one by selecting Create a new number helper.
  7. Under Unit, select the temperature unit (°C or °F) to use for the threshold comparison.
  8. Select Save.

Options in the UI

Threshold type

Controls which changes fire the trigger:

  • Any change: fires on any change, regardless of direction or new value.
  • Above or Below: enter a value to fire only when the new setpoint is above or below that value.
  • In range: enter a lower and upper bound to fire only when the new setpoint falls between them.
  • Outside range: enter a lower and upper bound to fire only when the new setpoint is below the lower bound or above the upper bound.

For each mode you can enter a fixed temperature or reference a sensor entity or a number helper entity.

Unit

The temperature unit to use for threshold comparison. Accepts °C or °F. Required when using numerical thresholds (not required when using entity references). Default is °C.

Using this trigger in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, Thermostat target temperature changed is referred to as climate.target_temperature_changed. A basic example looks like this:

TriggerA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more]
trigger: climate.target_temperature_changed
target:
  entity_id: climate.living_room
options:
  threshold:
    type: above
    value:
      number: 22
      unit_of_measurement: "°C"

This fires whenever the target temperature of climate.living_room changes to a value above 22°C. To fire on any change regardless of direction or value, use type: any and omit value.

To fire only when the new setpoint is within an efficiency range:

TriggerA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more]
trigger: climate.target_temperature_changed
target:
  entity_id: climate.living_room
options:
  threshold:
    type: between
    value_min:
      number: 18
      unit_of_measurement: "°C"
    value_max:
      number: 22
      unit_of_measurement: "°C"

Options in YAML

YAML sometimes provides additional options for more complex use cases that are not available through the UI.

threshold map Required

A mapping that defines which kind of change fires the trigger:

  • type: any: Fires on any target temperature change (no additional keys needed).
  • type: above or type: below: Provide value with a number key (for a literal number) or an entity key (for an input_number, number, or sensor entity).
  • type: between or type: outside: Provide value_min and value_max, each with a number key (for a literal number) or an entity key (for an input_number, number, or sensor entity).

When using the number key, you must also include unit_of_measurement to specify the temperature unit (°C or °F). When using the entity key, the unit is taken from the entity itself, or assumed to be the system temperature unit if the entity has no unit.

For example:

threshold:
  type: outside
  value_min:
    entity: input_number.comfortable_temperature_min
  value_max:
    number: 24
    unit_of_measurement: °C

A sensor or number entity’s current value is used as the threshold, which lets you compare two temperature setpoints dynamically.

Targets of the trigger

This trigger requires a target. The target is the object that Home Assistant will watch. You can select a single entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more], a device, an area, a floor, or a label as a target, and Home Assistant will watch every matching climate entity behind that target.

  • Entity: one specific climate entity, such as climate.living_room.
  • Device: every climate entity that belongs to a device.
  • Area: every climate entity in a room or area.
  • Floor: every climate entity on a floor.
  • Label: every climate entity that shares a label.

You can also select different target types in one trigger. For example, you can add a specific entity and an area as targets in the same trigger to monitor both of them at once.

Good to know

  • This trigger monitors the target temperature setpoint (what you want the thermostat to maintain), not the current room temperature (the actual measured temperature). To react to changes in measured room temperature, use Temperature changed instead.
  • The threshold type controls both the direction and the landing zone of the change. Use Above or Below to filter by direction, In range to fire only when the new value is inside a range, and Outside range to fire only when it escapes a range.
  • Use Any change to fire on every change regardless of direction or where the new value lands.
  • To react only when the target temperature first crosses a specific level, use Thermostat target temperature crossed threshold instead.
  • The trigger works with climate entities that expose a target temperature attribute.
  • All temperature values are automatically converted to the unit you specify. For example, if your thermostat reports in Fahrenheit but you configure the trigger in Celsius, the conversion happens automatically.

Try it yourself

Ready to test this? Go to Settings > Automations & scenes, create a new automation, and add this trigger. Save the automation, then change the state of the targeted entity to watch the trigger fire on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more].

More examples

Real scenarios where this trigger fires in automations and scripts. Copy any example and adapt it to your setup.

Tip

You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.

Automation: log aggressive temperature setpoint changes on multiple thermostats

Track when the first thermostat in the living room area sets an unusually high or low target temperature, which might indicate a comfort issue or a configuration error. Firing on the first change prevents multiple log entries.

  • Trigger: Thermostat target temperature changed
    • Target: Living room area
    • Threshold type: Outside range (18-24°C)
    • Trigger when: First
  • Action: Log activity
YAML example for logging aggressive setpoint changes
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Log unusual thermostat settings"
triggers:
  - trigger: climate.target_temperature_changed
    target:
      area_id: living_room
    options:
      threshold:
        type: outside
        value_min:
          number: 18
          unit_of_measurement: "°C"
        value_max:
          number: 24
          unit_of_measurement: "°C"
      behavior: first
actions:
  - action: logbook.log
    data:
      name: "Unusual thermostat setting"
      message: >
        A thermostat in the living room was set to {{ trigger.to_state.attributes.temperature }}°C.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the trigger you’re using and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain triggers or suggest the right one when you describe what you want in plain language.

Related triggers

These triggers work well alongside this one: