* zha integration: Add danfoss specific clusters and attributes; add thermostat.pi_heating_demand and thermostat_ui.keypad_lockout
* zha integration: fix Danfoss thermostat viewing direction not working because of use of bitmap8 instead of enum8
* ZHA Integration: add missing ThermostatChannelSensor
* ZHA integration: format using black
* zha integration: fix flake8 issues
* ZHA danfoss: Add MinHeatSetpointLimit, MaxHeatSetpointLimit, add reporting and read config for danfoss and keypad_lockout.
* ZHA danfoss: fix mypy complaining about type of _attr_entity_category
* ZHA danfoss: ruff fix
* fix tests
* pylint: disable-next=hass-invalid-inheritance
* fix pylint tests
* refactoring
* remove scheduled setpoint
* remove scheduled setpoint in manufacturer specific
* refactor
* fix tests
* change cluster ids
* remove custom clusters
* code quality
* match clusters in manufacturerspecific on quirk class
* fix comment
* fix match on quirk in manufacturerspecific.py
* correctly extend cluster handlers in manufacturerspecific.py and remove workaround for illegal use of attribute updated signals in climate.py
* fix style
* allow non-danfoss thermostats to work in manufacturerspecific.py
* correct order of init of parent and subclasses in manufacturerspecific.py
* improve entity names
* fix pylint
* explicitly state changing size of tuple
* ignore tuple size change error
* really ignore error
* initial
* fix tests
* match on specific name and quirk name
* don't restructure file as it is out of scope
* move back
* remove unnecessary change
* fix tests
* fix tests
* remove code duplication
* reduce code duplication
* empty line
* remove unused variable
* end file on newline
* comply with recent PRs
* correctly initialize all attributes
* comply with recent PRs
* make class variables private
* forgot one reference
* swap 2 lines for consistency
* reorder 2 lines
* fix tests
* align with recent PR
* store cluster handlers in only one place
* edit tests
* use correct device for quirk id
* change quirk id
* fix tests
* even if there is a quirk id, it doesn't have to have a specific cluster handler
* add tests
* use quirk id for manufacturer specific cluster handlers
* use quirk_ids instead of quirks_classes
* rename quirk_id
* rename quirk_id
* forgot to rename here
* rename id
* add tests
* fix tests
* fix tests
* use quirk ids from zha_quirks
* use quirk id from zha_quirks
* wrong translation
* sync changes with ZCL branch
* sync
* style
* merge error
* move bitmapSensor
* merge error
* merge error
* watch the capitals
* fix entity categories
* more decapitalization
* translate BitmapSensor
* translate all enums
* translate all enums
* don't convert camelcase to snakecase
* don't change enums at all
* remove comments
* fix bitmaps and add enum for algorithm scale factor
* improve readability if bitmapsensor
* fix capitals
* better setpoint response time
* feedback
* lowercase every enum to adhere to the translation_key standard
* remove enum state translations and use enums from quirks
* correctly capitalize OrientationEnum
* bump zha dependencies; this will have to be done in a separate PR, but this aids review
* accidentally removed enum
* tests
* comment
* Migrate reporting and ZCL attribute config out of `__init__`
* hvac.py shouldn't be changed in this pull request
* change wording comment
* I forgot I changed the size of the tuple.
---------
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
* Add counter entities to the ZHA coordinator device
* rework to prepare for non coordinator device counters
* Initial scaffolding to support quirks v2 entities
* update for zigpy changes
* add assertion error message
* clean up test
* update group entity discovery kwargs
* constants and clearer names
* apply custom device configuration
* quirks switches
* quirks select entities
* quirks sensor entities
* update discovery
* move call to super
* add complex quirks v2 discovery test
* remove duplicate replaces
* add quirks v2 button entity support
* add quirks v2 binary sensor entity support
* fix exception in counter entitiy discovery
* oops
* update formatting
* support custom on and off values
* logging
* don't filter out entities quirks says should be created
* fix type alias warnings
* sync up with zigpy changes and additions
* add a binary sensor test
* button coverage
* switch coverage
* initial select coverage
* number coverage
* sensor coverage
* update discovery after rebase
* coverage
* single line
* line lengths
* fix double underscore
* review comments
* set category from quirks in base entity
* line lengths
* move comment
* imports
* simplify
* simplify
* Extend thermostat local temperature calibration range
* Extend thermostat local temperature calibration range only for TRVZB
* Change _attr_native_min_value and _attr_native_max_value back to -2.5 and 2.5
* Adjust _attr_native_step for TRVZB to 0.2
* Implement requested changes
* Fix platform for MULTI_MATCH
* Implement requested changes
* Implement requested changes
* Updating zha component to add entities for snzb06p
Sonoff snzb06p presence detector needs some custom entities.
* Updating ZCL_INIT_ATTRS for sonoff specific attrs
* updating cluster name due to change in quirk
* Fixes for VZM35-SN Attributes
* Fixes
* Update strings.json
Was missing translation keys from strings.json
* Minor Tweak to switch_type entity
Editing main switch_type entity to ensure it doesn't cause an error for the VZM35-SN
* Fix for Button Delay Entity
* zha: Add translation to binary sensors
* Add some small test for name
* Add translations for sensors
* Correct some tests
* Adjust summation key
* Add translation keys for button
* Add translation keys to climate
* Add translation keys for cover
* Add translation keys to fan
* Add translations to light
* Add translations for lock
* Add translation keys to number
* Add translationk keys to select
* Add translations for switch entities
* Add translation to alarm control panel
* Map to some more standard device classes
* Use shorter references
* Remove explicit name from identify button
* Correct tests
* Correction after rebase
* Cache device triggers on startup
* reorg zha init
* don't reuse gateway
* don't nuke yaml configuration
* review comments
* Add unit tests
* Do not cache device and entity registries
* [WIP] Wrap ZHA data in a dataclass
* [WIP] Get unit tests passing
* Use a helper function for getting the gateway object to fix annotations
* Remove `bridge_id`
* Fix typing issues with entity references in group websocket info
* Use `Platform` instead of `str` for entity platform matching
* Use `get_zha_gateway` in a few more places
* Fix flaky unit test
* Use `slots` for ZHA data
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: David F. Mulcahey <david.mulcahey@icloud.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* Wrap attribute writes in a helper throwing `HomeAssistantError`
* Do not check for `Exception` instances, they are now propagated
* Write `cie_addr` synchronously
* Fix unnecessary `if` in `async_set_native_value`
* Fix unit tests
* Use `HomeAssistantError` in cover commands
* Revert writing `cie_addr` synchronously
* Disallow proxying of some cluster methods to fix unit test warnings
* Unit test cover failures to increase coverage
* Unit test missing climate device
* Unit test remaining cover commands
* Make `find_entity_id` synchronous
* Remove `tries`
* Use new `attribute_updated` event signature
* Validate attributes before creating entities
* Avoid swallowing exceptions when opening covers
* Bump ZHA dependencies
* Add a matcher for Sinope water leak sensors using a non-standard ZCL attribute
* Ensure handler matching is strict, not multi
* Add type annotations for newly-updated functions
* Always use `Light` for lights, including subclasses
* Clean up other platforms
* Add a unit test to ensure all future entity classes have names
* Remove stale `_name`
* Address review feedback and rename `Open` to `Opening`
* rename channel -> cluster handler
* remove refs to channels and create endpoint class
* remove remaining references to channels
* fix filter
* take in latest changes from #91403
* missed one
* missed a reference
* Add Aqara c1 pet feeder support to ZHA
* clean up
* cleanup
* state classes for daily measurements
* cleanups
* cleanups
* restore the refreshing of the inverted value cache
* cleanup
* Add Particulate Matter 2.5 of ZCL concentration clusters to ZHA component
* Fixed black and flake8 test
* New sensors and manufacturer cluster to support IKEA STARKVIND (with quirk)
* Fix multi_match for FilterLifeTime, device_run_time, filter_run_time sensors for Ikea starkvind
* Remove model match because sensors are matched with manufacturer channel
* Update manufacturerspecific.py
* Update number.py
* Add Particulate Matter 2.5 of ZCL concentration clusters to ZHA component
* Fixed black and flake8 test
* New sensors and manufacturer cluster to support IKEA STARKVIND (with quirk)
* Isort and codespell fixes
* Instead using the fan cluster, i've created a Ikea air purifier cluster/channel that supports all sensors and fan modes
* update sensors to support the new ikea_airpurifier channel
* Fix black, flake8, isort
* Mylint/mypy fixes + Use a TypedDict for REPORT_CONFIG in zha #73629
* Last fix for test_fan.py
* fix fan test
Co-authored-by: David F. Mulcahey <david.mulcahey@me.com>
* initial work for configurable detection interval
* update opple cluster channel
* detection interval
* motion sensitivity
* only set the init attributes for the right device
* add trigger indicator configuration entity