WTH can't we set default transitions for lights?

This has been a peeve of mine for years. I recently added support for default transitions in light profiles in the last release, which is a nice stop-gap, but it has two major downsides:

  1. You must specify a color along with it. So it won’t retain the bulb’s previous state, and you can’t transition between two colors.
  2. It only works for turning a bulb ON, not off. So it feels incomplete.

You can also set transitions in scenes, but that won’t work for one-off light change requests (e.g. “Alexa, set living room lights to blue”).

As a dev, I know things are often much harder than they seem, but it does seem pretty simple for the aesthetic benefit – that “smart home feel” that comes with lights fading in and out in unison.

Oh yes! I would love this too! Would make the general experience much smoother

1 Like

I’m taking a stab at it right now.

Question: Is it the wrong approach to change the base light.turn_on service to accept an optional “defaults” object that it uses to inject params not explicitly sent by an integration?

As opposed to making each light integration implement that logic before calling turn_on.

I’m gonna push up a PR soon that does the latter, if you (or others) prefer to talk over code.

EDIT: I have the the logic flipped in my head. The base light.turn_on must call the integration’s turn_on, not the other way around.

I put up a draft PR here: https://github.com/home-assistant/core/pull/39732

Currently, it’s only for the mqtt json light platform (the one I use the most).

I thought transitions was removed from scenes not that long ago… was it brought back?

Hmm. I don’t remember it ever leaving. It’s still a documented feature of the scene.apply and scene.turn_on services.

Yeah, there was a heap of kick-back from the community, so that’s why I’m thinking it’s been added back…

Just found out it was brought back in HA 0.109 which I obviously didn’t take note of

not only transitions.
the light_profiles.csv only supports xycolor, but there’s no way of defining color_temp
We can’t do enough with xycolor values alone… Some way of defining a color_temp is really needed.