WTH - Why can't we apply a scene to an area?

I’m not sure I fully understand. Are you saying the activate scene card having an area target may be misconstrued for activating all the scenes in that area instead of activating that scene in the targeted area?

I mean this could be confusing in general. In the automations and scripts, you would have area selection twice. Not sure what you mean by the card, there’s no special card for activating scenes in core, is there. You would probably need a script to add this option to the dashboard anyway.

Yeah thinking about this some more - why can’t you just have the most granular scenes for each area, then activate multiple of them? Am I missing some use case where this would be cumbersome, other than having multiple scene activation calls?

You can do that. This is just a better way.

For one, it requires more scenes that way. If they are usually used together, you use a naming scheme like “Movie Time - Living Room”, “Movie Time - Kitchen”, “Movie Time - Dining Room”, etc. Just the naming scheme implies that they ought to logically be one scene.

You could have a scene that is slightly different depending on the time of day. Instead of two scenes, “Welcome Home - Afternoon” and “Welcome Home - Evening”, you have one scene called “Welcome Home”, but in the evening you choose to include the front porch light.


The fact that I can so readily come up with examples shows that this would be a useful feature. You don’t NEED it, but it would make things much cleaner in my install

1 Like

Sure, I guess you could also use a label with the scenes, and activate the label. I already do have a lot of such scenes which is fairly messy, but I can see how it would simplify things if I didn’t have to have multiple scenes.

To your earlier point, this logic can also currently be done in a script. So, I think it is important to note that this is not fundamentally new, but rather a way to make scenes cleaner and more organized.

1 Like

This is very similar to the WTH suggestion I was going to make, which is to apply a scene to a specific set of devices but it would work in the same way as if it included areas.

My use case would be as follows:
Several areas have motion sensors which automatically turn a set of lights on and off.
I have a set of scenes, for simplicity we’ll say two: Bright and Dim.
Depending on the time of day, I want to apply scene Bright or Dim when motion is detected in by a specific sensor.
If we assume there are two motion sensors for two areas, with the current implementation I would have to create 4 scenes:

  • Bright Area A
  • Dim Area A
  • Bright Area B
  • Dim Area B
    Then based on the motion and some conditional (e.g. time based) I would pick between Bright or Dim for that specific area. Add to the number of scenes and number of areas and you end up with an endless list of scenes.

If this functionality were to be implemented both scene management as well as conditionals could be greatly simplified.
Create 1 Bright and 1 Dim Scene
Add all scenes to an input select
Add an automation which triggers on the time based condition and updates the input select selected value globally.
Then for each motion sensor, create an automation which applies [currently selected theme] to the specific area or devices that matter.

In theory this could be managed using string interpolation and naming convention but is still a nightmare to maintain.

With this proposed solution you could have centrally managed scenes and centrally managed conditions and the automations to turn on/off lights become very simple triggers where the only variable changing across them would be what the triggering entity is and what devices/area should have the scene applied to.

1 Like

There is a HACS custom integration called ‘scene presets’’ that already sort of does this. It uses scene presets from Philips Hue and lets you apply them to areas.
Something similar, with an easy interface to design the presets and/or copy them from existing scenes would be a great addition to HA!

I just downloaded and gave this try. It works very similarly to how I would want scenes to function. But only in the way that I can pick an area. But obviously I want to keep the functionality of scenes outside my light entities, use this functionality in my dashboard/automations, and be able to create my own scenes.

I think this is a great proof of concept! It lacks a lot of the nuanced functionality that home assistant excels at.

A bit late to the party. I see a lot f more complex use cases in this thread, but what I myself miss is literally the title of this WTH.

Use case: I have multiple “Cinema” scenes for TV watching. E.g. “Cozy”, “Dark”, “Bright”.
Each scene turns specific lights in the living room on or off with certain brightness and colors.

But all these scenes have something in common: I want all other lights in the house to be turned off except for the living room. This means that I have to manually add each light/light group, one by one.

Ideally, I would add each light/light group from the living room separately, and then add “First Floor”, “Kitchen”, etc as areas with all their lights turned off. This is already possible in automations and that’s what I’m using (if a cinema scene is activated, turn off all other lights). But it would be nice to not need an automation just for that.

