Commit graph

1,174 commits

Author SHA1 Message Date
Bas Nijholt
f7b50b12d9
Add validated blueprints for common automation examples (#1577)
* Add minimum brightness automation and blueprint

* Ignore independent profile event order in test

* Add tested blueprints for sleep, schedules, and daylight
2026-09-06 19:59:56 +02:00
allcontributors[bot]
e2a3aae416
docs: add lehneres as a contributor for ideas (#1576)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 19:14:21 +02:00
allcontributors[bot]
51f2878b16
docs: add timstallmann as a contributor for code (#1574)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 19:13:44 +02:00
allcontributors[bot]
d09b15a138
docs: add hesseleo as a contributor for code (#1573)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 19:13:13 +02:00
allcontributors[bot]
46d07388ba
docs: add alistairg as a contributor for code (#1572)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 19:12:41 +02:00
Bas Nijholt
3231a1ac27
Add on-demand Home Assistant diagnostics (#1575)
* Add privacy-safe config entry diagnostics

* Clarify accumulated diagnostics values
2026-09-06 19:11:55 +02:00
allcontributors[bot]
ba2b7a3e44
docs: add jaynis as a contributor for code (#1571)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 19:09:30 +02:00
Bas Nijholt
cda1c2db33
Track manual changes across shared light profiles (#1569) 2026-09-06 19:09:26 +02:00
Bas Nijholt
1d50165eb1
Cancel transition timers when the last profile unloads (#1567) 2026-09-06 17:20:07 +02:00
Bas Nijholt
87486f9eb3
Set conservative line and branch coverage floors for stable HA versions (#1566) 2026-09-06 17:18:47 +02:00
Bas Nijholt
472796215b
Implement collapsible sections for options flow (#1313)
* Implement collapsible sections for options flow

Replace single-form options flow with collapsible sections:
- Basic options always visible (9 fields)
- Advanced options in collapsed section (collapsed by default)
- Single form, no multi-step navigation needed

Changes:
- const.py: Add BASIC_OPTIONS set defining which options are basic
- config_flow.py: Use section() from data_entry_flow to wrap advanced options
- strings.json: Restructure with sections.advanced for section translations
- tests: Update to handle nested section input format

* Update README.md, strings.json, and services.yaml

* Fix: Use vol.Required for section to render properly

* Fix section structure: separate basic and advanced fields in strings.json

* Remove accidentally added files

* Add local directories to gitignore

* Update README.md, strings.json, and services.yaml

* Preserve options behavior with collapsible sections

* Test serialized advanced options section

* fix: preserve config metadata when retrying options

* fix: keep options form defaults serializable

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-09-06 17:18:42 +02:00
Bas Nijholt
c19715dadd
Publish line and branch coverage reports in CI (#1564)
* Report line and branch coverage in CI

* docs: explain coverage reports and behavioral tests

* Calculate coverage percentages from counts for older versions
2026-09-06 17:09:35 +02:00
Bas Nijholt
42c7cd696f
Add focused manual-control and lifecycle regression tests (#1565) 2026-09-06 17:07:53 +02:00
allcontributors[bot]
5632256087
docs: add abkslm as a contributor for bug (#1563)
* docs: update README.md

* docs: update .all-contributorsrc

* Keep contributor names in their original encoding

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 16:56:29 +02:00
allcontributors[bot]
e8c300cf75
docs: add zpriddy as a contributor for ideas (#1562)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 16:54:03 +02:00
Bas Nijholt
bbe5f3837d
Fix autoreset timer renewal for unchanged physical light states (#1561)
* fix: preserve manual-control timeout across polls

* fix: update manual baseline after adaptive writes

* fix: seed manual baseline from tracked changes
2026-09-06 14:25:24 +02:00
Bas Nijholt
c8de38f779
Fix missing follow-up commands during multi-light interception (#1560)
* fix: adapt every member during split multi-light interception

* test: detect template light color-mode storage directly
2026-09-06 14:03:08 +02:00
Bas Nijholt
1f137d2b36
Fix causal context links for intercepted calls (#1559) 2026-09-06 13:50:55 +02:00
allcontributors[bot]
9525d2f243
docs: add GollyJer as a contributor for bug (#1558)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 13:40:04 +02:00
allcontributors[bot]
6e7febee8f
docs: add Mariuss811 as a contributor for bug (#1557)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 13:40:01 +02:00
Bas Nijholt
08e3b817a3
docs: add automation alternatives for custom lighting profiles (#1535)
* docs: add automation alternatives for custom lighting profiles

* docs: make automation restart behavior explicit

* docs: validate automation examples in Home Assistant

* docs: clarify automation prerequisites

* test: exercise automation startup lifecycle
2026-09-06 13:08:17 +02:00
Adam DeMuri
623dd65aef
Register service actions in async_setup for Bronze tier compliance (#1403)
* Register service actions in async_setup for Bronze tier compliance

- Move 'apply' and 'set_manual_control' service registration from async_setup_entry to async_setup.
- Move service handlers to module-level functions in switch.py.
- Update apply_service_schema to support dynamic defaults for transition duration.
- Clean up related unused imports and fix Python 3.10 syntax compatibility.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Clean up and add tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix lint errors

* Automated update of generated docs

* Re-add types

* Make transition not required again

* fix: validate global service targets

* fix: document optional apply transition

* fix: derive service docs from schema markers

* docs: clarify service target options

* fix: preserve entity service target handling

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 13:04:18 +02:00
allcontributors[bot]
ac0336fe34
docs: add protyposis as a contributor for ideas (#1556)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:55:26 +02:00
allcontributors[bot]
00185e75e0
docs: add 00schteven as a contributor for ideas (#1555)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:54:51 +02:00
allcontributors[bot]
6254b56dab
docs: add b-rad15 as a contributor for ideas (#1554)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:54:18 +02:00
allcontributors[bot]
f97e502cbc
docs: add jrbergen as a contributor for ideas (#1553)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:53:46 +02:00
allcontributors[bot]
17b0aa1103
docs: add GollyJer as a contributor for ideas (#1552)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:53:12 +02:00
allcontributors[bot]
8fb22adc45
docs: add BenoitAnastay as a contributor for ideas (#1551)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:52:39 +02:00
allcontributors[bot]
dda664ac7e
docs: add djurny as a contributor for ideas (#1550)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:52:07 +02:00
allcontributors[bot]
6fdbffc7fc
docs: add haasn as a contributor for ideas (#1549)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:51:34 +02:00
allcontributors[bot]
1969a8cdff
docs: add mrbillpapas as a contributor for ideas (#1548)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:50:53 +02:00
allcontributors[bot]
288d9d344a
docs: add rhtenhove as a contributor for code (#1547)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 12:37:02 +02:00
rhtenhove
722779d59b
Allow opting out of manual-control reset on sleep changes (#1063)
* Disable manual control reset on sleep mode change

* adapt test to new behavior

* fix comment

* add switch + test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update auto-generated content

* fix: preserve existing sleep-toggle reset defaults

* fix: keep cancelling stale adaptations on sleep changes

---------

Co-authored-by: Bas Nijholt <basnijholt@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 12:35:45 +02:00
Bas Nijholt
ecf2403422
fix: publish manual-control state when it changes (#1538) 2026-09-06 12:32:40 +02:00
Bas Nijholt
a04a533f45
ci: support one year of Home Assistant releases (#1546) 2026-09-06 12:17:22 +02:00
allcontributors[bot]
0003655828
docs: add chewth91 as a contributor for bug (#1545)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:59:17 +02:00
allcontributors[bot]
508959fff3
docs: add bisquit2003 as a contributor for bug (#1544)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:58:24 +02:00
Bas Nijholt
d6ddd3f27e
docs: credit Weblate-only translators (#1543) 2026-09-06 11:52:39 +02:00
allcontributors[bot]
95ccc02789
docs: add sergeybelozorov as a contributor for translation (#1542)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:49:57 +02:00
allcontributors[bot]
8056fcc5f8
docs: add rutgerkra as a contributor for translation (#1541)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:49:26 +02:00
allcontributors[bot]
3df5787019
docs: add LukTyn as a contributor for translation (#1540)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:48:49 +02:00
allcontributors[bot]
397b50d492
docs: add belkin as a contributor for translation (#1539)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:48:19 +02:00
Bas Nijholt
72128f07ae
Restore missing Russian option labels (#1534)
* feat: restore missing Russian option labels

Restore the translated option labels from PR #1277 that are still absent on current main. Existing Russian values and stale descriptions remain untouched.

Co-authored-by: belozorov_sv <belozorov_sv@magnit.ru>

* fix: drop ambiguous Russian brightness timing labels

---------

Co-authored-by: belozorov_sv <belozorov_sv@magnit.ru>
2026-09-06 11:46:49 +02:00
Bas Nijholt
4973f79c3a
Restore missing Weblate translations (#1533)
* feat: restore missing Weblate translations

Import only translated keys absent from current main whose English source is unchanged. Existing locale values and stale hard-coded URL descriptions remain untouched.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: NataN <natan.ns.ns@gmail.com>
Co-authored-by: Allan Himidi-Rattenborg <allanrlang@gmail.com>
Co-authored-by: Hans Henrik Juhl <hans@kopula.dk>
Co-authored-by: Belkin Fahri <belkinfahri@gmail.com>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Lukas Tynovsky <LukTyn@gmail.com>
Co-authored-by: Rutger <r.kraaijer@gmail.com>
Co-authored-by: Yllelder <yllelder@gmail.com>
Co-authored-by: Hosted Weblate user 144010 <jf.cosse@users.noreply.hosted.weblate.org>
Co-authored-by: Loïc R <loicdu81@gmail.com>
Co-authored-by: Maxime Bailleul <mexx.bailleul@gmail.com>
Co-authored-by: Pose marto <weblate.drainage895@passmail.net>
Co-authored-by: Esspel <eric.soderstrom06@gmail.com>
Co-authored-by: Max <max.bengtzen@icloud.com>

* fix: omit inaccurate restored translations

Drop the imported strings flagged by review for semantic omissions or visible translation errors. English fallback remains available for these keys.

* fix: drop unclear Brazilian Portuguese imports

---------

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: NataN <natan.ns.ns@gmail.com>
Co-authored-by: Allan Himidi-Rattenborg <allanrlang@gmail.com>
Co-authored-by: Hans Henrik Juhl <hans@kopula.dk>
Co-authored-by: Belkin Fahri <belkinfahri@gmail.com>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Lukas Tynovsky <LukTyn@gmail.com>
Co-authored-by: Rutger <r.kraaijer@gmail.com>
Co-authored-by: Yllelder <yllelder@gmail.com>
Co-authored-by: Hosted Weblate user 144010 <jf.cosse@users.noreply.hosted.weblate.org>
Co-authored-by: Loïc R <loicdu81@gmail.com>
Co-authored-by: Maxime Bailleul <mexx.bailleul@gmail.com>
Co-authored-by: Pose marto <weblate.drainage895@passmail.net>
Co-authored-by: Esspel <eric.soderstrom06@gmail.com>
Co-authored-by: Max <max.bengtzen@icloud.com>
2026-09-06 11:46:44 +02:00
Bas Nijholt
187185698e
Add test_expand_light_groups (#319)
* Add test_expand_light_groups

* Add imports

* import

---------

Co-authored-by: Benjamin Auquite <halomastar@gmail.com>
2026-09-06 11:42:55 +02:00
pre-commit-ci[bot]
4c1140c517
[pre-commit.ci] pre-commit autoupdate (#1229)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.11.13 → v0.16.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.13...v0.16.5)
- https://github.com/psf/blackhttps://github.com/psf/black-pre-commit-mirror
- [github.com/psf/black-pre-commit-mirror: 25.1.0 → 26.5.1](https://github.com/psf/black-pre-commit-mirror/compare/25.1.0...26.5.1)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ci: preserve Ruff lint baseline

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 11:38:40 +02:00
Bas Nijholt
6b7dbc3a66
Add Lonsonho ZB-RGBCW to troubleshooting (#756)
* Add Lonsonho ZB-RGBCW to troubleshooting

* add link
2026-09-06 11:36:51 +02:00
allcontributors[bot]
92c071f4f3
docs: add frankysan as a contributor for translation (#1537)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:36:23 +02:00
allcontributors[bot]
179cb2ef30
docs: add MSL-DA as a contributor for translation (#1536)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2026-09-06 11:35:48 +02:00
frankysan
cd1e653da5
Minor update to Swedish translation (#1412)
Removed a superfluous "Swedish: " from the description of the manual control option.

Co-authored-by: Bas Nijholt <basnijholt@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2026-09-06 11:35:11 +02:00