* 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
* Rename `zha.api` to `zha.websocket_api`
* Implement a ZHA network settings API
* Use the enum name as the radio type
* Don't filter out ignored config entries
* [WIP] Start unit tests
* Add unit tests
* Rename ZHA websocket API module in `.coveragerc`
* Rename `api` to `websocket_api`
* Increase test coverage to 100%
* try serializing cluster command schemas
* use min and max value from zigpy type
* different type assignments
* initial command execution changes
* cleanup
* cleanup and typing
* typing
* typing
* add tests
* mypy
* handle raw values too
* check for None responses
* make backwards compatible
* update yaml for svc change
* Make unit tests pass
* Flip response type check to not rely on it being a list
https://github.com/zigpy/zigpy/pull/716#issuecomment-1025236190
* Bump zigpy and quirks versions to ZCLR8 releases
* Fix renamed zigpy cluster attributes
* Handle the default response for ZLL `get_group_identifiers`
* Add more error context to `stage failed` errors
* Fix unit test returning lists as ZCL request responses
* Always load quirks when testing ZHA
* Bump zha-quirks to 0.0.69
* Replace ZHA tests FakeDevice
* Refactor ZHA tests to use zigpy devices and endpoints
* Use common consts for zigpy device mocks
Use the same dict key names for device signature mocks as zha quirks.
* Use const for test device list
* Update tests/components/zha/common.py
* start implementation of IAS ACE
* starting alarm control panel
* enums
* use new enums from zigpy
* fix import
* write state
* fix registries after rebase
* remove extra line
* cleanup
* fix deprecation warning
* updates to catch up with codebase evolution
* minor updates
* cleanup
* implement more ias ace functionality
* cleanup
* make config helper work for supplied section
* connect to configuration
* use ha async_create_task
* add some tests
* remove unused restore method
* update tests
* add tests from panel POV
* dynamically include alarm control panel config
* fix import
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* initial configuration options
* first crack at saving the data
* constants
* implement initial options
* make more dynamic
* fix unload and reload of the config entry
* update unload
* Remove duplicated attribute request from ZHA
The on_off attribute is on the REPORT_CONFIG, so
super().async_initialize already requests it from the device.
No need to request it twice.
* Use skip_configuration flag to skip requests in ZHA
* Fix loading from cache
* Fix loading from cache condition
* start implementation
* handle members correctly
* fix group member info
* align groupable devices with group members
* handle group endpoint adding and removing
* update add group
* update group and group member
* update create group
* remove domain check
* update test
* remove temporary 2nd groupable device api
* update test
* rename validator - review comment
* fix test that was never running
* additional testing
* fix coordinator descriptors
* remove check that was done twice
* update test
* Use AsyncMock()
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* split entity into base and entity
* add initial light group support
* add dispatching of groups to light
* added zha group object
* add group event listener
* add and remove group members
* get group by name
* fix rebase
* fix rebase
* use group_id for unique_id
* get entities from registry
* use group name
* update entity domain
* update zha storage to handle groups
* dispatch group entities
* update light group
* fix group remove and dispatch light group entities
* allow picking the domain for group entities
* beginning - auto determine entity domain
* move methods to helpers so they can be shared
* fix rebase
* remove double init groups... again
* cleanup startup
* use asyncio create task
* group entity discovery
* add logging and fix group name
* add logging and update group after probe if needed
* test add group via gateway
* add method to get group entity ids
* update storage
* test get group by name
* update storage on remove
* test group with single member
* add light group tests
* test some light group logic
* type hints
* fix tests and cleanup
* revert init changes except for create task
* remove group entity domain changing for now
* add missing import
* tricky code saving
* review comments
* clean up class defs
* cleanup
* fix rebase because I cant read
* make pylint happy
* Update firmware version in device registry.
Parse recevied OTA requests for firmware version and update device
registry.
* Update tests.
* Cleanup sw_id_update listener.
* Update ZHA test devices list.