This blueprint will help you create a select
entities that are automatically populated with all the scene
entities that have the selected Labels. Selecting a value from the entity’s options through dashboard or script action will activate that scene.
Features:
- Multiple Labels can be used.
blueprint:
author: Didgeridrew
homeassistant:
min_version: 2025.7.0
name: Label-Based Scene Select
description: |
Creates a Select entity that is automatically populated with all the
scene entities that have the selected Labels. Selecting a value from the
entity's options will turn that scene on.
domain: template
input:
labels:
description: 'The Labels you want this select entity to be based on'
selector:
label:
multiple: true
variables:
labels: !input labels
select:
state: |
{%- set labels = [labels] if labels is not list else labels %}
{%- set ent = (labels|map('label_entities')|flatten|select('match', 'scene.')
|sort(attribute='state', reverse=true)|list|first)|default('nope',1) %}
{{- state_attr(ent, 'friendly_name') | default('No Scene Selected', 1)}}
optimistic: true
options: |
{%- set labels = [labels] if labels is not list else labels %}
{%- set ents = labels|map('label_entities')|flatten|select('match', 'scene.')|list %}
{{- ['No Scene Selected'] + expand(ents)|map(attribute='name')|list|sort }}
select_option:
- condition: template
value_template: "{{ option != 'No Scene Selected' }}"
- service: scene.turn_on
target:
entity_id: |
{{ states.scene | selectattr('name', 'eq', option) | map(attribute='entity_id') | first }}