core: Turning on scenes from within a scene no longer works

Home Assistant release with the issue: 0.102.1

Last working Home Assistant release (if known): Somewhere between 0.9* and 0.102

Operating environment (Hass.io/Docker/Windows/etc.): Hassbian.

Integration: scenes.

Description of problem: Referencing scenes from within scenes used to work. Doesn’t anymore.

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

- name: ljusniva5
  entities:
  scene.lampan_vid_koksbanken_svagare:
    state: on

What should happen: scene.lampan_vid_koksbanken_svagare activates. What actually happens: nothing, and with the following in the logs:

WARNING (MainThread) [homeassistant.helpers.state] Integration scene does not
support reproduce state

Other entities, that aren’t “sub-scenes” in the main scene, does activate. It’s just “sub-scenes” that are affected.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 2
  • Comments: 25 (12 by maintainers)

Most upvoted comments

Long story short, neither scripts nor scenes will be usable in scenes in the near future.

That is disappointing.

I’m gonna close this for now. We have recently discussed this issue and decided to stick to the current behaviour for reasons of simplicity and usability. There are still automations and scripts to activate scripts and scenes.

It’s actually worse UX. It doesn’t make things simpler or more usable - at least from a user perspective. As a new user I was expecting this to work and surprised it doesn’t work. Maybe in complex scenarios this produces undefined behaviour due unknown states but for simple scenarios where you just want to SET the state of your devices in a pre-defined way, the current state doesn’t matter.

This did work until 0.102, even if it was not intended. Dropping support for this is fine but as far as I can tell there was no warning in the release notes. This has broken a bunch of scenes that I use and requires some significant rework, it would have been nice to know this before upgrading. Is there a reason this was not included as a breaking change in the release notes?

Big +1 here. I had my scenes configured following DRY Principle.


Basic Example (1):

  • Scene: Living Room Lights On --> configures all living room group lights to their state.
  • Scene: Living Room Climate On --> configures living room to on and the right temperature
  • Scene: Living Room On --> set up scenes for living room lights and climate on /
  • Scene: Bedroom Lights On --> configures all bedroom group lights to their state.
  • Scene: Bedroom Climate On --> configures bedroom to on and the right temperature
  • Scene: Bedroom On --> set up scenes for bedroom lights and climate on. /
  • Scene: Going to bed --> scenes bedroom ON, living room OFF
  • Scene: Arrive home --> living room ON + other state changes

This way if any detail changes (e.g. I want a different colour for all scenes, or a different temperature used across), I do not need to change 10 different scenes, I only need to change one.


Basic Example (2):

I have a set up of light colours for events (Xmas, Halloween, etc). There are some lights which, regardless of the event, will always be the same colour. The others will change depending on the event.

The way this was done:

  1. Set up a base light scenes with the light colours that never changes.
  2. Set up the event scene that calls the base light scene + the event colour changes.

This way I avoid having to repeat the same base light configuration over and over for all the scenes. I configure it once and I can use it.


I have solved this now by moving to scripts, but that felt a bit unnecessary as scenes within scenes was quite nice.

ooof.

I’ve been chasing my tail for the last few months trying to find out why my scripts weren’t working anymore. I asked around in the discord channel and everyone told me it should work…

So yeah.

+1 for scenes being DRY +1 for “damn, wish this was in release notes”

Just wasted two days trying to troubleshoot this… I have a bunch of scripts defined in scenes. Not cool 😦

I too got bit by this change, I had two scripts that would fire in several scenes. These scripts turned a light on/off via a SSH script. I ended up creating a “template light” and added this to the scenes, it worked!

Example:

light:
  - platform: template
    lights:
      dashboard_light:
        friendly_name: "Dashboard Light"
        turn_on:
          service: script.dashboard_bright
        turn_off:
          service: script.dashboard_dim

I’m gonna close this for now. We have recently discussed this issue and decided to stick to the current behaviour for reasons of simplicity and usability. There are still automations and scripts to activate scripts and scenes.

@martinlong1978 Just create a bunch of scenes and activate them using a script. The only change is, that you have to use scripts to activate scenes.