I have smart lights from 4 different manufactures:
Philips Hue.
Sengled
Third Reality
Aqara
I have been testing how they handle transitions between brightness levels and colors.
Light Starts On
If the light is turned on they all seem to work in one of two ways:
Do a simple RGB transition.
Separate brightness and color, so transition them both over time.
The difference in approach isn’t super noticeable unless you are radically changing both the color and the brightness - generally more expensive bulbs look better.
Light Starts Off
However if the bulb is OFF, different manufactures handle the transition very differently:
Philips Hue
Treats “off” as brightness zero.
Hence they gradually fade up the brightness to the requested level.
At the same time they transition the color from the color that the light was when it was turned off to the new color.
Sengled
Has a unique quirk, it appears to store the attribute separately:
Brightness
Color Temperature
Color (XY)
Which color mode (XY or Temperature) it is currently using.
When turned on, it immediately returns to its previous settings (Brightness, color & color mode).
If you change between Color Temp and XY that change happens immediately.
Then both the color and brightness transition to the new values
To say that another way when in XY color mode Sengled bulbs remember their last color temperature too (and vice versa).
Third Reality
Changes to the new color (before any light is visible)
Then gradually increases the brightness to the new level.
Aqara
Briefly flashes the old color.
Instantly switches to the new color.
Then gradually increases the brightness to the new level.
Are there any standards around this behavior, or is it just a crap shoot based on which manufacturer you buy, what behavior you get?
It’s a crap shoot & entirely manufacturer (and integration) dependent.
There’s plenty of old threads here about it, mostly about the fact that the majority of lights don’t allow you to set colour while the light is off to avoid the brief flash with the old colour when turning on.
I’m guessing transition is similarly affected by this, though it’s good to know that Third Reality bulbs seem to handle it properly.
Hue also lets you change color before any light is visible, if you prefer the Third Reality behavior.
If your bulbs are on ZHA/Z2M, just change the XY color attribute before turning them on.Correction Mar 1: It looks like a Hue Bridge is required to access this feature, as Z2M appears not to support it.
If you use a Hue Bridge, I built an integration to set brightness and color temperature while bulbs are off, and can add XY color easily too if people want it. More info at “Set/Check Brightness or Color Temp Without Turning On” in this post.
That’s odd. It sounds like Z2M isn’t passing the message to the bulb while off, or I’m mistaken about Hue supporting color pre-staging, or you’re using a different bulb to me.
What happens if you try to change brightness or color temperature on your bulb while it’s off? Those are definitely supported by regular Hue bulbs. If it still doesn’t work, is your bulb a regular Hue or a Hue Essential? The latter is Signify’s lower-cost entry point range and they may have stripped this feature from Essential.
Dang! I assumed that Z2M can do everything the Hue hub does, based on the number of threads that extol the virtues of replacing the Hue Bridge with ZHA/Z2M. It sounds like Hue Bridge is better after all for some use cases.
Sorry for getting your hopes up. I’ll correct my post above.
I don’t have a color Hue bulb to test, hence why I didn’t implement color yet in my integration.
But I’m 99% sure you’ll find it works, assuming you have a V2 hub, because:
Color Temperature and Brightness work fine
Color is documented in Hue’s API identically to Color Temp and Brightness in the PUT call, with no caveats. (You need to register for a free account to view the API doc).
This reddit post (“API V2, can you really not set the color/brightness of a group while it’s turned off? Seems to only works with individual lights”) implies the author has color working fine for individual Hue lights. Their complaint is that API-while-off doesn’t work with groups; I discovered that same behavior for CT and brightness while testing my integration, and fixed it by creating one API call per grouped bulb.
LMK how you get on with testing on your old hub, or if you want me to add color to the integration for you to test. I’m curious…