* Speed up entity filter when there are many glob matchers
Since we do no care about which glob matches we can
combine all the translated globs into a single regex
which reduces the overhead
* delete unused code
* preen
* Use `get_ha_sensor_data` method to update sensor state
* update tests
* Use `get_ha_sensor_data` to validate connection
* Update test_sensor.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add select for EV charging to bmw_connected_drive
* Use snapshot for select tests, split select_option tests
* Apply suggestions from code review
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Further adjustments from code review
---------
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Migrate old ZHA IasZone sensor state to zigpy cache
* Use correct type for ZoneStatus
* Test that migration happens
* Test that migration only happens once
* Fix parametrize
* Use metric units internally
* Remove unnecessary code
* Simplify sensor classes
* Remove AccuWeatherForecastSensor class
* Update wind speed value in test
* Return suggested_unit_of_measurement for wind entities
* Clean test
* Use _attr_suggested_unit_of_measurement
* Remove _get_suggested_unit()
* Remove unnecessarey code
* Use mwh values from ultraheat api when available
Remove manifest cleanup from PR
Remove added device class from this PR
Restore entity registry fixture
Replace filter by attr_entity_registry_enabled_default
* Catchup with #90182 and #90183
* Add comment explaining disabling some entities
* Add parameterisation of test cases
* Initial commit
* Revert "Initial commit"
This reverts commit 452027f1a3c1be186cedd4115cea6928917c9467.
* Change ezviz to token auth
* Bump API version.
* Add fix for token expired. Fix options update and unload.
* Fix tests (PLATFORM to PLATFORM_BY_TYPE)
* Uses and stores token only, added reauth step when token expires.
* Add tests MFA code exceptions.
* Fix tests.
* Remove redundant try/except blocks.
* Rebase fixes.
* Fix errors in reauth config flow
* Implement recommendations
* Fix typing error in config_flow
* Fix tests after rebase, readd camera check on init
* Change to platform setup
* Cleanup init.
* Test for MFA required under user form
* Remove useless if block.
* Fix formating after rebase
* Fix formating.
* No longer stored in the repository
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Make abort_entries_match available in options flow
* Add tests
* Exclude ignore entries and add test
* Move to OptionsFlow
* Adjust tests
* Use mock_config_flow
* Use AbortFlow
* Remove duplicate code
* Construct binary sensor state from zigpy cache (WIP)
* Workaround zha-quirks issue where "MotionWithReset" quirks don't update attribute cache (WIP)
zha-quirks currently has an issue where the ZONE_STATE attribute is updated (when the zone_STATUS changes).
https://github.com/zigpy/zha-device-handlers/pull/2231 is a proper fix for this.
For now, we just update the attribute cache when we get the "zone status update notification" command.
This wasn't noticed before, as the "attribute report signal" was sent from the `cluster_command()` method and the used the provided attribute (in the signal) to update the `_state` value in the binary sensor class.
As we just tell HA to write state again when we get an attribute report now, the ZONE_STATUS attribute is read now (and needs to be correct).
* Use parse() method of main class for IasZone entity (with stripped bits)
* Change wording in comment, remove explicitly sending attr signal
(This comment should be removed/changed later anyway)
* Remove note
* Get zone_status attribute id with zigpy
* Remove `security.` prefix for `IasZone` import
`AceCluster` was already directly imported and `IasZone` is too now for getting the attribute id
* Store full zone status attribute in cache
* Check that non-alarm bits are ignored in IasZone sensor test
* Re-enable occupancy binary sensor test
This test seems to work fine and I don't see any reason why it was commented out for a while
* Fix cached read mix-up for `zone_status`/`zone_state`
This allows cached reads for `zone_state` (enrolled or not), but forces a new read for `zone_status` (alarm or not).