Area-Based Scene Select

This blueprint will help you create select entities that are automatically populated with all the scene entities from the selected Areas. Selecting a value from the entity’s options through dashboard or script action will activate that scene.

Features:

  • Both Area IDs and Area Names are supported as input
  • Multiple Areas can be used.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.


blueprint:
  author: Didgeridrew
  homeassistant:
    min_version: 2025.7.0
  name: Area-Based Scene Select
  description: |
    Creates a Select entity that is automatically populated with all the 
    scene entities from the selected Areas. Selecting a value from the
    entity's options will turn that scene on.
  domain: template
  input:
    areas:
      name: Areas
      description: 'The Area(s) you want to select Scenes from'
      selector:
        area:
          multiple: true
          entity:
            domain: scene
variables:
  area_ids: !input areas
select:
  state: |
    {% set area_ids = [area_ids] if area_ids is not list else area_ids %}
    {% set ent = (area_ids|map('area_entities')|flatten|select('match', 'scene.')
    |sort(attribute='state', reverse=true)|list|first) %}
    {{ state_attr(ent, 'friendly_name') | default('No Scene Selected', 1)}}
  optimistic: true
  options: |
    {% set area_ids = [area_ids] if area_ids is not list else area_ids %}
    {% set ents = area_ids|map('area_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 }}
1 Like

Template Blueprints are currently (July 2025) only available through YAML configuration. You can find more details about how to use them at:

HA Docs - Templates - Using Blueprints

Once you have installed the blueprint, use the following examples to help set up your own Selects in your configuration files.


Configuration Examples:

template:
  - name: Living Room and Basement Scene Selector
    unique_id: lr_basement_scenes_0001
    use_blueprint: 
      path: Didgeridrew/area-based-scene-select.yaml
      input:
        areas: 
          - 0352e80e71464487b396c5559c886de0
          - Basement

  • This Post has been set to Wiki Mode. Please feel free edit this post to add configuration examples if you think they are needed