Smart Home AssistantNewsletter

Home Assistant Scenes: A Complete Guide

SepehrBy Sepehr· 19/06/2026· 7 min read
Home Assistant Scenes: A Complete Guide

Home Assistant scenes are one of the most satisfying features to set up. In a single action — a dashboard tap, a voice command, or a scheduled automation — a scene instantly sets every light, blind, speaker, and switch in a room to exactly the state you want. This guide explains what scenes are, how they differ from scripts and automations, and walks you through creating them both via the visual editor and YAML configuration.

What Are Home Assistant Scenes?

A scene is a snapshot of device states. When you activate a scene, Home Assistant restores every entity listed in that scene to its saved state — brightness, colour temperature, on/off, media source, and so on. Scenes do not have an "on" or "off" state themselves; they are stateless actions. Home Assistant does record the timestamp of the last time each scene was called, which you can use in automations if needed.

Unlike an automation — which fires automatically when a trigger occurs — or a script — which executes a sequence of steps in order — a scene simply applies a fixed set of desired states to your devices all at once. That makes scenes ideal for ambiance presets: a scene does not loop, delay, wait for conditions, or branch. It sets states and exits.

Think of scenes as named presets. Once you save a "Movie Night" scene, any part of Home Assistant — an automation, a dashboard button, or a voice assistant — can invoke it with a single call.

Scenes vs Scripts vs Automations

Knowing which tool to reach for saves a lot of frustration. Here is a quick comparison:

  • Scene: Sets multiple devices to predefined states instantly. No triggers, no logic, no sequences. Best for ambiance presets.
  • Script: Executes a sequence of actions, which may include delays, conditions, and service calls. Has no built-in trigger — something else must call it. Best for reusable multi-step procedures. See our scripts guide for a full walkthrough.
  • Automation: Combines a trigger, optional conditions, and actions (which can include calling scenes or scripts). Best for hands-free, event-driven behaviour. Our Home Assistant automations guide covers this in depth.

A common pattern is to use scenes as building blocks inside automations: the automation detects that it is evening and someone is home, then calls the "Evening Relax" scene as its action.

Creating a Scene via the UI

The visual scene editor is the easiest starting point. Navigate to Settings → Automations & Scenes → Scenes tab, then click Add Scene in the lower-right corner. Give your scene a meaningful name — "Movie Night", "Good Morning", "Away" — and optionally pick an icon from the Material Design Icons set.

Next, add the devices and entities you want the scene to control. Click Add device to browse your paired hardware, or Add entity to select specific entities (for example, individual bulbs within a Philips Hue group). Home Assistant immediately enters "edit mode": adjust every device to its desired state now — dim the lights, set colour temperature, turn off what should be off. The editor updates your devices in real time so you can see exactly what the scene will look like.

When everything looks right, click Save. Home Assistant captures the current state of every selected entity and stores it in the scene. When you leave the editor, your devices return to the states they were in before you started editing — your home does not stay in scene mode.

You can return to edit a scene at any time: open it, adjust devices as needed, and save again to update the stored states.

Creating Scenes via YAML

YAML gives you precise control and is reproducible across installations. Scenes can be defined in your main configuration.yaml file, or — to keep things tidy — in a separate scenes.yaml file that you reference with scene: !include scenes.yaml.

The minimum required fields are name and entities. Entity states can be simple on/off strings, or full attribute dictionaries for lights with colour and brightness:

scene:
  - name: Movie Night
    icon: mdi:television-play
    entities:
      light.living_room_ceiling:
        state: "on"
        brightness: 50
        color_temp: 400
      light.tv_backlight:
        state: "on"
        brightness: 80
        color_mode: "xy"
        xy_color: [0.18, 0.08]
      light.floor_lamp: "off"
      media_player.tv:
        state: "on"
        source: "HDMI 1"
      cover.living_room_blinds:
        state: "closed"

  - name: Good Morning
    icon: mdi:weather-sunny
    entities:
      light.bedroom_ceiling:
        state: "on"
        brightness: 180
        color_temp: 250
      cover.bedroom_blinds:
        state: "open"
      climate.thermostat:
        state: "heat"
        temperature: 20

Brightness values run from 0 to 255. Colour temperature is in mireds (lower = cooler white, higher = warmer). After editing YAML scenes, reload them without restarting Home Assistant: go to Developer Tools → YAML → Reload Scenes, or call the scene.reload action.

Activating Scenes

Scenes can be triggered from almost anywhere in Home Assistant.

Dashboard Button

Add a Button card to your dashboard and set the tap action to Call service → scene.turn_on, selecting your scene entity. Alternatively, add a Scene card, which shows the scene name, icon, and last-activated timestamp. For a more polished layout, the Lovelace dashboard guide covers card types and layouts in detail.

Automation Action

Inside an automation, add an action of type Activate scene and pick your scene from the dropdown:

action:
  - action: scene.turn_on
    target:
      entity_id: scene.movie_night
    data:
      transition: 2

The optional transition parameter smoothly fades lights to their target brightness over the specified number of seconds — useful for a gentle evening wind-down.

Voice Command

If you have Google Assistant or Amazon Alexa connected to Home Assistant, scenes are exposed as routines or scenes in those ecosystems. Say "Hey Google, activate Movie Night" and the cloud assistant calls scene.turn_on on your local instance. Home Assistant's built-in voice assistant (powered by local Whisper and Piper) can also activate scenes once configured.

Script Step

You can call a scene from within a script, which lets you sequence scene changes with delays — for example, activate "Sunrise Warm" and then two minutes later activate "Morning Bright":

sequence:
  - action: scene.turn_on
    target:
      entity_id: scene.sunrise_warm
  - delay: "00:02:00"
  - action: scene.turn_on
    target:
      entity_id: scene.morning_bright

