@adamkempenich I found your port of this app, and it works really well .... except for one major issue. It overrides my lamps' brightness to 100%, even when the "Enable Dynamic Brightness?" option is not turned on. Any ideas?
I really want to use this instead of HomeKit Dynamic lighting as it seems much more responsive in my testing using LiFX Bulbs, and doesnt turn lights back on, when they were just turned off, as a result.
I've been meaning to come back to this for ages... I have been becoming increasingly... unhappy... with the fixed nature of my mode-based lighting. I am probably getting closer to looking into something like this, so would love to see some more activity around it, if only conversation...
Apple HomeKit dynamically changes the colour temp based on time of day, without changing the brightness.
An example of the CD app behaviour not being desirable is our bed lamps. In the morning I have a routine triggered by "Alexa, good morning", that sets the lamps to 10% brightness, and then over 2 minutes slowly ramps the lights up to 50%. Homekit is able to change the colour temp on the fly without messing with the brightness.
CD overrides my brightness and sets the lights straight to 100% every time I attempt to change the brightness level.
One thing I have found that works is using a virtual bulb with Circadian Daylight as an in-between the app and your real bulbs. Basically, I've run it in two different ways that gets around the brightness issue. In both instances, CD sets the color temperature of a virtual bulb and I do one of the following:
1.) Set up a Hub Variable for color temperature that changes as the virtual bulb changes. Then I use the variable in Room Lighting and other places as necessary.
2.) Use [PRERELEASE] Virtual Prestaging as an in-between the virtual bulb and my real bulbs. I can set Virtual Prestaging to just sync color temperature and ignore brightness.
As I do not know the first thing about coding, I've had to get creative with the brightness bug in CD; otherwise, I love the app!
I actually do both. By having the value in the variable so Room Lights et al. send the CT to the bulb when it turns on, it reduces the flash of the old color temperature. Then Virtual Prestaging takes over updating the color temperature once the light is on.
I just have Rule Machine handle the change of CT over time:
I installed Adam's app a month or two ago just to see how I liked having the bulb in my workspace change CT as the day went on. I then jumped into the code to try to change one little thing. I got hooked on the development aspect and I've ended up spending the last month tinkering with it. Well, to be honest I've basically re-written the whole thing. I've worked through the to-do list in Adam's code and added a few things for myself. At this point I think it's in pretty stable shape, at least for the functionality that I use.
To address a couple of points in this topic, I have completely separated the CT updates from the brightness updates. If you turn off Dynamic Brightness it will continue to change the CT. Also, I tamed that jump to 100% at the end of the day (this was my original reason for taking a look at the code). Finally, it will not attempt to change a bulb that is off, and will apply the current values when it is turned on without thinking that the brightness was manually overridden, thus disabling the updates.
I'd be happy to share my code with Adam or anyone else that's interested. I renamed the app so it won't stomp on any current instances of CD, but I think the look and feel are pretty similar. I don't have a github account so I don't know which distribution would work best. And again, it's working well for my particular settings, but no comprehensive testing has been done.
@OldChicagoPete I'd be willing to take your app for a spin if you wanted a tester in a different environment. I've got a vacant guest room with hue color bulb that would work nicely since it is not currently in use (i.e. about 6 weeks of testing without bothering the family in more common spaces). Feel free to shoot me a message if you are interested.