* 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).
* Use last valid state if meter is not periodically resetting
* Fix unload of entry, used during options flow submit
* Adjustments based on code review
* Move DecimalException handling to validation method
* Add test for invalid new state in calculate_adjustment method
catch LoginException directly in QBittorrentSensor init
Since the `exception` arg in QBittorrentSensor `__init__` is always
LoginException, we catch LoginException directly in `__init__` instead
of passing LoginException as an argument.
* Add basic tests
* Updated requriements_test_all.txt
* Update temperusb version
* Add type hints
Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>
* Add type hints
Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>
* Correct typo in type hint
* Fix isort
* Fix requirements_test_all.txt
---------
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>
* Add tests to Lidarr
* fix js files
* take out the trash
* fix 3.9
* uno mas
* fix fixture
* ruff
* Update const.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Make "CoverEntityFeature.STOP" conditional
* Check APIVersion before checking false by default flag
* sort
---------
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Add a missing test for aborting with "already_configured"
Test that config_flow aborts with "already_configured" when the
integration has already been configured
* Don't copy test data
Since #90232 is merged, it is no longer needed
* Split the initialisation into two steps, as it should be
* add device_info
* use entry_id as identifier + device name
* use shorthand attributes
* remove model from device info
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Create new config parameter for default character encoding if no character encoding is declared
* Changes suggested by gjohansson-ST
* Added config flow for scape
* Removed "character"
* Change to create_async_httpx_client
* Remove CONF_ENCODING from Scrape SENSOR_SCHEMA
* Debug scrape test
* Check if changing TO a color mode
Changing brightness alone does not change work mode, but changing brightness with a color value will keep the light in white mode.
By verifying the new state has color or not, rather than the existing state being in color work mode, the light will change to color correctly.
Tuya interprets HSV as including the brightness in the (v) value (which is generally what that's used for when setting HSV values). The brightness value given by Home Assistant is still used in this case.
* Fix brightness-only turning colour mode to white
This will take into account the case where brightness is the only parameter for both the case of colour mode and white mode.
Tests passed after this change:
* Brightness only (colour mode) ✅
* Brightness only (white mode) ✅
* Colour only (colour mode) ✅
* Colour only (white mode) ✅
* Colour temp only (colour mode) ✅
* Colour temp only (white mode) ✅
* Colour + brightness (colour mode) ✅
* Colour + brightness (white mode) ✅
* Colour temp + brightness (colour mode) ✅
* Colour temp + brightness (white mode) ✅
* Fix code formatting
* display unit of elevation in met config flow
Co-authored-by: lijake8 <lijake8@users.noreply.github.com>
Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
* use NumberSelector for met config flow
* met remove unused is_metric param
---------
Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
Co-authored-by: lijake8 <lijake8@users.noreply.github.com>