Commit Graph

275 Commits (f0ec1235b1f65e985393ddeaea1df439849e3612)

Author SHA1 Message Date
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
Robert Svensson 362191a0e6
Add typing of deCONZ device_trigger (#67496) 2022-03-14 17:37:48 +01:00
J. Nick Koston 723dcbafca
Complete fan speed transition from #59781 (#67743) 2022-03-09 10:38:12 +01:00
Robert Svensson dd88a05cb4
Make type checking pass for deCONZ init, gateway and services (#66054)
* Type and enable type checking for init, config_flow, diagnostics, gateway and services

* Fix import

* Fix review comment
2022-02-23 13:10:35 +01:00
Robert Svensson dd9b14d5c9
Add Button platform to deCONZ integration (#65700)
* Improve scene platform

* Add button platform, tests and fix tests affected by new entities existing

* Remove unnused property

* Bump dependency to v87
2022-02-16 17:55:30 +01:00
Robert Svensson 1bc936ca8d
Improve Deconz sensors (#65259) 2022-02-15 08:32:56 +01:00
Robert Svensson b012b79167
Adapt deCONZ number platform to align with updated design of binary sensor and sensor platforms (#65248)
* Adapt number to align with binary sensor and sensor platforms

* Make number tests easier to expand
2022-02-08 23:03:37 +01:00
Robert Svensson 96c4e33b24
Parametrize deCONZ binary sensors (#65012)
* Improve test coverage prior to improving deCONZ binary sensor platform

* Define all relevant binary sensors as DeconzBinarySensorDescription

* Fix review comment

* Allow providing extra update keys if sensor provides extra attributes

* Minor touch up of naming

* Remove duplicate assert
2022-02-04 12:58:07 +01:00
Robert Svensson 30440cd1ba
Add logic to avoid creating the same scene multiple times (#65207) 2022-01-30 01:11:28 +02:00
Robert Svensson 55d3de3411
Add binary sensor for smoke alarm test state (#64873) 2022-01-25 17:46:31 +01:00
Robert Svensson 425911e850
Use whole config entry in deCONZ diagnostics (#64795) 2022-01-23 23:14:02 +01:00
Robert Svensson 01fbc4257b
Redact possibly sensitive information in deCONZ diagnostics data (#64754) 2022-01-23 11:24:46 +01:00
Robert Svensson 84b483673e
Remove system info from deCONZ diagnostics (#64704) 2022-01-23 07:43:07 +01:00
Robert Svensson 11de453848
Add diagnostics to deCONZ integration (#64585) 2022-01-20 14:47:42 -08:00
Robert Svensson 3258f66097
Expose deCONZ configuration url from discovered entry (#64519) 2022-01-20 13:46:22 +01:00
Robert Svensson deed5f327c
Add low battery binary sensor to deCONZ integration (#64168)
* Make tamper sensor a property sensor

* Add low battery binary sensor as a binary property sensor

* Change according to review comment

* Use value_fn lambda

* Fix comparison

* Specific entity_description typing

* Minimize the code block affected by catching AttributeError

* Update homeassistant/components/deconz/binary_sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/deconz/binary_sensor.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Avoid try statement

* Reflect review changes in sensor platform as well

* Store known sensor entities once per device

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-01-17 22:35:20 +01:00
Robert Svensson 7e40707288
Add Air Quality PPB sensor to deCONZ integration (#64164)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-01-17 20:25:55 +01:00
schmyd f135d77a27
Fix deconz light service parameter handling (#62128)
* Only check presence of values, not their content

* Add tests

* Revert "Only check presence of values, not their content"

This reverts commit 046f0ed5fd.

* Validate existence of keys, not their values

* Properly handle cases of missing keys
2021-12-22 09:29:54 +01:00
Ville Skyttä 5926961ed5
Use DeviceAutomationType in tests/components/[a-f]* (#62440) 2021-12-20 22:26:29 +01:00
Dave T 373790cb15
Use DeviceClass Enums in deconz tests (#62114) 2021-12-16 21:46:01 +01:00
epenet 358922db56
Use dataclass for HassioServiceInfo (#60824)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-03 14:05:56 +01:00
epenet 9e96f3e227
Use HassioServiceInfo in deconz tests (#60868) 2021-12-02 10:33:23 -10:00
epenet 4411d51d6f
Use dataclass properties in deconz discovery (#60690)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-01 19:38:20 +01:00
Robert Svensson 8ddfa424c0
Add typing to deCONZ init and config flow (#59999) 2021-12-01 18:59:52 +01:00
epenet f292691b7b
Use SsdpServiceInfo for ssdp tests (part 3) (#60334)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-25 11:46:20 -06:00
Ville Skyttä 39691faccc
Use DeviceEntryType in non-typechecked code too (#58646) 2021-11-23 10:04:33 +01:00
Robert Svensson 29e0ef604e
Add typing to deCONZ Climate and Cover platforms (#59610) 2021-11-17 15:08:37 +01:00
Robert Svensson 2ca874a15c
Add configuration_url to deCONZ device when entry source is addon (#59598) 2021-11-14 11:49:02 +01:00
Robert Svensson ab7a34fc71
Add support for device configuration URL to deCONZ gateway (#58184) 2021-10-22 19:41:49 +02:00
Robert Svensson 333c80a694
Assign entity category diagnostics to deCONZ tampering sensors (#58112) 2021-10-20 20:24:11 +02:00
Robert Svensson 008b784fc5
Add deCONZ number config entity for Hue motion sensor delay (#58076)
* First working draft of number platform

* Replace duration with delay for Hue motion sensors
Improve tests

* Bump dependency to v85

* Use constant for entity category

* Use type rather than using __class__

* Fix unique ID
2021-10-20 11:23:24 +02:00
Robert Svensson edefa9f4f4
Assign entity category diagnostics to deCONZ battery sensors (#58077) 2021-10-20 09:11:17 +02:00
Robert Svensson 93ba966808
Add the correct device class to deCONZ Tamper entity (#57834) 2021-10-17 17:45:32 +02:00
Paulus Schoutsen a4d9019ffc
Refactor persistent notification to no longer route all data via a service (#57157)
* Convert persistent notification tests to async

* Create/dismiss persistent notifications in exposed functions, not service calls

* Fix notify persistent_notification

* Remove setting up persistent_notification

* Drop more setups

* Empty methods

* Undeprecate sync methods because too big task

* Fix setup clearing notifications

* Fix a bunch of tests

* Fix more tests

* Uno mas

* Test persistent notification events

* Clean up stale comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-07 12:58:00 +02:00
Robert Svensson 8d06527cb1
Improve deCONZ services code quality (#56904)
* setup and unload services does not need to be async

* Only use DECONZ_DOMAIN to decide if service should be setup

* Consolidation of functionality

* Make a service to schema dictionary
2021-10-01 14:31:38 -04:00
Robert Svensson 1c1bb057d7
CLIPGenericFlag should be deCONZ sensor not binary sensor (#56901) 2021-10-01 17:10:01 +02:00
Robert Svensson f224ab6d67
Use isinstance to verify class in deCONZ integration (#56794)
* Don't enable any variants of the daylight sensor entities by default

* Use isinstance rather than doing ZHATYPE compare

* Accidentally removed an import
2021-09-29 21:19:21 +02:00
Robert Svensson bf7c2753d5
deCONZ use siren platform (#56397)
* Add siren.py

* Working siren platform with 100% test coverage

* Also add test file...

* Add test to verify that switch platform cleans up legacy entities now that sirens are their own platform

* Update homeassistant/components/deconz/siren.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-09-18 21:59:04 +02:00
Robert Svensson 539ef31046
Reflect changes to pydeconz v84 (#56361)
Mostly snake case conversions and typing
But also a change in retry mechanism
Added a more complete set_* call to most types to remove the direct relation to rest API of deCONZ
2021-09-18 09:05:08 +02:00
Robert Svensson 6ad0e0220a
Update alarm control panel and deconz alarm event to reflect the finalized implementation in deCONZ (#54936)
* Update alarm control panel and deconz alarm event to reflect the new implementation in deCONZ

* Bump dependency to v83
2021-08-23 20:56:45 +02:00
Robert Svensson edf0e0bd08
Add energy device class to deCONZ consumption sensors (#53731) 2021-07-29 16:16:08 -07:00
Robert Svensson d0bef97453
Handle situations where action is part of a deCONZ event but has the value None (#53373)
* Handle situations where action is part of an event but has the value None

* Cover more possible permutations of what a bad action string is
2021-07-23 21:43:00 +02:00
Robert Svensson c96f01df1f
Fix groups reporting incorrect supported color modes (#53088) 2021-07-19 10:32:21 +02:00
Robert Svensson fd6b5ed072
Prefer using xy over hs when supported by light (#52883) 2021-07-12 08:17:50 +02:00
Robert Svensson 605f65b75d
Make use of entry id rather than unique id when storing deconz entry in hass.data (#52584)
* Make use of entry id rather than unique id when storing entry in hass data

* Update homeassistant/components/deconz/services.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-06 17:18:54 +02:00
Robert Svensson e22893a206
Make attestation of supported features easier to read (deCONZ test) (#52096)
Make is_deconz_group a constant
2021-06-22 20:34:25 +02:00
Robert Svensson 6814e9607a
Improve deCONZ lights supported_color_modes and tests (#51933)
* Improve deconz lights tests

* Simplify attribute definition

* Bump pydeconz to v80
2021-06-22 19:29:58 +02:00
Robert Svensson b1022ce84e
Use supported color modes in deCONZ integration (#51656)
* Initial commit everything is working, need to reevaluate tests

* Fix supported color modes and hs_color

* Attest color mode
2021-06-10 08:51:58 +02:00
Erik Montnemery 443463e19d
Emulate color_temp for lights which support color or white (#51654)
* Emulate color_temp for lights which support color or white

* Support legacy lights

* Tidy up group.light code

* Improve color_temp to white conversion

* Remove color_temp to white conversion

* Add test

* Tweak deconz test
2021-06-09 11:23:01 +02:00
Erik Montnemery 154c849eac
Filter unsupported parameters from light service calls (#51084)
* Filter unsupported parameters from light service calls

* Silence pylint

* Fix deconz tests

* Fix mqtt tests

* Fix scene tests

* Fix trådfri emulated CT

* Fix mqtt tests
2021-05-26 08:02:59 +02:00
Ville Skyttä 77d5244577
Use device registry CONNECTION_* constants (#49923) 2021-04-30 23:58:50 +02:00
Franck Nijhof c68b259bd3
Cleanup of unused connection_class logic (#49865)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Robert Svensson 056f636568
Add tampering sensor to deCONZ integration (#49776) 2021-04-28 20:16:06 +02:00
Robert Svensson 5e07ab17b2
Add support for deCONZ alarm events in logbook (#49652)
* Add support for alarm events in logbook

* Update homeassistant/components/deconz/alarm_control_panel.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2021-04-28 19:46:15 +02:00
Robert Svensson 311e0e4185
Last minute tweaks to deCONZ alarm panel entity service(#49819)
Text for entry and exit delay was wrong
Remove functions that need a bit more investigating
2021-04-28 18:54:53 +02:00
Robert Svensson 58ad3b61f7
Entities for secondary temperature values created by certain Xiaomi devices in deCONZ (#49724)
* Create sensors for secondary temperature values created by certain Xiaomi devices

* Fix tests
2021-04-27 08:43:06 +02:00
Ville Skyttä 153d6e891e
Use config_entries.SOURCE_* constants (#49631) 2021-04-25 11:27:40 +02:00
Robert Svensson b0fecdcc3d
Add entity service for deCONZ alarm control panel to control states used to help guide user transition between primary states (#49606) 2021-04-24 15:46:16 +02:00
Robert Svensson 34245c3add
Add alarm control panel support to deCONZ integration (#48736)
* Infrastructure in place

* Base implementation

* Add alarm event

* Add custom services to alarm control panel

* Add service descriptions

* Increase test coverage

* Simplified to one entity service with an options selector

* Remove everything but the essentials

* Add library with proper support

* Fix stale comments
2021-04-20 17:34:11 +02:00
Robert Svensson c80f34a754
Add support for ZHADoorLock locks to deCONZ integration(#48516) 2021-03-31 09:36:06 +02:00
Franck Nijhof 52475c108f
Make integration setup optional (#48381) 2021-03-29 13:53:47 -07:00
Robert Svensson 70d9e8a582
Add proper percentage support to deCONZ fan integration (#48187)
* Add proper percentage support to deCONZ fan integration

* Properly convert speed to percentage

* Remove disabled method

* Replace convert_speed with a dict
2021-03-23 22:29:55 +01:00
Robert Svensson 1095d93892
Increase test coverage of deCONZ device triggers (#48126)
* Increase test coverage of deCONZ device triggers

* Revert removed new line

* Found a way to explicitly assert that exceptions are raised

* Remove unnecessary block till done

* Fix unnecessary elif

* Fix review comments

* Remove helper tests
2021-03-23 13:49:44 +01:00
Robert Svensson 863f75e65e
Improve test coverage of deconz_device (#48141) 2021-03-20 14:22:01 +01:00
Robert Svensson 24e067782a
Improve sensor coverage by verifying daylight sensor attributes (#48090) 2021-03-19 16:51:44 +01:00
Robert Svensson fa5ce70af1
Improve test coverage of deCONZ config flow (#48091) 2021-03-19 13:37:22 +01:00
Marc Mueller 54d1e9985f
Update typing 15 (#48079) 2021-03-18 15:13:22 +01:00
Robert Svensson 8b8a54b367
Improve deCONZ services and scenes tests (#47829)
Use patch.dict rather than deep copy to change DECONZ_WEB_REQUEST
2021-03-18 11:57:56 +01:00
Robert Svensson ad5dbebc03
Use websocket fixture in deCONZ switch tests (#47831)
Localize test data
Improve asserts
2021-03-18 11:44:52 +01:00
Robert Svensson a4b2dff58d
Use websocket fixture in deCONZ sensor tests (#47830)
Localize test data
Improve asserts
2021-03-18 11:41:27 +01:00
Robert Svensson a21d0cadf8
Use websocket fixture in deCONZ lock tests (#47827)
Localize test data
Improve asserts
2021-03-18 11:06:44 +01:00
Robert Svensson 3f2d3bd1b2
Use websocket fixture in deCONZ light tests (#47826)
Localize test data
Improve asserts#
2021-03-18 11:01:32 +01:00
Robert Svensson 7350215b4e
Use websocket fixture in deCONZ fan tests (#47824)
Localize test data
Improve asserts
2021-03-18 10:49:48 +01:00
Robert Svensson 7ff9610e67
Use websocket fixture in deCONZ event related tests (#47823)
Localize test data
Improve asserts
2021-03-18 10:44:31 +01:00
Robert Svensson a57d340037
Use websocket fixture in deCONZ cover tests (#47822)
Localize test data
Improve asserts
2021-03-18 10:07:11 +01:00
Robert Svensson 2ab640aaef
Use websocket fixture in deCONZ climate tests (#47821)
Localize test data
Improve asserts
2021-03-18 09:57:27 +01:00
Robert Svensson 333f5da036
Use websocket fixture in deCONZ binary sensor tests (#47820)
Localize test data
Improve asserts
2021-03-18 09:51:42 +01:00
Robert Svensson 786cbcc1d6
Introduction of deCONZ websocket fixture (#47812) 2021-03-12 12:03:29 -08:00
Robert Svensson 6b03c8d126
Improve deCONZ init tests (#47825)
Use patch.dict rather than deep copy to change DECONZ_WEB_REQUEST
2021-03-12 12:02:15 -08:00
Erik Montnemery 87e7cebd36
Update tests c-h to use registry async_get (#47652) 2021-03-09 14:31:17 +01:00
Ville Skyttä dc880118a4
Lint suppression cleanups (#47248)
* Unused pylint suppression cleanups

* Remove outdated pylint bug references

* Add flake8-noqa config and note to run it every now and then

* Add codes to noqa's

* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
Robert Svensson 6b0c569a70
Normally there should only be one battery sensor per device from deCONZ. (#46761)
With these Danfoss devices each endpoint can report its own battery state.
2021-02-25 09:54:46 +01:00