Scenes


You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.

# Example configuration.yaml entry
scene:
  - name: Romantic
    entities:
      light.tv_back_light: "on"
      light.ceiling:
        state: "on"
        xy_color: [0.33, 0.66]
        brightness: 200
  - name: Movies
    entities:
      light.tv_back_light:
        state: "on"
        brightness: 125
      light.ceiling: off
      media_player.sony_bravia_tv:
        state: "on"
        source: HDMI 1
        state: "on"

Configuration Variables

name string Required

Friendly name of scene.

entities list Required

Entities to control and their desired state.

As you can see, there are two ways to define the states of each entity_id:

  • Define the state directly with the entity. Be aware, that state needs to be defined.
  • Define a complex state with its attributes. You can see all attributes available for a particular entity under developer-tools -> state.

Scenes can be activated using the service scene.turn_on (there is no ‘scene.turn_off’ service).

# Example automation
automation:
  trigger:
    platform: state
    entity_id: device_tracker.sweetheart
    from: "not_home"
    to: "home"
  action:
    service: scene.turn_on
    entity_id: scene.romantic

Applying a scene without defining it

With the scene.apply service you are able to apply a scene without first defining it via configuration. Instead, you pass the states as part of the service data. The format of the data is the same as the entities field in a configuration.

# Example automation
automation:
  trigger:
    platform: state
    entity_id: device_tracker.sweetheart
    from: "not_home"
    to: "home"
  action:
    service: scene.apply
    data:
      entities:
        light.tv_back_light:
          state: "on"
          brightness: 100
        light.ceiling: off
        media_player.sony_bravia_tv:
          state: "on"
          source: HDMI 1

Using scene transitions

Both the scene.apply and scene.turn_on services support setting a transition, which enables you to smoothen the transition to the scene.

This is an example of an automation that sets a romantic scene, in which the light will transition to the scene in 2.5 seconds.

# Example automation
automation:
  trigger:
    platform: state
    entity_id: device_tracker.sweetheart
    from: "not_home"
    to: "home"
  action:
    service: scene.turn_on
    data:
      entity_id: scene.romantic
      transition: 2.5

Transitions are currently only support by lights, which in their turn, have to support it as well. However, the scene itself does not have to consist of only lights to have a transition set.

Reloading scenes

Whenever you make a change to your scene configuration, you can call the scene.reload service to reload the scenes.