Practical Examples

Movie Night

Goal: dim the lights to a low warm glow, lower the blinds, switch the TV to the correct input, and turn off bright overhead lights.

- name: Movie Night
  entities:
    light.living_room_ceiling:
      state: "on"
      brightness: 40
      color_temp: 450
    light.tv_backlight:
      state: "on"
      brightness: 90
    light.kitchen_lights: "off"
    cover.living_room_blinds:
      state: "closed"
    media_player.tv:
      state: "on"
      source: "HDMI 2"

Good Morning

Goal: ease into the day with cool-white light, open the bedroom blinds, and nudge the thermostat up to a comfortable temperature.

- name: Good Morning
  entities:
    light.bedroom_ceiling:
      state: "on"
      brightness: 200
      color_temp: 250
    cover.bedroom_blinds:
      state: "open"
    climate.heating:
      state: "heat"
      temperature: 20

Pair this with a time-based automation set to 07:00 on weekdays and your home begins its day before you even pick up your phone.

Away Mode

Goal: ensure everything is off when the last person leaves home. Combine with presence detection automations for a fully hands-free result.

- name: Away
  entities:
    light.all_lights: "off"
    switch.sockets: "off"
    climate.thermostat:
      state: "heat"
      temperature: 15
    cover.all_blinds:
      state: "open"

Dynamic Scenes with Adaptive Lighting

Adaptive Lighting is a popular HACS custom component that adjusts your lights' colour temperature and brightness throughout the day to follow the sun — warm amber in the evening, cool white at noon. It works well alongside scenes, but there is one important caveat: if your scene explicitly sets a colour or brightness value, Adaptive Lighting treats those lights as manually controlled and stops adapting them.

The recommended approach is to activate your scene and then immediately call the adaptive_lighting.set_manual_control service with manual_control: false for the relevant lights. This signals to the integration that the lights are now free to be adapted again. Some users prefer to create scenes that only set the on/off state — leaving colour and brightness unspecified — so Adaptive Lighting retains full control of those parameters.

For scene-based setups that want fully automatic colour tuning, consider pairing the best smart bulbs with Adaptive Lighting and keeping scenes focused on which devices are on or off rather than their exact colour values.

On-the-Fly Scenes with scene.apply and scene.create

scene.apply lets you specify states inline without needing a pre-saved scene entity — useful in automations where you want to apply states that depend on runtime conditions:

action: scene.apply
data:
  entities:
    light.living_room:
      state: "on"
      brightness: 120
      color_temp: 350
  transition: 1

scene.create goes further: it creates a named, reusable scene at runtime. Combine it with snapshot_entities to capture the current state of a device and store it for later recall — handy for "save my current lighting" buttons:

action: scene.create
data:
  scene_id: my_saved_state
  snapshot_entities:
    - light.living_room_ceiling
    - light.floor_lamp

Note that scenes created with scene.create are held in memory and discarded when Home Assistant restarts or when scene.reload is called.

Troubleshooting Common Issues

Scene does not seem to do anything. Check that the entities in the scene are available (not unavailable) in Developer Tools → States. If a device is offline, Home Assistant skips it silently.

Lights flash briefly then return to their previous state. This often means Adaptive Lighting is overriding the scene states. Either set manual_control: false after activating the scene, or remove colour/brightness attributes from the scene so Adaptive Lighting is not competing.

YAML scene changes are not picked up. After editing scenes.yaml, use Developer Tools → YAML → Reload Scenes rather than restarting the entire instance. A full restart is not needed for scene changes.

Voice assistant cannot find the scene. Scene names are exposed to voice assistants through the cloud integration. Ensure scenes are not marked as hidden in entity settings, and try resyncing your Google Home or Alexa account from the integration settings page.

Scene entity ID is not what I expected. Home Assistant derives the entity ID from the scene name at creation time. Rename a scene and the entity ID does not automatically update — you may need to manually edit the entity ID in Settings → Entities to keep automations working.

Frequently asked questions

What is the difference between a scene and an automation in Home Assistant?
A scene is a static snapshot of device states — it sets lights, switches, and other entities to predefined values in a single action. An automation has a trigger, optional conditions, and actions; it runs automatically when something happens. You can call a scene from within an automation, making them complementary tools rather than alternatives.
Can I create a Home Assistant scene without writing YAML?
Yes. The built-in scene editor (Settings → Automations & Scenes → Scenes) lets you create and edit scenes entirely through the UI. Set your devices to the desired states in the editor and click Save — Home Assistant captures those states automatically.
How do I activate a Home Assistant scene with a voice command?
If you have Google Assistant or Amazon Alexa linked to Home Assistant, scenes are exposed to those assistants automatically. Say 'Hey Google, activate Movie Night' or 'Alexa, turn on Movie Night' to call the scene. Home Assistant's local voice assistant also supports scene activation once configured.
Why is my scene not working with Adaptive Lighting?
Adaptive Lighting treats any light with an explicit colour or brightness as manually controlled and stops adapting it. After activating your scene, call the adaptive_lighting.set_manual_control service with manual_control set to false to hand control back to Adaptive Lighting. Alternatively, create scenes that only set the on/off state, leaving colour values for Adaptive Lighting to manage.

Sources

Sources verified 2026-06-19

  1. Home Assistant — Scene Integration
  2. Home Assistant — Scene Editor
  3. Unsplash — Gray padded chaise couch beside window — Roberto Nickson
Sepehr

Written by

Sepehr

Head of Engineering with 15+ years of software experience and a decade of hands-on smart home tinkering. I run everything I write about — Home Assistant, Zigbee2MQTT, Frigate, and a full self-hosted homelab. Independent coverage, no brand deals, UK-focused.

LinkedIn →

Related reading