For the first time, Adaptive Lighting's pull request backlog is empty.
I've finally worked through the pull request backlog: 89 pull requests merged, zero left open, and 60 issues closed along the way. Some contributions had been waiting for years. If yours was one of them, thank you for your patience.
There are still 140 open issues, so there's plenty left to do. And closing an issue doesn't always mean fixing a bug: some were already resolved or superseded, and some requests were better served by a Home Assistant automation. The goal was to fix real problems and keep Adaptive Lighting simple.
Before you update
Home Assistant 2025.9 or newer is now required. We support roughly one year of Home Assistant releases. If you're on an older version, stay on Adaptive Lighting v1.31.0 until you update Home Assistant.
Highlights
- More reliable manual control. Fixes for shared light profiles, auto-reset timers, and brightness/color tracking. Lights resume adapting when the timer expires, and Adaptive Lighting's own updates no longer keep restarting it.
- Better light-group behavior. Missing split-command follow-ups now reach every light, turning a light off cancels its pending command, and area targets respect Home Assistant's exclusions.
- Five ready-to-import blueprints. Synchronize sleep mode, apply a daylight brightness limit, use a Schedule helper, or turn lights off or pause brightness adaptation at the minimum. Browse the examples and import buttons.
- A tidier settings screen and easier troubleshooting. Advanced options are collapsible, settings changes save correctly for older configurations, duplicated entity naming is fixed, and Home Assistant's Download diagnostics action is now available.
- Fixes for unusual lighting schedules and devices. Adaptation keeps working during polar night and midnight sun, inverted brightness ranges work correctly, and quantized brightness/color-temperature readings no longer cause endless redundant commands when command filtering is enabled. Periodic updates are staggered to reduce bursts of traffic.
- A few optional controls. Keep light groups as single targets with
expand_light_groups: false, preserve manual control across sleep changes withreset_manual_control_on_sleep_mode_change: false, or treat turn-ons without a matching Home Assistant context as manual withmanual_control_on_external_turn_on: true.
This release also brings translation fixes, more regression tests, and line and branch coverage reporting. We now run 467 tests across supported Home Assistant versions and its development branch.
Thank you to everyone who contributed code, translations, bug reports, ideas, and reproductions. This release includes years of your work.
From the author: MindRoom
The response to MindRoom in the last release was so enthusiastic that I wanted to share it here again. Thank you for all the kind messages!
MindRoom is my open-source project for AI agents that live in your chat rooms. They remember previous conversations, work together, and connect to tools including Home Assistant. It's built on Matrix, works with cloud or local models, and you can self-host the whole stack. You can also bring the same agents into Slack, Telegram, Discord, and WhatsApp through Matrix bridges.
If that sounds useful, take a look at MindRoom, try it, or leave a star ⭐. I'd love to hear what you build with it.
Full list: 89 merged pull requests and 62 closed issues
These lists cover the period since v1.31.0. Of the 62 issues below, 60 were closed during this backlog cleanup and two were closed earlier in the release cycle. Closed issues include fixed, superseded, and declined reports or requests.
Merged pull requests
- #1580 chore: release v1.32.0 (by @basnijholt)
- #1579 fix: synchronize sleep mode and mixed-light split timing (by @basnijholt)
- #1578 Pause brightness at minimum using existing manual-control resets (by @basnijholt)
- #1577 Add validated blueprints for common automation examples (by @basnijholt)
- #1576 docs: add lehneres as a contributor for ideas (by allcontributors[bot])
- #1575 Add on-demand Home Assistant diagnostics (by @basnijholt)
- #1574 docs: add timstallmann as a contributor for code (by allcontributors[bot])
- #1573 docs: add hesseleo as a contributor for code (by allcontributors[bot])
- #1572 docs: add alistairg as a contributor for code (by allcontributors[bot])
- #1571 docs: add jaynis as a contributor for code (by allcontributors[bot])
- #1569 Respect manual changes across shared light profiles (by @basnijholt)
- #1567 Cancel pending transition timers when the integration unloads (by @basnijholt)
- #1566 Set conservative coverage floors for supported Home Assistant versions (by @basnijholt)
- #1565 Test sleep events, reload cleanup, timers, and startup groups (by @basnijholt)
- #1564 Publish line and branch coverage reports in CI (by @basnijholt)
- #1563 docs: add abkslm as a contributor for bug (by allcontributors[bot])
- #1562 docs: add zpriddy as a contributor for ideas (by allcontributors[bot])
- #1561 Fix autoreset timer renewal for unchanged physical light states (by @basnijholt)
- #1560 Fix missing follow-up commands during multi-light interception (by @basnijholt)
- #1559 Fix causal context links for intercepted light calls (by @basnijholt)
- #1558 docs: add GollyJer as a contributor for bug (by allcontributors[bot])
- #1557 docs: add Mariuss811 as a contributor for bug (by allcontributors[bot])
- #1556 docs: add protyposis as a contributor for ideas (by allcontributors[bot])
- #1555 docs: add 00schteven as a contributor for ideas (by allcontributors[bot])
- #1554 docs: add b-rad15 as a contributor for ideas (by allcontributors[bot])
- #1553 docs: add jrbergen as a contributor for ideas (by allcontributors[bot])
- #1552 docs: add GollyJer as a contributor for ideas (by allcontributors[bot])
- #1551 docs: add BenoitAnastay as a contributor for ideas (by allcontributors[bot])
- #1550 docs: add djurny as a contributor for ideas (by allcontributors[bot])
- #1549 docs: add haasn as a contributor for ideas (by allcontributors[bot])
- #1548 docs: add mrbillpapas as a contributor for ideas (by allcontributors[bot])
- #1547 docs: add rhtenhove as a contributor for code (by allcontributors[bot])
- #1546 ci: support one year of Home Assistant releases (by @basnijholt)
- #1545 docs: add chewth91 as a contributor for bug (by allcontributors[bot])
- #1544 docs: add bisquit2003 as a contributor for bug (by allcontributors[bot])
- #1543 docs: credit Weblate-only translators (by @basnijholt)
- #1542 docs: add sergeybelozorov as a contributor for translation (by allcontributors[bot])
- #1541 docs: add rutgerkra as a contributor for translation (by allcontributors[bot])
- #1540 docs: add LukTyn as a contributor for translation (by allcontributors[bot])
- #1539 docs: add belkin as a contributor for translation (by allcontributors[bot])
- #1538 fix: publish manual-control state when it changes (by @basnijholt)
- #1537 docs: add frankysan as a contributor for translation (by allcontributors[bot])
- #1536 docs: add MSL-DA as a contributor for translation (by allcontributors[bot])
- #1535 docs: add automation alternatives for custom lighting profiles (by @basnijholt)
- #1534 Restore missing Russian option labels (by @basnijholt)
- #1533 Restore missing Weblate translations (by @basnijholt)
- #1532 test: keep split-command brightness checks deterministic (by @basnijholt)
- #1529 docs: add davidgeiger as a contributor for bug (by allcontributors[bot])
- #1528 docs: add callistoprime as a contributor for bug (by allcontributors[bot])
- #1527 docs: add kasiom as a contributor for translation (by allcontributors[bot])
- #1526 docs: add marijneken as a contributor for doc (by allcontributors[bot])
- #1525 fix: keep adaptation updates from restarting manual-control timers (by @basnijholt)
- #1524 fix: allow negative service offsets (by @basnijholt)
- #1523 fix: restore Czech options placeholders (by @basnijholt)
- #1522 ci: check out the workflow commit during test setup (by @basnijholt)
- #1521 docs: add mueslo as a contributor for code (by allcontributors[bot])
- #1520 docs: add jaredjxyz as a contributor for code (by allcontributors[bot])
- #1519 docs: add proscar87 as a contributor for code (by allcontributors[bot])
- #1518 docs: add Dennis-Dekker as a contributor for code (by allcontributors[bot])
- #1517 docs: add imwithsam as a contributor for code (by allcontributors[bot])
- #1516 docs: add cperuffo3 as a contributor for code (by allcontributors[bot])
- #1513 fix: use quantization-aware comparison in skip_redundant_commands filter (by @cperuffo3)
- #1511 Preserve Home Assistant area target exclusions (by @mueslo)
- #1507 fix: clamp() collapsed to minimum when min_brightness > max_brightness (by @proscar87)
- #1506 fix: re-adapt lights right after the auto-reset timer fires (timer cancelled its own callback) (by @Dennis-Dekker)
- #1504 Fix options flow changes silently discarded for pre-refactor UI entries (by @imwithsam)
- #1501 ⬆️ Update astral-sh/setup-uv action to v10 (by renovate[bot])
- #1500 Stagger adaptation interval start with a per-switch offset (by @proscar87)
- #1499 Adopt has_entity_name to fix duplicated entity ids on HA 2026.4+ (by @proscar87)
- #1496 ⬆️ Update astral-sh/setup-uv action to v9 (by renovate[bot])
- #1493 ⬆️ Update actions/setup-python action to v7 (by renovate[bot])
- #1490 Add manual_control_on_external_turn_on option (by @alistairg)
- #1489 fix: keep adapting during polar night and midnight sun (by @basnijholt)
- #1488 Enhance Danish translation description for adaptive lighting (by @MSL-DA)
- #1479 ⬆️ Update actions/checkout action to v7 (by renovate[bot])
- #1475 ⬆️ Pin dependencies (by renovate[bot])
- #1469 feat: expose per-attribute manual_control as state attributes (by @jaredjxyz)
- #1462 feat: add expand_light_groups option (by @hesseleo)
- #1436 ⬆️ Update pytz to v2026 (by renovate[bot])
- #1423 Only run the `validate_hacs` CI action on the upstream repo. (by @ademuri)
- #1419 ⬆️ Update python to v3.14.7 (by renovate[bot])
- #1412 Minor update to Swedish translation (by @frankysan)
- #1403 Register service actions in async_setup for Bronze tier compliance (by @ademuri)
- #1313 Implement collapsible sections for options flow (by @basnijholt)
- #1229 [pre-commit.ci] pre-commit autoupdate (by pre-commit-ci[bot])
- #1063 Allow opting out of manual-control reset on sleep changes (by @rhtenhove)
- #1031 docs: clarify that UI setup needs no YAML entry (by @marijneken)
- #756 Add Lonsonho ZB-RGBCW to troubleshooting (by @basnijholt)
- #319 Add test_expand_light_groups (by @basnijholt)
Closed issues
- #1530 Autoreset timer keeps restarting with detect_non_ha_changes enabled
- #1515 # Home Assistant Adaptive Lighting Issue Template
- #1512 skip_redundant_commands never converges on quantized attributes
- #1510 Interceptor turns on unmanaged service lights in area where it manages at least one light
- #1508 Autoreset timer breaks when take_over_control_mode is set to pause_changed
- #1503 Czech translation is missing required {webapp_url} and {docs_url} placeholders
- #1498 RuntimeError: loop ... is not the running loop in state_changed_event_listener on HA Core 2026.8 beta
- #1497 Allowing negative offsets in services.yaml to fix iOS negative input issues
- #1487 Newest update seems to be pushing some AI slop
- #1485 Arctic conditions \ Polar Circle madness
- #1484 Deprecated get_astral_location function
- #1477 Export configuration feature
- #1473 separate_turn_on_commands only fully adapts the first light during multi-light intercept
- #1471 Enabling "Sleep Mode" unexpectedly fires a manual_control event.
- #1459 Entity naming is duplicated since HA Core 2026.4.0b0
- #1443 Action for Finding if light is currently set for adaptive lighting
- #1431 Adding to YAML really required?
- #1428 Allow per-light temperature correction
- #1421 Tanh and Linear modes remain at min_brightness forever if it is higher than max_brightness (inverted timescale)
- #1373 Race condition with separate_turn_on_commands causes lights to show 'on at 0% brightness' after turn_off
- #1369 Thank you
- #1362 Cannot add lights via UI
- #1339 Ability to template / copy settings
- #1281 Support template for sunrise time
- #1233 autoreset_control_seconds fails to disable manual mode
- #1203 Broken in 2025.5
- #1201 Min and Max Color temperature using variables
- #1194 Variable Starting times (workdays vs holydays)
- #1184 Cannot enter min/max times later than 11:59:00
- #1182 Deprecated constant
- #1179 Lightener
- #1144 Using Deprecated Constants as of 2025.1
- #1138 No support for bad weather?
- #1074 Decrease brightness during daylight?
- #1068 Use entity Friendly names in GUI Configuration
- #1060 Keep manual lights manual when changing sleep mode
- #1058 WARNING (MainThread) [homeassistant.helpers.frame] Detected code that calls async_forward_entry_setup for integration adaptive_lighting
- #1054 AttributeError: 'SimpleSwitch' object has no attribute '_current_settings'
- #1034 Hue Zones/groups no longer work in Adaptive Lighting
- #1011 Meross MSL100 Dimmable Light Not Appearing
- #988 Integration fails to load if sleep/brightness/color switch is disabled
- #957 Search light by name in the lights list
- #939 Zigbee Congestion - Spread Change Over Time
- #904 Integration with PWS solar sensor
- #901 Errors in log
- #889 Take Over Brightness Option
- #858 Sleep Mode Xiaomi/Yeelight "moonlight" mode.
- #836 Add an option to use night mode of lights in sleep mode
- #827 Calling service adaptive_lighting.change_switch_settings
- #812 Made a concept for what a revamp to the config could look like
- #802 Take_over_control not working when Separate_turn_on_commands is activated
- #800 AL when controlling lights using Zigbee groups (ZHA) stopped working
- #799 Node Red deprecation warning for service calls
- #794 Provide a service that forces lights to adjust
- #769 Some AL rooms don't work anymore - color temp
- #730 manual_control is broken with having two switches for the same light (one brightness and one color)
- #600 Adaptive Lighting Graphs
- #290 Separate adaptive_lighting.set_manual_control service into brightness and color
- #271 Possible for AL to update the color of a Hue Scene?
- #138 Adaptive lightning doesn't work at all if sun is always above the horizon
- #105 Unconventional sunrise and sunset times .
- #88 Option to invert the brightness changes
