* Migrate ZHA when enabling multi-PAN support on HA Yellow
* Refactor BaseZhaFlow.async_step_maybe_confirm_ezsp_restore
* Change data passed to ZHA to initiate migration
* Catch errors during ZHA migration
* Fix ZhaMigrationHelper.async_prepare_yellow_migration return value
* Improve test coverage
* Improve test coverage
* Fix spelling
* Rename some none HA yellow specifics
* Rename again
* Increase number of migration retries + refactor
* Suppress OperationNotAllowed when reloading
* Adjust tests
* 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
* Add support for USB dongles to the hardware integration
* Update hardware integrations
* Adjust tests
* Add USB discovery for SkyConnect 1.0
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Fix frozen dataclass shizzle
* Adjust test
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Implement WS API endpoints for zigpy backups
* Implement backup restoration
* Display error messages caused by invalid backup JSON
* Indicate to the frontend when a backup is incomplete
* Perform a coordinator backup before HA performs a backup
* Fix `backup.async_post_backup` docstring
* Rename `data` to `backup` in restore command
* Add unit tests for new websocket APIs
* Unit test backup platform
* Move code to overwrite EZSP EUI64 into ZHA
* Include the radio type in the network settings API response
* Moved color commands to a new ``async_handle_color_commands`` method
* Fixed tests
* Fix brightness jumping around during transitions
* Add config option to disable "Enhanced brightness slider during light transition"
* Set min transition time for Sengled lights in ZHA groups
* Change test to expect correct min transition time for group with Sengled light
* Fix turn_off with transition 0 for Sengled lights
* Add ZHA config option for "enhanced light transition from an off-state"
* Default option to disabled
* Always disable "enhanced light transition" for ZHA LightGroups
* Rename _enhanced_light_transition to _zha_config_enhanced_light_transition
* Remove LightGroup check, as config option always disables for groups
* Remove duplicated line
* Remove duplicated line
* Move ZHA config transition line below other config line
* Renamed comments of renamed variable in tests
color_provided_while_off -> new_color_provided_while_off
* Enable "enhanced light transitions" for testing
* use base class attributes
* initial hue and saturation support
* spec is 65536 not 65535
* fixes
* enhanced current hue
* fix comparison
* clean up
* fix channel test
* oops
* report enhanced current hue
* rename variable
* default transition is for color commands not level
* no extra command for groups
* don't transition color change when light off -> on
* clean up
* update condition
* fix condition again...
* simplify
* simplify
* missed one
* rename
* simplify
* rename
* tests
* color_provided_while_off with no changes
* fix missing flag clear
* more tests for transition scenarios
* add to comment
* fix comment
* don't transition when force on is set
* stale comment
* dont transition when colors don't change
* remove extra line
* remove debug print :)
* fix colors
* restore color to 65535 until investigated
* 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>
* Migrate zha light to color_mode
* Fix restoring color mode
* Correct set operations
* Derive color mode from group members
* Add color mode to color channel
* use Zigpy color mode enum
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
* Add files via upload
* Add Frequency and PF
* Add Frequency and PF
Add Frequency and PF
* Add Frequency and PF
Add Frequency and PF
* Add Frequency and PF
Add Frequency and PF
* Add Frequency and PF
Add Frequency and PF
* Update homeassistant/const.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update homeassistant/components/zha/sensor.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update homeassistant/const.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Fix rebase
* rebase cleanup
* fix stale doc string
* missed this again
* isort
* update tests
* update discovery test data
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
* 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
* expose device temperature sensor in frontend
* fixes after runnig test
* specified device temp channel
* add dev temp int test device aqara water
* black fix
* Identify buttons
* clean up and add test
* use Platform
* update device list
* Only 1 identify button per device
* cleanup press until the need arises for the branch
* make imports relative
* Update HVAC action handling in ZHA climate devices
* fix class name
* align with class name changes
* get the correct sensor entity for state assertions
* Group multi-matches by channels
* Group multi-matched by explicit groups
* Registryless AnalogInput and PowerConfiguration
* Refactor single cluster sensor registry
* Refactor single cluster cover and lock registry
* Refactor single cluster binary_sensor registry
* Pylint
* Add apparent_power for ZHA ElectricalMeasurement
* Add apparent_power to REPORT_CONFIG
* update device list with apparent_power attribute
* update test decorators for apparent_power
* remove comments
* Add test for apparent_power in test_sensor
* 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>
* Add electrical measurement type state attribute.
* Add active_power_max attribute
* Skip unsupported attributes on entity update
* Fix tests
* Create sensor only if the main attribute is supported
* Refactor ElectricalMeasurement sensor to use attr specific divisor and multiplier
* Multiple entities for electrical measurement cluster
* Update discovery tests
* Sensor clean up
* update tests
* Pylint
* Add dict of attributes to initialize
* Refactor get_attributes() method
Read 5 attributes at the time.
* Add ZCL_INIT_ATTRS attribute to base Zigbee channel
* Update tests and general clusters
* Update channels to use ZCL_INIT_ATTRS
* Update channels to use ZCL_INIT_ATTRS
* Fix tests
* Refactor async_initialize() to be a retryable request
* Maky pylint happy again
* Refactor HVAC channel to use zigpy cached attributes
* Allow named attributes in ZHA test attribute reports
* Let attribute write to update cache
* WIP Update tests
* Cleanup
* 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