Commit Graph

305 Commits

Author SHA1 Message Date
epenet
40d9d22e76 Fix dangerous-default-value warnings in deconz tests (#119599) 2024-06-13 11:55:37 +02:00
epenet
c896458fcf Fix namespace-import pylint warning in components (#119299) 2024-06-10 15:55:08 +02:00
Sid
721b2c2ca8 Enable Ruff PT012 (#113957) 2024-06-08 17:59:08 +02:00
J. Nick Koston
ed0568c655 Ensure config entries are not unloaded while their platforms are setting up (#118767)
* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* run with error on to find them

* cert_exp, hold lock

* cert_exp, hold lock

* shelly async_late_forward_entry_setups

* compact

* compact

* found another

* patch up mobileapp

* patch up hue tests

* patch up smartthings

* fix mqtt

* fix esphome

* zwave_js

* mqtt

* rework

* fixes

* fix mocking

* fix mocking

* do not call async_forward_entry_setup directly

* docstrings

* docstrings

* docstrings

* add comments

* doc strings

* fixed all in core, turn off strict

* coverage

* coverage

* missing

* coverage
2024-06-04 21:34:39 -04:00
Robert Svensson
5abf77662a Support carbon dioxide and formaldehyde sensors in deCONZ (#117877)
* Add formaldehyde sensor
* Add carbon dioxide sensor
* Bump pydeconz to v116
2024-05-22 07:33:55 +02:00
Robert Svensson
bbfc2456ec Improve syncing light states to deCONZ groups (#117588) 2024-05-17 08:44:09 +02:00
Robert Svensson
657b3ceedc Rework deCONZ services to load once and never unload (#117592)
* Rework deCONZ services to load once and never unload

* Fix hassfest
2024-05-16 21:41:23 -04:00
J. Nick Koston
481de8cdc9 Ensure config entry operations are always holding the lock (#117214)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-12 08:20:08 +09:00
Joost Lekkerkerker
9b41e3d124 Use is in enum comparison in config flow tests A-E (#114669) 2024-04-02 11:22:05 -10:00
Jan Bouwhuis
acf2f855fe Raise ServiceValidationError on number out of range exception (#114589) 2024-04-02 12:22:00 +02:00
Sid
304ed8bf3d Unignore Ruff PLC in tests (#114572) 2024-04-01 21:28:54 +02:00
Joost Lekkerkerker
6bb4e7d62c Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston
4f18f0d902 Fix setup timings when config entry platform loads are not awaited (#113959)
* Move setup time logging into the context manager

We were fetching the time twice but since the context
manager already has the timing, move it there

* remove log setup assertions from integration test

* tweak logging to give us better data for tracking issues

* redundant

* adjust

* preen

* fixes

* adjust

* make api change internal so nobody uses it

* coverage

* fix test

* fix more tests

* coverage

* more tests assuming internal calls

* fix more

* adjust

* adjust

* fix axis tests

* fix broadlink -- it does not call async_forward_entry_setup

* missed some

* remove useless patch

* rename, detect it both ways

* clear

* debug

* try to fix

* handle phase finishing out while paused

* where its set does not need to know its late as that is an implemenation detail of setup

* where its set does not need to know its late as that is an implemenation detail of setup

* tweak

* simplify

* reduce complexity

* revert order change as it makes review harder

* revert naming changes as it makes review harder

* improve comment

* improve debug

* late dispatch test

* test the other way as well

* Update setup.py

* Update setup.py

* Update setup.py

* simplify

* reduce
2024-03-23 15:26:38 -04:00
Robert Svensson
d3c68303b0 Improve deCONZ test_non_color_light_reports_color (#114021) 2024-03-22 22:18:22 +01:00
Robert Svensson
506240be10 Streamline naming in deCONZ integration (#111977) 2024-03-18 22:08:06 +01:00
Robert Svensson
3ba29c361a Remove old update of group unique id in deCONZ (#112533) 2024-03-15 21:09:44 +02:00
Robert Svensson
9c2c7f1a45 Remove old update of number unique id in deCONZ (#113524) 2024-03-15 21:08:18 +02:00
Robert Svensson
e90388afd1 Remove old update of sensor unique id in deCONZ (#113527) 2024-03-15 21:06:09 +02:00
Robert Svensson
e41133e9f0 Remove old update unique id function from deCONZ binary sensor (#112536) 2024-03-15 12:05:45 +01:00
Robert Svensson
932e073fee Split out deCONZ config model (#112851)
* Add separate deCONZ config class

* Use config in get_deconz_api
2024-03-13 22:49:49 +01:00
Robert Svensson
ffcbab1c20 Split out deCONZ hub (#112854)
* Rename DeconzGateway to DeconzHub

* Move gateway.py to hub/hub.py
2024-03-10 08:25:12 +01:00
Robert Svensson
03e4a20cdf Rename get_deconz_session to get_deconz_api (#112826)
Move and rename get_deconz_session to get_deconz_api
2024-03-09 18:32:31 +01:00
Marc Mueller
32f3f46542 Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller
38adfbf1a3 Add empty line after module docstring [tests a-e] (#112708) 2024-03-08 08:50:25 -05:00
J. Nick Koston
f3a9756f81 Avoid waiting for integration platforms in the parent integration (#112467) 2024-03-05 21:16:42 -10:00
Robert Svensson
4437b3bc97 Fix deCONZ light entity might not report a supported color mode (#112116)
* Handle case where deCONZ light entity might not report a supported color mode

* If in an unknown color mode set ColorMode.UNKNOWN

* Fix comment from external discussion
2024-03-05 11:55:22 +01:00
Robert Svensson
b39b2d161c Deconz fix gradient color mode (#111890)
* Fix deconz gradient colormode

* Fix gradient light not reporting color mode in deCONZ
2024-02-29 22:43:47 +01:00
J. Nick Koston
61610a5ef9 Ensure deconz tests add config entry before updating it (#110417) 2024-02-12 15:29:33 -06:00
Marc Mueller
c82933175d Use builtin TimeoutError [a-d] (#109678) 2024-02-05 11:31:33 +01:00
Robert Svensson
195ef6d769 Fix lights reporting unsupported colormodes in deCONZ (#108812) 2024-01-25 08:38:57 +01:00
G Johansson
83f4d3af5c Implement mode validation in Climate entity component (#105745)
* Implement mode validation in Climate entity component

* Fix some tests

* more tests

* Fix translations

* fix deconz tests

* Fix switcher_kis tests

* not None

* Fix homematicip_cloud test

* Always validate

* Fix shelly

* reverse logic in validation

* modes_str

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 14:51:39 +01:00
Erik Montnemery
6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Robert Svensson
2a8a60b381 Improve LIDL christmas light detection in deCONZ (#105155) 2023-12-07 09:19:38 +01:00
Robert Svensson
b41b56e54c Support new deCONZ Particulate Matter endpoint (#104276) 2023-11-24 11:39:13 +01:00
Franck Nijhof
81909f7ddf Update deconz tests to use device & entity registry fixtures (#103703) 2023-11-09 18:06:53 +01:00
Robert Svensson
a691bd26cf Support Lidl christmas light effects in deCONZ (#102731) 2023-10-25 00:32:20 +02:00
Paul Bottein
c98c18f25e Return 'None' for light attributes when off instead of removing them (#101946) 2023-10-19 01:08:08 +02:00
Joost Lekkerkerker
1f0e8f93c5 Use snapshot assertion for Deconz diagnostics test (#98908) 2023-08-23 21:37:03 +02:00
Franck Nijhof
868a5f377f Ruff: isort don't split imports based on trailing comma (#98162) 2023-08-10 14:27:03 +02:00
J. Nick Koston
d4cdb0453f Guard expensive debug formatting with calls with isEnabledFor (#97073) 2023-07-23 10:54:25 +02:00
Erik Montnemery
17ac1a6d32 Set automations which fail validation unavailable (#94856) 2023-06-27 18:23:33 +02:00
Erik Montnemery
5884afd485 Teach sensor device trigger about entity registry ids (#94988) 2023-06-22 11:13:54 +02:00
Erik Montnemery
4414f06ed2 Teach binary_sensor device trigger about entity registry ids (#94963)
* Teach binary_sensor device trigger about entity registry ids

* Update deconz test
2023-06-21 14:49:53 +02:00
Erik Montnemery
6a29ed8caa Replace assert_lists_same with pytest_unordered in integrations a-f (#94900) 2023-06-20 20:22:31 +02:00
Tobias G
d4e352d6a7 Add humidity sensor to deconz component (#93024)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-06-01 19:16:42 +02:00
Ville Skyttä
ced67e5800 Import util.dt as dt_util in components/[a-d]* (#93756) 2023-05-30 00:02:06 +03:00
Jan Bouwhuis
ec98e22330 Add type hints for stub_blueprint_populate fixture (#93568)
Add typehints for stub_blueprint_populate fixture
2023-05-26 08:13:13 +02:00
Erik Montnemery
3cca338c6e Improve blueprint test fixtures (#93519) 2023-05-25 13:45:19 +02:00
ad0p
ef24e508f8 Bump pydeconz to v112 (#91924)
* Bump pydeconz to v112

* PR review - add suggested_display_precision

* Test - fix

* Bump pydeconz to v112

* PR review - add suggested_display_precision

* Fix tests

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-05-24 14:43:02 +02:00
Erik Montnemery
63f3767a29 Include UUID in hassio discovery data (#91970) 2023-04-25 09:48:47 +02:00