ZHA device channel refactoring (#31971)
* Add ZHA core typing helper. * Add aux_channels to ZHA rule matching. * Add match rule claim_channels() method. * Expose underlying zigpy device. * Not sure we need this one. * Move "base" channels. * Framework for channel discovery. * Make DEVICE_CLASS and REMOTE_DEVICE_TYPE default dicts. * Remove attribute reporting configuration registry. * Refactor channels. - Refactor zha events - Use compound IDs and unique_ids - Refactor signal dispatching on attribute updates * Use unique id compatible with entities unique ids. * Refactor ZHA Entity registry. Let match rule to check for the match. * Refactor discovery to use new channels. * Cleanup ZDO channel. Remove unused zha store call. * Handle channel configuration and initialization. * Refactor ZHA Device to use new channels. * Refactor ZHA Gateway to use new discovery framework. Use hass.data for entity info intermediate store. * Don't keep entities in hass.data. * ZHA gateway new discovery framework. * Refactor ZHA platform loading. * Don't update ZHA entities, when restoring from zigpy. * ZHA entity discover tests. * Add AnalogInput sensor. * Remove 0xFC02 based entity from Keen smart vents. * Clean up IAS channels. * Refactor entity restoration. * Fix lumi.router entities name. * Rename EndpointsChannel to ChannelPool. * Make Channels.pools a list. * Fix cover test. * Fix FakeDevice class. * Fix device actions. * Fix channels typing. * Revert update_before_add=False * Refactor channel class matching. * Use a helper function for adding entities. * Make Pylint happy. * Rebase cleanup. * Update coverage for ZHA device type overrides. * Use cluster_id for single output cluster registry. * Remove ZHA typing from coverage. * Fix tests. * Address comments. * Address comments.
This commit is contained in:
parent
36db302cc8
commit
3385893b77
40 changed files with 1918 additions and 1325 deletions
|
@ -13,11 +13,14 @@ from homeassistant.components.switch import DOMAIN as SWITCH
|
|||
|
||||
ATTR_ARGS = "args"
|
||||
ATTR_ATTRIBUTE = "attribute"
|
||||
ATTR_ATTRIBUTE_ID = "attribute_id"
|
||||
ATTR_ATTRIBUTE_NAME = "attribute_name"
|
||||
ATTR_AVAILABLE = "available"
|
||||
ATTR_CLUSTER_ID = "cluster_id"
|
||||
ATTR_CLUSTER_TYPE = "cluster_type"
|
||||
ATTR_COMMAND = "command"
|
||||
ATTR_COMMAND_TYPE = "command_type"
|
||||
ATTR_DEVICE_IEEE = "device_ieee"
|
||||
ATTR_DEVICE_TYPE = "device_type"
|
||||
ATTR_ENDPOINT_ID = "endpoint_id"
|
||||
ATTR_IEEE = "ieee"
|
||||
|
@ -36,6 +39,7 @@ ATTR_QUIRK_CLASS = "quirk_class"
|
|||
ATTR_RSSI = "rssi"
|
||||
ATTR_SIGNATURE = "signature"
|
||||
ATTR_TYPE = "type"
|
||||
ATTR_UNIQUE_ID = "unique_id"
|
||||
ATTR_VALUE = "value"
|
||||
ATTR_WARNING_DEVICE_DURATION = "duration"
|
||||
ATTR_WARNING_DEVICE_MODE = "mode"
|
||||
|
@ -47,6 +51,7 @@ BAUD_RATES = [2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000, 2560
|
|||
BINDINGS = "bindings"
|
||||
|
||||
CHANNEL_ACCELEROMETER = "accelerometer"
|
||||
CHANNEL_ANALOG_INPUT = "analog_input"
|
||||
CHANNEL_ATTRIBUTE = "attribute"
|
||||
CHANNEL_BASIC = "basic"
|
||||
CHANNEL_COLOR = "light_color"
|
||||
|
@ -92,6 +97,7 @@ DATA_ZHA_BRIDGE_ID = "zha_bridge_id"
|
|||
DATA_ZHA_CORE_EVENTS = "zha_core_events"
|
||||
DATA_ZHA_DISPATCHERS = "zha_dispatchers"
|
||||
DATA_ZHA_GATEWAY = "zha_gateway"
|
||||
DATA_ZHA_PLATFORM_LOADED = "platform_loaded"
|
||||
|
||||
DEBUG_COMP_BELLOWS = "bellows"
|
||||
DEBUG_COMP_ZHA = "homeassistant.components.zha"
|
||||
|
@ -192,6 +198,7 @@ SENSOR_PRESSURE = CHANNEL_PRESSURE
|
|||
SENSOR_TEMPERATURE = CHANNEL_TEMPERATURE
|
||||
SENSOR_TYPE = "sensor_type"
|
||||
|
||||
SIGNAL_ADD_ENTITIES = "zha_add_new_entities"
|
||||
SIGNAL_ATTR_UPDATED = "attribute_updated"
|
||||
SIGNAL_AVAILABLE = "available"
|
||||
SIGNAL_MOVE_LEVEL = "move_level"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue