Manual Control
Adaptive Lighting is designed to work seamlessly with manual adjustments, detecting when you or another source changes light settings and pausing adaptation accordingly.
How It Works
Adaptive Lighting is designed to automatically detect when you or another source (e.g., automation) manually changes light settings đšī¸.
When this occurs, the affected light is marked as "manually controlled," and Adaptive Lighting will not make further adjustments until the light is turned off and back on or reset using the adaptive_lighting.set_manual_control service call.
This feature is available when take_over_control is enabled.
Additionally, enabling detect_non_ha_changes allows Adaptive Lighting to detect all state changes, including those made outside of Home Assistant, by comparing the light's state to its previously used settings.
The adaptive_lighting.manual_control event is fired when a light is marked as "manually controlled," allowing for integration with automations đ¤.
â ī¸ Caution: Some lights might falsely indicate an 'on' state, which could result in lights turning on unexpectedly. Disable
detect_non_ha_changesif you encounter such issues.
Configuration Options
take_over_control
When enabled (default: true), Adaptive Lighting detects light.turn_on service calls that specify brightness or color values. If such a call is detected for a light that's already on, that light is marked as "manually controlled".
adaptive_lighting:
- name: "With manual control detection"
lights:
- light.living_room
take_over_control: true # default
take_over_control_mode
Controls how adaptation pauses when manual changes are detected:
| Mode | Behavior |
|---|---|
pause_all |
Pause both brightness and color adaptation (default) |
pause_changed |
Only pause adaptation of the changed attribute |
adaptive_lighting:
- name: "Selective pause"
lights:
- light.living_room
take_over_control: true
take_over_control_mode: pause_changed # Only pause changed attributes
detect_non_ha_changes
When enabled, Adaptive Lighting detects state changes made outside of Home Assistant by comparing the light's current state to its previously applied settings.
Warning
Use with caution. Some lights may falsely report an "on" state, which could result in lights turning on unexpectedly. Disable this option if you encounter such issues.
adaptive_lighting:
- name: "Detect external changes"
lights:
- light.living_room
take_over_control: true
detect_non_ha_changes: true
autoreset_control_seconds
Automatically resets the manual control flag after a specified number of seconds. Set to 0 to disable (default).
adaptive_lighting:
- name: "Auto-reset after 2 hours"
lights:
- light.living_room
take_over_control: true
autoreset_control_seconds: 7200 # 2 hours
adapt_only_on_bare_turn_on
When enabled, Adaptive Lighting only adapts lights when light.turn_on is called without specifying brightness or color. This is useful when you want scenes to work without interference.
adaptive_lighting:
- name: "Respect scenes"
lights:
- light.living_room
take_over_control: true
adapt_only_on_bare_turn_on: true
Checking Manual Control Status
You can see which lights are marked as manually controlled by checking the switch attributes:
- Go to Developer Tools â States
- Find your Adaptive Lighting switch (e.g.,
switch.adaptive_lighting_living_room) - Look at the
manual_controlattribute - it lists all manually controlled lights
Resetting Manual Control
Via Service Call
service: adaptive_lighting.set_manual_control
data:
entity_id: switch.adaptive_lighting_living_room
lights:
- light.floor_lamp
manual_control: false # Resume adaptation
By Turning Light Off and On
Simply turning a light off and then back on will reset its manual control status.
Via Automation
See Automation Examples for automation recipes that automatically reset manual control.
Events
When a light is marked as manually controlled, Adaptive Lighting fires an event:
Event type: adaptive_lighting.manual_control
Event data:
You can use this event to trigger automations:
automation:
- alias: "Notify on manual control"
trigger:
platform: event
event_type: adaptive_lighting.manual_control
action:
- service: notify.mobile_app
data:
message: "{{ trigger.event.data.entity_id }} was manually adjusted"
Best Practices
- Use Zigbee groups when controlling multiple bulbs together - this ensures consistent manual control detection
- Set reasonable autoreset times if you want lights to eventually resume adaptation
- Use
pause_changedmode if you only adjust brightness or color individually - Disable
detect_non_ha_changesif you experience unexpected light turn-ons