Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/_actions/lock.lock.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ automation: |
target:
entity_id: lock.back_door
options:
behavior: any
behavior: each
for: "00:10:00"
actions:
- action: lock.lock
Expand Down
4 changes: 2 additions & 2 deletions source/_conditions/moisture.is_detected.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ behavior:
description: |
When multiple moisture sensors are targeted, controls how results combine:

- `any` (**Any** in the UI, default): passes if at least one targeted sensor is detecting moisture.
- `all` (**All** in the UI): passes only when every targeted sensor is detecting moisture.
- `any` (default): passes if at least one targeted sensor is detecting moisture.
- `all`: passes only when every targeted sensor is detecting moisture.
required: false
type: string
default: any
Expand Down
4 changes: 2 additions & 2 deletions source/_conditions/moisture.is_not_detected.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ behavior:
description: |
When multiple moisture sensors are targeted, controls how results combine:

- `any` (**Any** in the UI, default): passes if at least one targeted sensor is dry.
- `all` (**All** in the UI): passes only when every targeted sensor is dry.
- `any` (default): passes if at least one targeted sensor is dry.
- `all`: passes only when every targeted sensor is dry.
required: false
type: string
default: any
Expand Down
4 changes: 2 additions & 2 deletions source/_conditions/moisture.is_value.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ behavior:
description: |
When multiple entities are targeted, controls how results combine:

- `any` (**Any** in the UI, default): passes if at least one targeted entity meets the threshold.
- `all` (**All** in the UI): passes only when every targeted entity meets the threshold.
- `any` (default): passes if at least one targeted entity meets the threshold.
- `all`: passes only when every targeted entity meets the threshold.
required: false
type: string
default: any
Expand Down
6 changes: 3 additions & 3 deletions source/_includes/triggers/behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

When you target more than one entity (or select an area, floor, or label that contains several), the **Trigger when** option controls how the trigger responds:

- **Each** (`any` in YAML, default): the trigger fires every time any one of the targeted entities transitions. For example, if you monitor three motion sensors in the living room and someone walks past sensor 1, the automation fires. When they walk past sensor 2 a moment later, it fires again. Every individual event counts.
- **First** (`first` in YAML): the trigger fires only on the first transition in the targeted group, then waits until all targeted entities have reset before it fires again. For example, if you monitor the same three motion sensors, the automation fires when the first one picks up movement (someone entered the room). The other two firing afterward are ignored, so you get one notification per "someone walked in" event instead of three.
- **All** (`last` in YAML): the trigger fires only after the last targeted entity in the group has fired, meaning all of them are now in the expected state. For example, if you monitor the lights in the living room, bedroom, and hallway, the automation fires only once all three have turned off. This is useful for scenarios like "start the robot vacuum only after every light on the floor is off," so you know the room is truly empty.
- **Each** (default): the trigger fires every time any one of the targeted entities transitions. For example, if you monitor three motion sensors in the living room and someone walks past sensor 1, the automation fires. When they walk past sensor 2 a moment later, it fires again. Every individual event counts.
- **First**: the trigger fires only on the first transition in the targeted group, then waits until all targeted entities have reset before it fires again. For example, if you monitor the same three motion sensors, the automation fires when the first one picks up movement (someone entered the room). The other two firing afterward are ignored, so you get one notification per "someone walked in" event instead of three.
- **All**: the trigger fires only after the last targeted entity in the group has fired, meaning all of them are now in the expected state. For example, if you monitor the lights in the living room, bedroom, and hallway, the automation fires only once all three have turned off. This is useful for scenarios like "start the robot vacuum only after every light on the floor is off," so you know the room is truly empty.
Comment thread
c0ffeeca7 marked this conversation as resolved.
6 changes: 3 additions & 3 deletions source/_integrations/air_quality.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ automation: |
entity_id: sensor.bedroom_co2
options:
threshold: 1000
behavior: any
behavior: each
actions:
- action: fan.turn_on
target:
Expand All @@ -69,7 +69,7 @@ automation: |
target:
label_id: co_sensors
options:
behavior: any
behavior: each
actions:
- action: notify.notify
data:
Expand Down Expand Up @@ -100,7 +100,7 @@ automation: |
entity_id: sensor.outdoor_pm25
options:
threshold: 25
behavior: any
behavior: each
actions:
- action: fan.turn_on
target:
Expand Down
4 changes: 2 additions & 2 deletions source/_integrations/alarm_control_panel.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ automation: |
target:
entity_id: alarm_control_panel.home_alarm
options:
behavior: any
behavior: each
actions:
- action: notify.send_message
target:
Expand Down Expand Up @@ -200,7 +200,7 @@ automation: |
target:
entity_id: alarm_control_panel.home_alarm
options:
behavior: any
behavior: each
actions:
- action: notify.notify
data:
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/fan.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ automation:
target:
entity_id: fan.bathroom
options:
behavior: any
behavior: each
for: "00:20:00"
actions:
- action: notify.send_message
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/lock.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ automation: |
target:
entity_id: lock.front_door
options:
behavior: any
behavior: each
for: "00:00:00"
actions:
- action: light.turn_on
Expand Down
4 changes: 2 additions & 2 deletions source/_integrations/window.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ automation: |
target:
entity_id: binary_sensor.kitchen_window
options:
behavior: any
behavior: each
for: "00:00:00"
conditions:
- condition: sun
Expand Down Expand Up @@ -76,7 +76,7 @@ automation: |
target:
entity_id: binary_sensor.bedroom_window
options:
behavior: any
behavior: each
for: "00:02:00"
actions:
- action: climate.set_hvac_mode
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.co2_crossed_threshold.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trigger: |
entity_id: sensor.bedroom_co2
options:
threshold: 1000
behavior: any
behavior: each
{% endexample %}

