mirror of
https://github.com/basnijholt/adaptive-lighting.git
synced 2026-09-28 12:54:22 +02:00
## Summary - Fixes regression in v1.30.0 where lights turned on by automations were incorrectly marked as "manually controlled" - Makes `adapt_only_on_bare_turn_on` respect individual attribute tracking from #1356 ## Root Cause PR #1356 added a call to `update_manually_controlled_from_event()` in the `turn_on_off_event_listener.on()` handler for ALL `light.turn_on` events, including when turning a light on from OFF state. When an automation turns on a light with brightness/color attributes, this incorrectly marked the light as "manually controlled", preventing Adaptive Lighting from adapting it. ## Fix 1. Only call `update_manually_controlled_from_event()` when the light was **already ON** before the turn_on event. Turning on from OFF is handled by `_respond_to_off_to_on_event()`. 2. Make `adapt_only_on_bare_turn_on` respect `take_over_control_mode`: - With `PAUSE_CHANGED`: Only pause adaptation of specified attributes, continue adapting unspecified ones - With `PAUSE_ALL`: Pause all adaptation (existing behavior) ## Expected Behavior After Fix | Scenario | `adapt_only_on_bare_turn_on` | `take_over_control_mode` | Result | |----------|------------------------------|--------------------------|--------| | Turn on from OFF with brightness | `false` | Either | NOT manually controlled | | Turn on from OFF with brightness | `true` | `PAUSE_ALL` | All adaptation paused | | Turn on from OFF with brightness | `true` | `PAUSE_CHANGED` | Only brightness paused, color adapts | | Turn on from OFF without attributes | Either | Either | NOT manually controlled | | Change brightness while ON | Either | Either | Brightness manually controlled | ## Test plan - [x] Turn on light via automation with brightness/color (`adapt_only_on_bare_turn_on=false`) - should adapt - [x] Turn on light via scene (`adapt_only_on_bare_turn_on=true`, `PAUSE_ALL`) - should pause all adaptation - [x] Turn on light with brightness only (`adapt_only_on_bare_turn_on=true`, `PAUSE_CHANGED`) - should adapt color - [x] Both intercept=True and intercept=False paths tested for consistency - [x] CI tests pass Fixes #1378 Co-authored-by: Mario Guggenberger <mg@protyposis.net> |
||
|---|---|---|
| .. | ||
| af.json | ||
| bg.json | ||
| bn.json | ||
| ca.json | ||
| cs.json | ||
| da.json | ||
| de.json | ||
| el.json | ||
| en.json | ||
| es.json | ||
| et.json | ||
| fi.json | ||
| fr.json | ||
| gl.json | ||
| hr.json | ||
| hu.json | ||
| id.json | ||
| it.json | ||
| ja.json | ||
| ko.json | ||
| LICENSE.md | ||
| nb.json | ||
| nl.json | ||
| pl.json | ||
| pt-BR.json | ||
| pt.json | ||
| ro.json | ||
| ru.json | ||
| sk.json | ||
| sl.json | ||
| sv.json | ||
| ta.json | ||
| tr.json | ||
| uk.json | ||
| ur.json | ||
| zh-Hans.json | ||
| zh_Hant.json | ||