-
-
Notifications
You must be signed in to change notification settings - Fork 183
Open
Labels
Description
TL;DR
When manual control is detected, freeze only the attribute(s) I touched (brightness or color), and keep adapting the other.
Problem
Currently, if I manually change a light while take_over_control is enabled, the light is marked “manually controlled” and all adaptation stops until reset/off-on — even if I only tweaked brightness (or only color).
This means:
- If I dim a light at night, the color temp stops adapting too.
- If I shift color manually, brightness adaptation also stops.
- To work around this, people toggle the global
adapt_brightness/adapt_colorswitches or reset manual control via automation.
This breaks the “it just works” feeling and adds complexity.
Proposed behavior
Let Adaptive Lighting detect which attribute changed and only freeze that one:
- If brightness changes → keep adapting color.
- If color changes → keep adapting brightness.
- If both change → behave as today (full manual).
Optional configuration (default keeps current behavior):
manual_control_policy: "all" | "changed_only" | "brightness_only" | "color_only"
# default: "all"Example:
adaptive_lighting:
- name: living_room
lights: [light.living_room]
take_over_control: true
detect_non_ha_changes: true
manual_control_policy: changed_onlyWhy this helps
- Matches intuition: “I dimmed it; keep the circadian tone.”
- Avoids constant resets or extra automations.
- Backwards-compatible by default.
- Makes Adaptive Lighting feel smarter and more natural.
What exists today (for context)
- When manual control is detected, AL disables all adaptation until reset/off-on.
- Separate switches (
…_adapt_brightness/…_adapt_color) exist but are global, not per-light or per-change. - Users have asked for “keep adapting color when I change brightness” behavior in discussions and issues, showing clear demand.
✅ In short:
Give Adaptive Lighting the ability to respect what was changed manually instead of turning off everything.