* 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
* Add proper percentage support to deCONZ fan integration
* Properly convert speed to percentage
* Remove disabled method
* Replace convert_speed with a dict
* 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
* 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
* Mark entities as unavailable when they are removed but are still registered
* Add sync_entity_lifecycle to collection helper
* Remove debug print
* Lint
* Fix tests
* Fix tests
* Update zha
* Update zone
* Fix tests
* Update hyperion
* Update rfxtrx
* Fix tests
* Pass force_remove=True from integrations
Co-authored-by: Erik <erik@montnemery.com>
* Convert old groups unique ids
Work around for walrus operator not working properly :/
* Remove CONF_GROUP_ID_BASE once entities unique id are updated
* Don't use migrate_entry mechanism to update unique_ids of groups
* Remove walrus operator :(
* Fix review comments
* Walrusify assignment to old_unique_id
* Add fan support
* Add HVAC cool support
* Fix Martins comment from #43607
* Add preset support
* Improve climate test coverage
* Remove fan support
* Remove preset support
* Remove last preset piece
* Improve control of covers
* Log backtrace if available
* Do not create entity for controller tool
Binary sensor should use state rather than is_tripped
Add some more tests to lights and sensors
* Bump dependency to v74
* Fix Balloobs comments
* Add fan support to deconz
* Fix gateway test
* Fix lint issue
* Apply suggestions from code review
* Fix black
* Improve tests
* Store previously used speed in case turn_on service is called without a speed attribute
* Fix tests
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add service that can clean up by deCONZ orphaned entries from device and entity registry
* Fix existing tests
* Add new test
* Add some inline comment to the service
* Use set not list
* Events are not entities
* Don't await unload_events
* Remove checks of entities content in tests
* List to set comprehension
* Why is it so hard to remember that sets arent parenthesis...
* Store all entities in dict
* Use stored unique id to select if to create entity or not
* Remove unnecessary init
* Change so same physical sensor doesnt try to create multiple battery sensors
Change so groups get created properly
* Add controls in tests that entities are logged correctly
* Add support for reload_on_update to _abort_if_unique_id_configured
async_update_entry now avoids firing update listeners and writing
the storage if there are no actual changes.
* Actually add the tests
* collapse branch
* Update homeassistant/config_entries.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* handle entries that lack the ability to reload
* reduce
* adjust konnected tests
* update axis tests
* fix blocking
* more mocking
* config flow tests outside of test_config_flow
* reduce
* volumio
* Update homeassistant/config_entries.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* set reload_on_update=False for integrations that implement self._abort_if_unique_id_configured(updates= and a reload listen
* get rid of copy
* revert test change
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add support for "Window covering controller"
Some window cover devices such as Sunricher SR-ZG9080A are identified in deconz as "Window covering controller".
We need to include this device type in const.py to be integrated as type "cover" in home-assistant.
* Added Window covering controller to deconz tests
* Use config entry unique id
* Clean up
* Backwards compatiblity note
* Fix some of Balloobs comments
* Bump dependency to v66
* Black somehow missed config flow tests...
* Move set unique ID til after possibility to update existing entry
* Include all SSDP data in discovery info
* Use UPnP device description as discovery info, inject some SSDP attrs
* Clean up attribute names
* Adapt existing SSDP flows to changed attribute names
* Prefix all SSDP UPnP attribute name constants with ATTR_UPNP, tweak a bit
* Improve gateway tests
* Harmonize all tests to use the same gateway initialization method
* Improve scene tests
* Add gateway resync call to platform tests
* Forgot to change switch tests to use common gateway method
* Improve event tests
* Improve binary sensor tests
* Fix sensor tests
* Improve readability of binary sensor
* Fix climate tests
Fix sensor platform not loading climate devices as sensors
* Add test to verify adding new sensor after start up
* Improve configure service tests
* Add refresh device service test
* Add tests for setup and unload services
* Remove refresh device test from test_init
* Extra verification of deconz services existance in hass.data
* Early draft
* Getting there
* Working fully with Hue dimmer remote
* Fix Balloobs comments
* No side effects in constructor
* Improve hue dimmer
* Add Ikea remote control
* Add xiaomi button support
* Refactor getting deconz event
* Added xiaomi devices and tradfri wireless dimmer
* Resolve unique id from device id
* Add Hue Tap and Tradfri on off switch
* More triggers for ikea on off switch and Aqara double wall switch
* Add support for Tradfri open close remote
* Fix changes after rebase
* Initial test
* Change id to event_id
* Fix translations and add subtypes
* Try if tests pass without the new tests
* Revert disabling tests
Add new exception InvalidDeviceAutomationConfig
* Ignore places calling remotes
* Enable all gateway tests
* Found the issue, now to identify which test creates it
* Remove block till done
* See if device automation test passes in azure
* Register event to device registry
* Enable test sensors
* Skip deconz event tests currently failing
* Added reason why skipping tests
* First draft
* Support enabling disabled entities
* Clean up
* Move import
* Local entity enabled replaced during rebase
* Add option flow test
* Mark options properties with option