* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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
* 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
* 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>
* 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
* Don't enable any variants of the daylight sensor entities by default
* Use isinstance rather than doing ZHATYPE compare
* Accidentally removed an import
* 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>
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
* 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>
* 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
* Add support for alarm events in logbook
* Update homeassistant/components/deconz/alarm_control_panel.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
* 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