Commit Graph

381 Commits (635669278cd90fcb15b1669954f4fe6ab16855a1)

Author SHA1 Message Date
Robert Svensson 8c459959ee
Use fixtures in deCONZ gateway tests (#121305) 2024-07-05 16:59:10 +02:00
Robert Svensson eb5a98e7ea
Use fixtures in deCONZ light tests PT2 (#121208) 2024-07-05 10:57:17 +02:00
Robert Svensson dcef25c0fa
Use fixtures in deCONZ climate tests (#121242) 2024-07-05 09:01:45 +02:00
Robert Svensson 62d9020261
Remove legacy method from deCONZ fan and sensor tests (#121244) 2024-07-04 18:17:15 -05:00
Robert Svensson d12f2384c5
Use fixtures in deCONZ config flow tests PT2 (#121203)
* Use fixtures in deCONZ config flow tests PT2

* Update tests/components/deconz/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-07-04 15:53:25 +02:00
Robert Svensson 24c82c2475
Use fixtures in deCONZ sensor tests PT2 (#121204) 2024-07-04 15:48:49 +02:00
Robert Svensson f78933235d
Use fixtures in deCONZ service tests (#121108)
* Use fixtures in deCONZ service tests

* Update tests/components/deconz/test_services.py

Co-authored-by: J. Nick Koston <nick@koston.org>

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-07-04 14:23:40 +02:00
Robert Svensson ece8b74967
Use fixtures in deCONZ device trigger tests (#121103) 2024-07-04 14:23:15 +02:00
Robert Svensson 1d8382a498
Use fixtures in deCONZ light tests PT1 (#121112)
Use fixtures in deCONZ light tests part 1
2024-07-04 14:22:10 +02:00
Robert Svensson 873d96bab3
Use fixtures in deCONZ binary sensor tests (#120966) 2024-07-04 14:21:26 +02:00
Robert Svensson 31ed32da6c
Use fixtures in deCONZ alarm control panel tests (#120967) 2024-07-04 14:20:57 +02:00
Robert Svensson d429bcef16
Use fixtures in deCONZ sensor tests PT1 (#121116) 2024-07-04 11:50:23 +02:00
Robert Svensson 02e7707f91
Use fixtures in deCONZ config flow tests PT1 (#121121) 2024-07-04 04:49:46 -05:00
Robert Svensson baf2ebf1f2
Use fixtures in deCONZ diagnostics tests (#120968) 2024-07-02 12:43:34 +02:00
Robert Svensson 0ffebd4853
Use fixtures in deCONZ button tests (#120958) 2024-07-01 20:48:33 +02:00
Robert Svensson 690164a518
Use fixtures in deCONZ cover tests (#120954) 2024-07-01 20:31:42 +02:00
Robert Svensson 167a8c6613
Use fixtures in deCONZ fan tests (#120953) 2024-07-01 19:49:12 +02:00
Robert Svensson 1209abc944
Use fixtures in deCONZ switch tests (#120944) 2024-07-01 19:03:32 +02:00
Robert Svensson 7a3039aecb
Use fixtures in deCONZ lock tests (#120948) 2024-07-01 19:01:32 +02:00
Robert Svensson d506c30b38
Use fixtures in deCONZ logbook tests (#120947) 2024-07-01 18:58:43 +02:00
Robert Svensson dcf4e91234
Use fixtures in deCONZ number tests (#120938) 2024-07-01 17:46:46 +02:00
Robert Svensson 361e81821c
Use fixtures in deCONZ scene tests (#120936) 2024-07-01 17:42:32 +02:00
Robert Svensson 77fc1c991c
Use fixtures in deCONZ select tests (#120943) 2024-07-01 17:29:57 +02:00
Robert Svensson 44640ef9e8
First step towards fixtures in deCONZ tests (#120863)
* config entry fixture

* Mock web request

* Make siren tests use new fixtures

* Replace old constants

* Add mock put request

* Change comment
2024-07-01 12:33:51 +02:00
epenet 88583149ea
Use service_calls fixture in deconz tests (#120905) 2024-07-01 10:33:31 +02:00
epenet 09e8f7e9bb
Improve type hints in deconz tests (#120388) 2024-06-25 17:44:03 +02:00
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
Markus 1a14a93df6
HA deconz: Add support for Tuya Smart Air Housekeeper 6in1 Air Quality Monitor (#87866)
* fix check for airquality sensor (was always TRUE)

* import additional const required

* add support for formaldehyd sensor

* add support for co2 sensor

* add support for pm25 sensor

* sort const a-z

* adapt to typo fixed function

* adapt to new key names (formaldehyde)

* adapt co2 sensor to new key names

* Update homeassistant/components/deconz/sensor.py

remove unnecessary code

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* add device_class for air_quality_ppb

* add test_air_quality_sensor_6_in_1

* fix Air quality PPB test to match device_class

* remove device_class of air_quality_ppb

* remove device_class test of airqualityppb

* explicit units

* remove device_class test of airquality_1_ppb

* dependency bump pydeconz to 111

* Update homeassistant/components/deconz/sensor.py

remove unnecessary device_class

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* import formatting

* formatting

* Update homeassistant/components/deconz/sensor.py

change key for pm2_5

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* add airquality co2 ch2o pm25 sensor testdata

* remove test_air_quality_sensor_6_in_1

* formatting

* bump pydeconz for requirements

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-04-23 16:12:52 +02:00
epenet c1b7aa084c
Fix race condition in deconz (#91328)
* Fix race condition in deconz

* Use a new separate test
2023-04-13 15:04:21 +02:00
Franck Nijhof ed79265843
Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
epenet 9f688a564f
Add type hints to integration tests (part 4) (#87848) 2023-02-11 08:26:13 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
epenet 3052de3e8e
Add type hints to integration tests (d-e) (#87699) 2023-02-08 13:01:44 +01:00
Franck Nijhof 5e81d28116
Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
epenet 67f8d82818
Remove invalid state class in deconz (#85615) 2023-01-10 17:28:35 +01:00
Franck Nijhof 5c794234e7
Fix incorrect voc device class usage in Deconz sensors (#84371) 2022-12-21 22:44:13 +01:00
Jelte Zeilstra 3fc667f55d
Fix error when describing deCONZ events of removed devices (#84194)
* Fix error when describing deCONZ events of removed devices

* Apply suggestions from code review

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-12-20 10:06:01 +01:00
Erik Montnemery 774ebc760c
Ignore certain device trigger validation errors (#83972) 2022-12-14 16:41:11 +01:00
Robert Svensson 3853182ccf
Add deconz_relative_rotary event for Hue Tap Dial (#82727) 2022-11-27 15:01:58 -05:00
Robert Svensson e1a0f8314e
Fix deCONZ Air Quality PPB device class and unit of measurement (#82726)
Fix Air Quality PPB device class and unit of measurement
2022-11-26 10:56:09 +01:00
Aarni Koskela 6021cedb09
deconz: Use partition instead of split where possible (#81804)
* deconz: Use partition instead of split where possible

With a smattering of code deduplication

Split out of #81493

* Update homeassistant/components/deconz/util.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-11-08 20:54:01 +01:00
Robert Svensson d75834cd1e
Add presence duration number (#79498) 2022-10-23 22:30:03 +02:00
Martin Hjelmare 62c4cd3c26
Add name and slug to supervisor discovery info (#80094) 2022-10-11 16:56:45 +02:00
Robert Svensson 2ce837f588
Resolve late comments to deCONZ sensor (#79380)
Resolve late comments to deCONZ sensor #79137
2022-09-30 21:49:59 +02:00
epenet 0d696b84b2
Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
Michael Jäger 7a6897c757
Add deconz current hvac operation to thermostate based on "state" (#59989)
* deconz - add current hvac operation to thermostate based on "state"

* deconz - extend current hvac operation to thermostate based on "state" and "mode"

* Add tests for current hvac action

* Add boost mode as special case

* format using Black

* sort imports

* Add test for device with mode none and state none

* Update homeassistant/components/deconz/climate.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Fix test_climate.py test_no_mode_no_state

* Add test for boost mode

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-09-21 08:20:44 +02:00
Robert Svensson 61ff52c93a
Normalize deCONZ sensor unique IDs (#76357)
* Normalize deCONZ sensor unique IDs

* Handle battery sensors properly

* Fix daylight sensor unique ID
2022-08-31 08:12:25 +02:00
Robert Svensson ff3d3088ee
Add Aqara FP1 support to deCONZ integration (#77568) 2022-08-30 23:33:05 -04:00
Robert Svensson 2161b6f049
Fix level controllable output controls in deCONZ (#77223)
Fix level controllable output controls
2022-08-24 22:00:54 -04:00
Robert Svensson c2f026d0a7
Minor deCONZ clean up (#76323)
* Rename secondary_temperature with internal_temperature

* Prefix binary and sensor descriptions matching on all sensor devices with COMMON_

* Always create entities in the same order

Its been reported previously that if the integration is removed and setup again that entity IDs can change if not sorted in the numerical order

* Rename alarmsystems to alarm_systems

* Use websocket enums

* Don't use legacy pydeconz constants

* Bump pydeconz to v103

* unsub -> unsubscribe
2022-08-06 01:34:27 +02:00
Robert Svensson 3b3766fbe0
Bump deconz dependency to fix #74523 (#74710) 2022-07-08 12:54:09 +02:00