Hey all! I’d like to share my new app: Adaptive Lighting.
It automatically adjusts the color temperature and brightness of your lights throughout the day based on the actual sun position at your location. Cool and bright during the day, warm and dim in the evening.
How it works
The app calculates the sun’s elevation using your Homey’s geolocation and translates that into a smooth lighting curve. Color temperature ranges from 2000K (warm) at night up to 5500K (cool) at solar noon. Brightness ramps up around sunrise and back down around sunset.
Everything updates once per minute, so changes are basically invisible.
Getting started
Install the app from the Homey App Store (requires firmware 12.4.0+)
Open the app settings (Apps → Adaptive Lighting → Gear icon → App Settings)
Tap “Add Lights” and select the lights you want to control
Done. The app starts working immediately.
From there you can optionally tweak things:
Set global min/max Kelvin and brightness ranges
Set per-light overrides for supported Kelvin and brightness ranges
Choose a brightness transition speed (Normal, Relaxed, Gentle, Ultra-gentle)
Pick a temperature sync mode (per device, consistent across all lights, or consistent per zone)
Hit “Preview Curve” to see the full 24-hour curve for your location
Override detection
If you manually change a light (via the Homey app, a remote, flow, or another app), Adaptive Lighting tries to detect this and backs off. It won’t fight you. Temperature and brightness are tracked independently, so dimming a light manually doesn’t affect its color temperature control. The override clears automatically when the light is turned off. You can also clear it manually from the settings page.
Flow cards
Four action cards included:
Pause/resume control for a specific light (temperature, brightness, or both)
Pause/resume the entire system
Handy for things like pausing brightness during movie night, or resuming everything when you get home.
Good to know
Dim-only lights (no color temperature) are supported too, the app just controls their brightness
Sunrise is clamped between 06:00-08:30 and sunset between 17:30-21:00 to prevent weird behaviour in extreme seasons
When a light turns on it immediately tries to sync
Available in 13 languages
Feedback and feature requests welcome, especially now that the app is still in the testing phase!
Changelog:
Version
Details
Date
1.0.0
First version!
2026-02-21
1.0.1
Add community forum topic link
2026-02-21
1.0.2
Improve performance by reducing updates that are send to the lights
2026-02-21
1.0.3
Updated the settings page, included a log viewer.
2026-02-22
1.0.4
Remove icon library to keep app size down, use icon SVGs directly
2026-02-22
1.0.5
Removed unused sentry environment value
2026-02-22
1.1.0
Simplified override detection to use pure value comparison
2026-02-22
1.1.1
Add the ability to offset the sun altitude to tweak the temperature curve
2026-02-23
1.1.2
Add offset options for sunrise and sunset to control brightness during the day
2026-02-23
1.1.3
Improved slider styling to visualize the move away from the center
2026-02-24
1.1.4
Added skip in brightness override detection when dim reports zero
2026-02-24
1.1.5
Reworked the settings to include more hints for individial settings
2026-02-24
1.1.6
Add missing hint locales
2026-02-24
1.1.7
Improved robustness at edge cases and added input validation throughout
2026-02-24
Public release!
1.1.8
Fix crash due to null value capability
2026-02-26
1.1.9
Detect RGB color changes and pause temperature control
2026-02-27
1.2.0
Added zone-based pause/resume flow cards
2026-01-02
1.2.1
Fixed incorrect calculations for users outside the UTC timezone
2026-01-02
1.3.0
Added device group awareness with automatic migration
Good question! Both apps try to accomplish the same result, the main difference is in the approach.
Circadian Lighting exposes a virtual device whose values you use in flows to control your lights yourself. Adaptive Lighting skips that step and controls your lights directly, you don’t need any flows needed, and automatically tries to detect manual changes so it won’t keep fighting you.
I have actually used the Circadian Lighting app myself before building my own app, and it’s really great! But I ran into an issue with lights in the same room having different temperature ranges. Since it outputs a single value between 0 and 1, lights with different ranges end up at different color temperatures. Adaptive Lighting can map the circadian curve to each light’s individual range, keeping everything visually in sync.
That’s the main reason I’ve started building my own app and I took a different approach so there is something to choose based on what works best for people; flows versus a more hands-off approach. Both have their advantages
In the latest test version i’ve added an option to set an offset for the sun altitude, which will affect the temperature. I’ll be working on offsets for sunrise and sunset next, which will affect the brightness instead.
Edit: Offsets for the sunrise and sunset are added now as well to fine tune the brightness.
I’ve submitted version 1.1.7 for certification, but it could take a bit longer since the app requires permission to control your Homey. The version won’t automatically be released on the app store once approved, as I’ll hold this version in testing for a little bit to see if any last bugs show up.
Adaptive Lighting is now publicly available!
The app has been released to the Homey App Store and is ready for everyone to use.
Quick update: Version 1.1.8 has just been published with a fix for a small crash that was discovered shortly after release. If you’re installing now, you’ll automatically get this stable version.
There seems to be an error with lights that support color. If you change the color, the app does not detect it and will overwrite it back to a color temperature. Is this intentional?
Thanks for catching this! That’s definitely not intentional, the app should respect manual color changes, but this has been an oversight.
For now, Id recommend disabling Adaptive Lighting for that specific light. I’ll be working on a fix this weekend and will get it out as soon as possible.
Hi @Waldo , interesting app ! Seems I could be getting rid of such flows, like the one below…I just wonder, any idea/plans implementing controls for lights with Night Mode ? Eg. in case of Yeelights (not sure if this is valid also for some other brands - API ) you can turn on Night mode, which basically turn light to yellow (warm light) and allow decreasing brightness even below min. level 1% during day mode. It’s also visible what I’m doing with it on the flow below. The dis-advantage is that it’s 1st time turn on bright and then decrease, which is annoying - with your app, seems this side effect is not occurring.
(just ignore the condition card above, it was there for some reason but now it’s just backup) Also - night mode is “too low”, so basically it’s used only when kids going to sleep…that’s why the time condition.
And nice to hear the smooth transition without that bright flash is already an improvement for you.
As for Night Mode; because it is a brand specific feature for those Yeelights and not part of Homey’s default light capabilities, I probably won’t be adding direct support for it anytime soon. For now I want to keep the focus on the core functionality that would works across all light brands. That being said, it’s not off the table entirely. if the app matures and there’s enough demand for brand specific features like these, I’d be open to revisiting it.
In the meantime, the app does come with a few flow cards, so you could set up a flow that disables Adaptive Lighting when Night Mode is activated and re-enables it when Night Mode is turned off, if that’s something you’d need.
Welcome to Homey, and thanks for trying out the app!
You’re not doing anything wrong… you’ve actually uncovered a timezone bug.
It turns out Homey always runs its internal clock in UTC regardless of your location. Since Phoenix is UTC-7, the app was calculating your light targets as if it were 7pm instead of 12pm, which explains the 1% brightness.
I never caught this myself since I’m in UTC+1, so the difference was never noticeable enough on my end. I am updating the app to properly convert time based on timezones, I’ll post the test link as soon as the test version is live. I might even have it up this evening.
Thanks for the suggestion! Could you provide a specific example of how you’d use separate groups? My German isn’t great, so I want to make sure I fully understand the use case before considering it.
Good news, I’ve pushed a test version with the timezone fix!
You can install it from here:
Would you mind giving it a try and letting me know if the targets look correct for your timezone now? If so, I can promote this build to a release version.
Ich habe im eingang die lampen so eingestellt xas sich die farbe und die helligkeit anpassen, und im wohnzimmer eine Beleuchtung wo ich nur die farbe stellen möchte, also eine zone wo ich beides steuern möchte und eine zweite zone wo ich nur die Farbtemperatur zu steuern wäre.
wäre schon cool wenn das über die app möglich wäre.