1 Like

@Mayhem_SWE I agree re: a potentially different paradigm, although I don’t view it as a super-scene with masking. Going back to first principles:

A smart room philosophically speaking, knows what it has (lights, HVAC, A/V etc) and what it can do with them to be quiet, loud, bright, dim, cozy, welcoming, informative, etc. The capability gamut.

A user brings intent and context into the room (e.g. my “loud” might not be the same as your “loud”, and I like lights off when watching evening news while you might like them just dimmed a bit.)

So the user should be able to take their intent and context from one room to another, e.g. start watching a video in the office and finish it in the man-cave. Or start news in the kitchen and finish in the bedroom.

Multiple users occupying the same room creates some interesting challenges in terms of how they negotiate competing intents and contexts in the same room, but to me the desire to have this has merit, and I’ve seen some premier residences where the house attempts to make the music you’re listening to, follow you around, and lights to a cruder extent.

I am a little late here but I also have 5 modes that each room can have and maintaining all of those scenes is rather tedious/prone to error so I am also quite interested in applying a scene partially based on a condition such as whether the entities whose attributes are saved within that scene are part of an area/room/floor or are currently in their off state. This very much sounds like an automation action/block to me.

Proposal for Implementation:
There are automation actions for applying, activating, creating, deleting and reloading a scene. Would it make sense to add an action such as “Conditional/Partial Apply” where conditions can be listed like in a conditional statement or if/else statement and this action applies the scene only to those entities listed within the scene that fullfill the condition. The action would retrieve the list of entity ids from the scene and then use the conditional statements to evaluate each entity and if its attributes should be applied or not. It could create a temporary scene in the background where it simply adds the entities and their attributes that match the conditions and then apply that scene.

I see the usefullness of this request. I do believe it should be implemented in a way that voice assistants are able to handle it. I mean that you would need to be able to ask to to it in the room only (the default currently, as what happens if you ask e.g. turn on the light) or in the whole house.

That does beg the question if the subscenes approach suggested above has some merit. You can do that now if you split up the global scene to create a scene for each room and also create a script to apply multiple scenes at the same time, but that is a hassle. You can already assign scenes to rooms.

I agree that the functionality for voice assistants should be maintained however, the subscenes approach as far as I understand it just adds groupings into the functionality of scenes which unfortunately still handles the issue statically. A new group has to be defined for every room in the scene even though the information is already stored within the entity. Filtering dynamically based on the attributes of an Entity with “Conditional/Partial Apply” for scenes in Automations would utilize existing mechanisms and existing data, therefore keeping the development effort as low as possible, in line with pre-existing functions and cater to any use case that utilizes/or can utilize automations. I am not very familiar with the way voice assistant functions in HA but could you not set up phrases within an automation that dynamically filter the scene (using the room/floor/tags/etc. as criteria)? I don’t use voice assistants so I am completely unaware of how exactly voice assistants handle/interpret requests in HA.

I agree creating scenes per room is not as convenient as what you ask. I was meant to give you an option you can implement right now in absence of the filtering that you ask.

In general I think it is always a good idea to split large functionalities up in separate useable parts. You want to be able to apply scenes per room only, you want to apply them all at the same time too. So scenes per room have merits on their own and script can be used to apply multiple scenes at once.

What you ask for is to put it all in one big scene, and then add a way to do only parts of that. The end effect is the same, but the approach to it is a bit different.

I do not want imply the alternate approach is better, apart from the fact that it is doable now. The script can even have the area(s) as input if you assign the scenes to the right area. It just is more work than your native support.

If you’re interested in partial scene application like described here, I made a custom integration called Selective Scene that enables just that!

The integration adds a single service called selective_scene.turn_on. It’s a drop-in replacement for built-in scene.turn_on but lets you filter by entities or areas so a scene only affects what you want.
You can find the integration here

Wait what? trying this now.

Edit: I just tried it and it’s exactly what I wanted and more :smiling_face_with_three_hearts:. Now if HA could just implement it directly, that would be ideal :man_shrugging: Great work and Thank You @jpaju!

1 Like