* ZHA lock code services and events
* ZHA Locks: A few more services, use the library functions
* Catch exception when command id is not in command list
* Add tests for lock code services
* Add tests for enable/disable
* Better document code slot ID shifting
* Simplify cluster commands
* Delay ZHA group updates to ensure all members are updated first
After turning off a group, when the first device reports "off", the
other devices may still be "on". If HA processes the group state update
quickly enough, the group will see that some devices are on, so the
state of the group will revert back to "on", and then "off" when the
remaining devices all report "off". That would cause the UI toggle to go
back and forward quickly, and automations that trigger with "state: on"
to fire when the user turns the group off.
This PR fixes that by delaying the group state update, giving time for
all the devices to report their states first.
* Fix zha group tests
* Reorder sleeping.
* Update tests/components/zha/common.py
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* add flag to prevent sending an on command
* fix condition
* add constant for default transition
* make groups work with new force on flag
* reorder light entity creation
* rearrange logic
* update test
* remove failed attempt at group light flag
* fix flag
* Update registries.py
Add concentration clusters recently added to zigpy
* Update measurement.py
Add concentration clusters recently added to ZigPy
* Update sensor.py
Add concentration clusters recently added to ZigPy
* Update sensor.py
remove unnecessary tabs
* Update measurement.py
remove unnecessary tabs
* Update sensor.py
Just adding CO and CO2 for now.
* Update registries.py
Just adding CO2 and CO for now.
* Update measurement.py
Just adding CO2 and CO for now
* Update sensor.py
import const CONCENTRATION_PARTS_PER_MILLION
* Update registries.py
removed trailing whitespace
* Update sensor.py
added extra blank lines and removed trailing whitespace
* Update measurement.py
added extra blank lines and removed trailing whitespace
* Update sensor.py
add device classes for CO and CO2
* A platform is not a component
* Fix dynalite
* SUPPORTED_PLATFORMS --> PLATFORMS
* In tests
* In tests 2
* Fix SmartThings
* Fix ZHA test
* Fix Z-Wave
* Revert Z-Wave
* Use PLATFORMS const in ambient_station
* Fix ihc comment
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
* Mark entities as unavailable when they are removed but are still registered
* Add sync_entity_lifecycle to collection helper
* Remove debug print
* Lint
* Fix tests
* Fix tests
* Update zha
* Update zone
* Fix tests
* Update hyperion
* Update rfxtrx
* Fix tests
* Pass force_remove=True from integrations
Co-authored-by: Erik <erik@montnemery.com>
* Cleanup Basic channnel
Remove unused methods.
* Refactor async_configure() method
Split async_configure() into async_configure() and
async_configure_channel_specfici()
* Refactor async_initilize() method
Split into two different methods and configure channel specifics via
async_configure_channel_specific()
* Fixes
The Zigbee specification mandates that temperatures are given in
1/100ths of degrees, and several devices are able to provide temperature
readings or accept target temperature settings with precision equal or
better than 0.1°C. Yet the ZHA climate entity implementation advertises
an hard-coded precision of 0.5°C.
Avoid arbitrary coarsening by advertising 0.1°C precision, as passing
through the full 0.01°C precision is probably not that useful.
* Refactor ZHA sensors to use cached values after restart
* Get attr from cluster, not channel
* Run cached state through formatter method
* Use cached values for div/multiplier for SmartEnergy channel
* Restore batter voltage from cache
* Refactor sensor to use cached values only
* Update tests
* Add battery sensor test
* Allow coordinator ZDO binding/unbinding operations
* Let coordinator to provide endpoint it
* Refactor ClusterPair to a dataclass
* Rename ClusterPair
* Send pro-active IAS Enroll Response
Some zigbee devices require a pro-active IAS enroll response to be sent before they will send their IAS enroll request. This PR sends a single IAS enroll response after CIE write and fixes some of these devices including the Ecolink 4655BC0-R and many others.
This also more closely aligns with the default behavior of Smartthings and zigbee2mqtt which also send pro-active enroll requests:
b217b91bb7 (diff-6d00af5fc389c40b8c4dfc390d80e3eca3946d331dff84afdc1632cb5568bca2)
Thanks to @puddly for helping figure this all out and @tubalainen for testing.
* flake8 fixes
* flake8 again