I’ve been using Home Assistant for a long time, and I’ve always had a weird relationship with scenes.
They’re great for quick setups, but the moment you want them to be context-aware — temperature, day/night, reversals, delays — things get messy fast. You either duplicate scenes, stack automations on top, or end up with helpers whose only job is to make a scene less dumb.
My breaking point was a simple one:
my “Movie Night” scene kept turning the AC on even when the room was already cold, lights came on during the day while covers were opening, and reversing everything cleanly required extra logic elsewhere.
Instead of fixing that with more automations, I tried a different approach:
What if a scene wasn’t just a command, but a decision?
One tap to activate or deactivate — but each entity decides whether it should actually do anything.
That idea turned into a custom Lovelace card I now use daily: Smart Scene Card.
At a high level, it’s still a scene button — but each entity can have smart behavior attached to it:
- Lights can delay turning off at night or skip activation during daytime cover movement
- Climate entities can check a temperature sensor and only run if it actually makes sense
- Covers can be restricted to daytime and reverse automatically on deactivate
- Media players can set volume and play simple TTS on enter/exit
- Switches can be skipped based on another entity’s state
The card also tracks whether entities actually match the expected state. A long-press opens a status view showing what ran, what didn’t, and why.
I’m not claiming this replaces automations or scripts. I still use those heavily.
This just moved a lot of scene glue logic out of YAML and into the UI, which ended up being simpler for my use case.
I’m still a bit on the fence philosophically about whether this logic belongs in Lovelace or elsewhere — which is part of why I’m sharing it. I’ve seen a lot of people complain about scenes being too rigid, and I’m curious how others approach this problem.
If anyone wants to try it, it’s available via HACS as a custom card.
Repo + README with examples are here: Smart-Scene-Card
I’m very open to feedback, criticism, or “you could’ve solved this with X” discussions — those are usually the most useful ones anyway ![]()