Skip to content

Device Changed

Category: Trigger

Fires when a HomeKit device's state changes — a light turns on, a sensor reading updates, a lock is toggled. You can trigger on a single device or an entire service group.

When to use

  • Respond to a motion sensor detecting movement
  • React when a door lock is opened or closed
  • Trigger actions when temperature crosses a threshold
  • Monitor a group of lights (e.g. "All Living Room Lights") for any change

Configuration

  • Source mode — Choose between a single Device or a Service Group
  • Device / Group — Select the accessory or group to watch
  • Characteristic — Which property to monitor (e.g. power_state, brightness, temperature)
  • To value (optional) — Only trigger when the value changes to this specific value
  • From value (optional) — Only trigger when the value changes from this specific value
  • Numeric thresholds (optional) — For numeric values like temperature or brightness, trigger when the value crosses above or below a threshold

Output data

Downstream nodes can reference the trigger data:

  • {{ trigger.to_value }} — The new value after the change
  • {{ trigger.from_value }} — The previous value before the change
  • {{ trigger.accessory_id }} — ID of the specific device that changed
  • {{ trigger.characteristic_type }} — Which characteristic changed

For service group triggers, trigger.accessory_id is the specific device within the group that triggered.

Examples

Turn off all lights when motion sensor clears:

  1. Device Changed → motion sensor, motion_detected, to = 0
  2. Delay → 5 minutes
  3. Set Device → all lights off

Alert when temperature exceeds threshold:

  1. Device Changed → temperature sensor, above 30
  2. Notify → "Temperature is {{ trigger.to_value }}!"

Tips

  • Service group triggers fire for each device in the group independently — if 3 lights turn on, the automation runs 3 times
  • Use from and to filters together to catch specific transitions (e.g. from 0 to 1 = "just turned on")
  • Numeric thresholds fire on crossing — if the value is already above the threshold and stays above, it won't fire again