Commit graph

1,010 commits

Author SHA1 Message Date
Bas Nijholt
4feaf2c291
Add bidirectional color mode change detection (issue #1275) (#1299)
Extract _has_color_mode_changed() function that checks original attributes
BEFORE conversion, enabling detection of all mode switches:
- color_temp → RGB ✓
- color_temp → XY ✓
- RGB → color_temp ✓
- RGB → XY ✓
- XY → color_temp ✓
- XY → RGB ✓

This improves on PR #1282 by detecting mode changes in both directions.
2025-11-27 10:02:50 -08:00
allcontributors[bot]
41e13bc944
docs: add DataGhost as a contributor for code (#1298)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-11-27 09:57:41 -08:00
DataGhost
afd7b935d7
Check for external light mode (temperature vs rgb) switch (#1282) 2025-11-27 09:54:14 -08:00
allcontributors[bot]
3d3d246918
docs: add ams2990 as a contributor for code (#1297)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-11-27 09:36:04 -08:00
ams2990
32719eabae
Fix some type hint issues (#1280) 2025-11-27 09:35:09 -08:00
renovate[bot]
561749ac06
⬆️ Update actions/setup-python action to v6 (#1261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:34:46 -08:00
renovate[bot]
f6321afeae
⬆️ Update actions/upload-pages-artifact action to v4 (#1259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:30:26 -08:00
renovate[bot]
9244ff39fe
⬆️ Update astral-sh/setup-uv action to v7 (#1271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:30:12 -08:00
Bas Nijholt
68e243c87e
Fix infinite loop when disabling SimpleSwitch entities (#1296)
* Add regression tests for SimpleSwitch initial state bug

Adds tests that verify SimpleSwitch._state is set immediately in __init__
rather than waiting for async_added_to_hass(). These tests currently FAIL
because _state is None after __init__, which causes an infinite loop in
_setup_listeners when the entity is disabled (since async_added_to_hass
is never called for disabled entities).

Regression tests for: https://github.com/basnijholt/adaptive-lighting/issues/1264

* Fix infinite loop when disabling SimpleSwitch entities

The issue was that SimpleSwitch._state was initialized to None in __init__,
but only set to a boolean value in async_added_to_hass(). When an entity
is disabled, async_added_to_hass() is never called, so _state stayed None.

The _setup_listeners() method has a while loop that waits for
_state is not None for all SimpleSwitch children (sleep_mode_switch,
adapt_brightness_switch, adapt_color_switch). With _state stuck at None,
this created an infinite loop.

The fix sets _state to initial_state directly in __init__ instead of
waiting for async_added_to_hass() to set it. The async_added_to_hass()
will still properly restore state from the last session or set based
on initial_state as before.

Fixes: https://github.com/basnijholt/adaptive-lighting/issues/1264
2025-11-27 09:30:01 -08:00
renovate[bot]
1556de8c4f
⬆️ Update mcr.microsoft.com/devcontainers/python Docker tag to v3 (#1292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:27:38 -08:00
renovate[bot]
b34cc1ffaa
⬆️ Update actions/checkout action to v6 (#1288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 09:27:27 -08:00
Bas Nijholt
6f846c26ca
Fix race condition where timer.start_time is None while is_running() is True (#1295)
When start() creates a task with asyncio.create_task(), the task is scheduled
but not immediately executed. This means is_running() returns True (task exists
and not done), but start_time is still None because _run() hasn't executed yet.

This causes a TypeError when comparing event.time_fired > timer.start_time.

Fix by setting start_time in start() before creating the task.

Fixes #1272
2025-11-27 09:27:13 -08:00
allcontributors[bot]
95a8f34000
docs: add Tommatheussen as a contributor for code (#1294) 2025-11-27 09:17:12 -08:00
Bas Nijholt
e8af7a485e
Bump to 1.27.0 for fixes in 2025.12 (#1293) v1.27.0 2025-11-27 09:06:41 -08:00
Tom Matheussen
af5a7151aa
Fix HA 2025.12 breaking (#1291) 2025-11-27 08:05:30 -08:00
Bas Nijholt
0a2d2e9fb5
Properly fix the webapp 2025-07-21 15:49:55 -07:00
Bas Nijholt
f45fa66390
Revert "Remove app requirements"
This reverts commit 3c86a6e28b.
2025-07-21 15:44:37 -07:00
Bas Nijholt
3c86a6e28b Remove app requirements 2025-07-21 15:38:56 -07:00
Bas Nijholt
8e75144e5d
Fix webapp Pyodide compatibility: pin matplotlib and contourpy versions (#1242)
* Fix webapp README: correct pip install command

The README had incorrect syntax for pip install. Changed from
`pip install requirements.txt` to `pip install -r requirements.txt`.

* Fix webapp Pyodide compatibility: pin matplotlib and contourpy versions

The webapp uses Shinylive which runs Python in the browser via Pyodide.
Pyodide only supports specific versions of packages that have C extensions.
Pin matplotlib to 3.8.4 and contourpy to 1.3.1 to match Pyodide's available versions.

This fixes the "Can't find a pure Python 3 wheel for 'contourpy==1.3.2'" error
when loading the webapp.
2025-07-21 15:22:11 -07:00
Zachary McCord
86460f6948
webapp: add missing requirements and instructions for local run (#1235) 2025-07-13 14:45:30 -07:00
Bas Nijholt
762900262f
Fix Docker build 2025-06-15 22:33:35 -07:00
Bas Nijholt
5d7599e33b
Revert "Fix Docker build"
This reverts commit ab29fb080c.
2025-06-15 22:28:12 -07:00
Bas Nijholt
ab29fb080c
Fix Docker build 2025-06-15 22:26:05 -07:00
Bas Nijholt
a8e35ae216
Release v1.26.0 (#1227) v1.26.0 2025-06-15 22:20:53 -07:00
Bas Nijholt
b1aca6408d
Skip broken test (#1226)
Also see https://github.com/basnijholt/adaptive-lighting/pull/1159
2025-06-15 22:16:31 -07:00
Bas Nijholt
cb67a4cb9c
Fix test_light_switch_in_specific_area (#1225) 2025-06-15 22:12:48 -07:00
Bas Nijholt
5f02e9de75
Bump min supported version to 2025.12 (#1224) 2025-06-15 21:57:08 -07:00
pre-commit-ci[bot]
8035ea3ed1
[pre-commit.ci] pre-commit autoupdate (#1163)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.8.4 → v0.11.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.8.4...v0.11.13)
- [github.com/psf/black: 24.10.0 → 25.1.0](https://github.com/psf/black/compare/24.10.0...25.1.0)

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

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

* fix pre-commit

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2025-06-15 21:55:36 -07:00
renovate[bot]
e08a752514
⬆️ Update actions/setup-python action to v5.6.0 (#1171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-15 21:49:44 -07:00
renovate[bot]
106d4733fe
⬆️ Pin python to 3.13.5 (#1181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-15 21:49:31 -07:00
allcontributors[bot]
33c1d2eb6b
docs: add TermeHansen as a contributor for code (#1223)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:48:37 -07:00
allcontributors[bot]
ab934b0d03
docs: add jawilson as a contributor for code (#1222)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:48:03 -07:00
Jeff Wilson
2623aafa61
Remove deprecated @bind_hass (#1207)
* remove @bind_hass decorator

* attempt to pass hass

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

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2025-06-15 21:47:26 -07:00
Rasmus Lundsgaard
6cb99e80b0
suggested fix for HA2025 deprecation warnings (#1168)
* suggested fix for HA2025 deprecation warnings

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

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2025-06-15 21:47:06 -07:00
allcontributors[bot]
ff84a46aed
docs: add defaultpage as a contributor for translation (#1216)
* 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 <basnijholt@gmail.com>
2025-06-15 21:46:11 -07:00
allcontributors[bot]
4510ebdca7
docs: add bittin as a contributor for translation (#1221)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:42:54 -07:00
allcontributors[bot]
14e898bc8e
docs: add rezaalmanda as a contributor for translation (#1220)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:42:34 -07:00
allcontributors[bot]
f5ee0aa58d
docs: add mrpiotr-dev as a contributor for translation (#1219)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:42:08 -07:00
allcontributors[bot]
fd5cef7901
docs: add helderfmf as a contributor for translation (#1218)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:41:50 -07:00
allcontributors[bot]
1ddd34a230
docs: add yeaxi as a contributor for translation (#1217)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:41:09 -07:00
allcontributors[bot]
3a4d2ff3d8
docs: add amelenty as a contributor for translation (#1215)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:40:16 -07:00
allcontributors[bot]
afc399e613
docs: add tinutac as a contributor for translation (#1214)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:39:48 -07:00
allcontributors[bot]
1232bcc2d5
docs: add xuars as a contributor for translation (#1213)
* docs: update README.md

* docs: update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-06-15 21:39:06 -07:00
Weblate (bot)
640b634074
Translations update from Hosted Weblate (#1160)
* Translated using Weblate (Galician)

Currently translated at 46.4% (71 of 153 strings)

Translated using Weblate (Galician)

Currently translated at 45.0% (69 of 153 strings)

Added translation using Weblate (Galician)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/gl/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Tamil)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/ta/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Romanian)

Currently translated at 57.5% (88 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: tinutac <tinutac@yahoo.co.uk>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/ro/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Ukrainian)

Currently translated at 79.7% (122 of 153 strings)

Translated using Weblate (Ukrainian)

Currently translated at 61.4% (94 of 153 strings)

Translated using Weblate (Ukrainian)

Currently translated at 59.4% (91 of 153 strings)

Translated using Weblate (Ukrainian)

Currently translated at 58.8% (90 of 153 strings)

Co-authored-by: Ada Melentyeva <ada.melentyeva@gmail.com>
Co-authored-by: Artem <artem@molotov.work>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Rostyslav Dudka <rostislav.dudka@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/uk/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Catalan)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/ca/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Portuguese)

Currently translated at 66.0% (101 of 153 strings)

Co-authored-by: Helder Ferreira <esponjaman@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/pt/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Polish)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Piotr Laszczkowski <swistach@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/pl/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/id/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Dutch)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: renout <weblate@renout.nl>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/nl/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Spanish)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/es/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (French)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KosmoMoustache <hosted.weblate.org@kosmo.ovh>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/fr/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Swedish)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/sv/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Finnish)

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/fi/
Translation: Adaptive Lighting/Adaptive Lighting

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (153 of 153 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gmkeebiy <gmkeebiy@sharklasers.com>
Translate-URL: https://hosted.weblate.org/projects/adaptive-lighting/adaptive-lighting/zh_Hans/
Translation: Adaptive Lighting/Adaptive Lighting

---------

Co-authored-by: Yago Raña Gayoso <yago.rana.gayoso@gmail.com>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: tinutac <tinutac@yahoo.co.uk>
Co-authored-by: Ada Melentyeva <ada.melentyeva@gmail.com>
Co-authored-by: Artem <artem@molotov.work>
Co-authored-by: Rostyslav Dudka <rostislav.dudka@gmail.com>
Co-authored-by: Enric Pagès i Gassull <enricpages@hotmail.com>
Co-authored-by: Helder Ferreira <esponjaman@gmail.com>
Co-authored-by: Piotr Laszczkowski <swistach@gmail.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Co-authored-by: renout <weblate@renout.nl>
Co-authored-by: KosmoMoustache <hosted.weblate.org@kosmo.ovh>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: gmkeebiy <gmkeebiy@sharklasers.com>
2025-06-15 21:38:10 -07:00
Bas Nijholt
ded439e6f7
Fix Docker setup and CI installation (#1212) 2025-06-15 21:31:51 -07:00
Alex Whiteside
da4f3c16eb
Added a HACS button for quicker install path via Google/Github (#1211) 2025-06-15 18:54:59 -07:00
pre-commit-ci[bot]
9aee234955
[pre-commit.ci] pre-commit autoupdate (#972)
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v5.0.0)
- [github.com/astral-sh/ruff-pre-commit: v0.3.5 → v0.8.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.5...v0.8.4)
- [github.com/psf/black: 24.3.0 → 24.10.0](https://github.com/psf/black/compare/24.3.0...24.10.0)

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

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

* Fix issues

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2025-01-01 23:28:15 -08:00
Bas Nijholt
935b913bc7
Fix test_proactive_adaptation_with_separate_commands (#1158) 2025-01-01 22:49:58 -08:00
Bas Nijholt
69c3e3503c
Release v1.25.0 (#1157) v1.25.0 untagged-b5abcaae183f221f05c9 2025-01-01 20:02:46 -08:00
Bas Nijholt
72eb848a79
Fix setting config_entry directly in ≥2024.12 (#1155)
* Fix setting config_entry directly in ≥2024.12

FAILED tests/components/adaptive_lighting/test_config_flow.py::test_incorrect_options - RuntimeError: Detected that integration 'adaptive_lighting' sets option flow config_entry explicitly, which is deprecated at homeassistant/components/adaptive_lighting/config_flow.py, line 86: self.config_entry = config_entry. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+adaptive_lighting%22

* compatiblity
2025-01-01 16:46:11 -08:00