Revert to simple multiple entity selector

Simplifies sensor selection back to multiple entity selector instead of complex target/area approach. More reliable and straightforward while still supporting multiple sensors.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-05 17:41:10 -08:00
parent b612412470
commit d338a7298a

View File

@@ -5,12 +5,12 @@ blueprint:
input: input:
occupancy_sensors: occupancy_sensors:
name: Occupancy Sensors name: Occupancy Sensors
description: Occupancy sensors to monitor (can select individual sensors or entire areas) description: Binary sensors that detect occupancy/presence in the area
selector: selector:
target: entity:
entity: domain: binary_sensor
domain: binary_sensor device_class: occupancy
device_class: occupancy multiple: true
lights: lights:
name: Lights name: Lights
description: Light entities to control description: Light entities to control
@@ -69,33 +69,17 @@ blueprint:
step: 1 step: 1
unit_of_measurement: seconds unit_of_measurement: seconds
variables:
sensors: >
{% if occupancy_sensors.entity_id is defined %}
{{ occupancy_sensors.entity_id }}
{% elif occupancy_sensors.area_id is defined %}
{{ area_entities(occupancy_sensors.area_id) | select('match', 'binary_sensor.*') | select('device_attr', 'device_class', 'occupancy') | list }}
{% else %}
[]
{% endif %}
trigger: trigger:
- platform: event - platform: state
event_type: state_changed entity_id: !input occupancy_sensors
event_data:
domain: binary_sensor
condition: condition: []
- condition: template
value_template: "{{ trigger.event.data.entity_id in sensors }}"
- condition: template
value_template: "{{ state_attr(trigger.event.data.entity_id, 'device_class') == 'occupancy' }}"
action: action:
- choose: - choose:
- conditions: - conditions:
- condition: template - condition: template
value_template: "{{ expand(sensors) | selectattr('state', 'eq', 'on') | list | count > 0 }}" value_template: "{{ expand(occupancy_sensors) | selectattr('state', 'eq', 'on') | list | count > 0 }}"
sequence: sequence:
- if: - if:
- condition: template - condition: template
@@ -115,12 +99,12 @@ action:
transition: !input turn_on_transition transition: !input turn_on_transition
- conditions: - conditions:
- condition: template - condition: template
value_template: "{{ expand(sensors) | selectattr('state', 'eq', 'on') | list | count == 0 }}" value_template: "{{ expand(occupancy_sensors) | selectattr('state', 'eq', 'on') | list | count == 0 }}"
sequence: sequence:
- delay: - delay:
seconds: !input off_delay seconds: !input off_delay
- condition: template - condition: template
value_template: "{{ expand(sensors) | selectattr('state', 'eq', 'on') | list | count == 0 }}" value_template: "{{ expand(occupancy_sensors) | selectattr('state', 'eq', 'on') | list | count == 0 }}"
- action: light.turn_off - action: light.turn_off
target: !input lights target: !input lights
data: data: