Commit Graph

256 Commits

Author SHA1 Message Date
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
Robert Svensson
b071affcb4 Use pydeconz interface controls for cover platform (#74535) 2022-07-07 00:31:47 +02:00
Robert Svensson
05416f56aa Use FlowResultType in deCONZ config flow tests (#74495) 2022-07-06 09:45:30 +02:00
Robert Svensson
abf67c3153 Normalize deCONZ binary sensor unique IDs (#73657) 2022-06-28 13:45:25 -07:00
Robert Svensson
aef69f87f4 More enums in deCONZ Alarm Control Panel (#73800) 2022-06-22 23:02:34 +02:00
Robert Svensson
e60b247b51 Simplify setup of deCONZ platforms (#72453) 2022-05-24 20:48:09 -07:00
Franck Nijhof
c3d19f3827 Clean up accessing device_registry helpers via hass (#72031) 2022-05-17 12:22:15 -07:00
J. Nick Koston
24a0007785 Add additional context data to logbook events (#71721) 2022-05-12 17:21:14 -07:00
J. Nick Koston
24d7a464e1 Refactor logbook to reduce overhead and complexity (#71509) 2022-05-08 21:47:26 -07:00
Jelte Zeilstra
d52137cc1a Add state class measurement to deCONZ LightLevel sensors (#71516) 2022-05-08 15:54:43 +02:00
Robert Svensson
37b59dfcc0 Make sure sensor state value is not None prior to trying to used the scaled value (#71189) 2022-05-02 10:51:19 +03:00
Robert Svensson
a0fe5b0247 Make deCONZ SSDP discovery more strict by matching on manufacturerURL (#71124) 2022-04-30 19:33:47 +02:00
Robert Svensson
7f094a928b Fix linking issue when deCONZ gateway is not unlocked (#71082) 2022-04-29 15:34:33 -07:00
Robert Svensson
e1f4b17971 Pydeconz raise ResponseError when deCONZ Rest API Plugin is not yet ready (#71078) 2022-04-29 23:55:55 +03:00
epenet
7d2363ad22 Use light enums in tests (#70801) 2022-04-26 16:32:00 +02:00
Robert Svensson
f7d9797c62 Streamline setup of deCONZ scene platform (#70700) 2022-04-26 11:42:56 +02:00
epenet
9dcbc8469e Use climate enums in deconz (#70630)
* Use climate enums in deconz

* Adjust tests

* Adjust type hint

* Update climate.py

* Update climate.py

* Update climate.py

* Don't edit files in Github!
2022-04-25 16:18:44 +02:00
Robert Svensson
8eae572c93 Mark type "On/Off Switch" as a deCONZ switch entity (#70598)
Convert entity types of light platform to switch platform
2022-04-25 08:25:38 +02:00
Robert Svensson
b15387ffb9 Remove migration of entities from deCONZ switch to siren platform (#70600) 2022-04-24 23:32:13 +02:00
Robert Svensson
009111151d Move deCONZ alarm system imports to reflect the changes in pydeconz (#70453) 2022-04-24 10:17:46 +02:00
Robert Svensson
301dcaae63 Move deCONZ sensor imports to reflect changes in pydeconz (#70471) 2022-04-23 22:59:51 +03:00
Erik Montnemery
5e50a8abd5 Mark device triggers from hidden or auxiliary entities as secondary (#70335)
* Mark device triggers from hidden or auxiliary entities as secondary

* Update tests
2022-04-21 08:01:32 +02:00
Robert Svensson
f0b1d35562 Address late review of deconz climate (#70148)
* Fix late comment

* Avoid unnecessary properties

* Add clip sensor test to increase coverage of climate

* Fix review_comment
2022-04-16 21:14:54 +02:00
Robert Svensson
87551b7880 Improve typing of deCONZ climate platform (#69882)
* Improve typing of deCONZ climate platform

homeassistant/components/deconz/climate.py:153: error: Dict entry 0 has incompatible type "str": "bool"; expected "str": "str"  [dict-item]
homeassistant/components/deconz/climate.py:154: error: Dict entry 1 has incompatible type "str": "bool"; expected "str": "str"  [dict-item]
homeassistant/components/deconz/climate.py:176: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['off', 'low', 'medium', 'high', 'on', 'auto', 'smart']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:200: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['off', 'auto', 'cool', 'heat', 'emergency heating', 'precooling', 'fan only', 'dry', 'sleep']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[int]"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[bool]"  [arg-type]
homeassistant/components/deconz/climate.py:218: error: Argument 1 to "set_config" of "Thermostat" has incompatible type "**Dict[str, str]"; expected "Optional[List[str]]"  [arg-type]
homeassistant/components/deconz/climate.py:225: error: Argument 1 to "get" of "Mapping" has incompatible type "Optional[Literal['holiday', 'auto', 'manual', 'comfort', 'eco', 'boost', 'complex']]"; expected "str"  [arg-type]
homeassistant/components/deconz/climate.py:244: error: Unused "type: ignore" comment
homeassistant/components/deconz/climate.py:250: error: Unused "type: ignore" comment
homeassistant/components/deconz/climate.py:253: error: Unused "type: ignore" comment

* Simplify populating supported_hvac_modes
Fix tests
2022-04-14 23:19:42 +03:00
Robert Svensson
d6d7f3cb3c Bump pydeconz to v88 (#69369) 2022-04-05 13:44:04 -07:00
Robert Svensson
4bb52297a6 Replace hass helper calls in deCONZ device trigger tests (#68197) 2022-03-15 18:51:12 +01:00