This fires whenever the bedroom CO2 sensor crosses 1,000 ppm in either direction.
Expand All @@ -66,10 +66,10 @@ threshold:
type: any
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
How long the reading must remain past the threshold before the trigger fires. Accepts a duration string in `HH:MM:SS` format.
Expand Down Expand Up @@ -113,7 +113,7 @@ automation: |
entity_id: sensor.bedroom_co2
options:
threshold: 1000
behavior: any
behavior: each
actions:
- action: fan.turn_on
target:
Expand Down
6 changes: 3 additions & 3 deletions source/_triggers/air_quality.co_cleared.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ YAML sometimes provides additional options for more complex use cases that are n
{% options_yaml %}
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
Duration the state must hold before firing. Accepts a duration string like `00:05:00` for five minutes.
Expand Down Expand Up @@ -101,7 +101,7 @@ automation: |
target:
label_id: co_sensors
options:
behavior: last
behavior: all
for: "00:15:00"
actions:
- action: siren.turn_off
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.co_crossed_threshold.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trigger: |
entity_id: sensor.living_room_co
options:
threshold: 35
behavior: any
behavior: each
{% endexample %}

This fires whenever the living room CO sensor crosses 35 ppm in either direction.
Expand All @@ -66,10 +66,10 @@ threshold:
type: any
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
How long the reading must remain past the threshold before the trigger fires. Accepts a duration string in `HH:MM:SS` format.
Expand Down Expand Up @@ -114,7 +114,7 @@ automation: |
entity_id: sensor.garage_co
options:
threshold: 35
behavior: any
behavior: each
actions:
- action: notify.send_message
target:
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.co_detected.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ YAML sometimes provides additional options for more complex use cases that are n
{% options_yaml %}
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
Duration the state must hold before firing. Accepts a duration string like `00:05:00` for five minutes.
Expand Down Expand Up @@ -101,7 +101,7 @@ automation: |
target:
label_id: co_sensors
options:
behavior: any
behavior: each
for: "00:00:00"
actions:
- action: siren.turn_on
Expand Down Expand Up @@ -137,7 +137,7 @@ automation: |
target:
entity_id: binary_sensor.garage_co
options:
behavior: any
behavior: each
for: "00:01:00"
actions:
- action: fan.turn_on
Expand Down
6 changes: 3 additions & 3 deletions source/_triggers/air_quality.gas_cleared.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ YAML sometimes provides additional options for more complex use cases that are n
{% options_yaml %}
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
Duration the state must hold before firing. Accepts a duration string like `00:05:00` for five minutes.
Expand Down Expand Up @@ -100,7 +100,7 @@ automation: |
target:
label_id: gas_sensors
options:
behavior: last
behavior: all
for: "00:10:00"
actions:
- action: notify.send_message
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.gas_detected.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ YAML sometimes provides additional options for more complex use cases that are n
{% options_yaml %}
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
Duration the state must hold before firing. Accepts a duration string like `00:05:00` for five minutes.
Expand Down Expand Up @@ -100,7 +100,7 @@ automation: |
target:
entity_id: binary_sensor.kitchen_gas
options:
behavior: any
behavior: each
for: "00:00:00"
actions:
- action: notify.send_message
Expand Down Expand Up @@ -133,7 +133,7 @@ automation: |
target:
label_id: gas_sensors
options:
behavior: any
behavior: each
for: "00:00:30"
actions:
- action: valve.close_valve
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.n2o_crossed_threshold.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trigger: |
entity_id: sensor.greenhouse_n2o
options:
threshold: 350
behavior: any
behavior: each
{% endexample %}

This fires whenever the greenhouse N2O sensor crosses 350 in either direction.
Expand All @@ -66,10 +66,10 @@ threshold:
type: any
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
How long the reading must remain past the threshold before the trigger fires. Accepts a duration string in `HH:MM:SS` format.
Expand Down Expand Up @@ -114,7 +114,7 @@ automation: |
entity_id: sensor.greenhouse_n2o
options:
threshold: 350
behavior: any
behavior: each
actions:
- action: notify.send_message
target:
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.no2_crossed_threshold.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trigger: |
entity_id: sensor.street_side_no2
options:
threshold: 40
behavior: any
behavior: each
{% endexample %}

This fires whenever the street-side NO2 sensor crosses 40 in either direction.
Expand All @@ -66,10 +66,10 @@ threshold:
type: any
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
How long the reading must remain past the threshold before the trigger fires. Accepts a duration string in `HH:MM:SS` format.
Expand Down Expand Up @@ -114,7 +114,7 @@ automation: |
entity_id: sensor.street_side_no2
options:
threshold: 40
behavior: any
behavior: each
conditions:
- condition: numeric_state
entity_id: sensor.street_side_no2
Expand Down
8 changes: 4 additions & 4 deletions source/_triggers/air_quality.no_crossed_threshold.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ trigger: |
entity_id: sensor.garage_no
options:
threshold: 50
behavior: any
behavior: each
{% endexample %}

This fires whenever the garage NO sensor crosses 50 in either direction.
Expand All @@ -66,10 +66,10 @@ threshold:
type: any
behavior:
description: >
When multiple sensors are targeted, controls when the trigger fires. Accepts `any`, `first`, or `last`.
When multiple sensors are targeted, controls when the trigger fires. Accepts `each`, `first`, or `all`.
required: true
type: string
default: any
default: each
for:
description: >
How long the reading must remain past the threshold before the trigger fires. Accepts a duration string in `HH:MM:SS` format.
Expand Down Expand Up @@ -113,7 +113,7 @@ automation: |
entity_id: sensor.garage_no
options:
threshold: 50
behavior: any
behavior: each
actions:
- action: fan.turn_on
target:
Expand Down
Loading