Refactor ZHA entity matching process (#60063)
* 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
This commit is contained in:
parent
359affb856
commit
997809c6c4
7 changed files with 80 additions and 94 deletions
|
@ -36,6 +36,7 @@ CLASS_MAPPING = {
|
|||
}
|
||||
|
||||
STRICT_MATCH = functools.partial(ZHA_ENTITIES.strict_match, Platform.BINARY_SENSOR)
|
||||
MULTI_MATCH = functools.partial(ZHA_ENTITIES.multipass_match, Platform.BINARY_SENSOR)
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
|
@ -103,7 +104,7 @@ class BinarySensor(ZhaEntity, BinarySensorEntity):
|
|||
self._state = attr_value
|
||||
|
||||
|
||||
@STRICT_MATCH(channel_names=CHANNEL_ACCELEROMETER)
|
||||
@MULTI_MATCH(channel_names=CHANNEL_ACCELEROMETER)
|
||||
class Accelerometer(BinarySensor):
|
||||
"""ZHA BinarySensor."""
|
||||
|
||||
|
@ -111,7 +112,7 @@ class Accelerometer(BinarySensor):
|
|||
_attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOVING
|
||||
|
||||
|
||||
@STRICT_MATCH(channel_names=CHANNEL_OCCUPANCY)
|
||||
@MULTI_MATCH(channel_names=CHANNEL_OCCUPANCY)
|
||||
class Occupancy(BinarySensor):
|
||||
"""ZHA BinarySensor."""
|
||||
|
||||
|
@ -127,7 +128,7 @@ class Opening(BinarySensor):
|
|||
_attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING
|
||||
|
||||
|
||||
@STRICT_MATCH(channel_names=CHANNEL_BINARY_INPUT)
|
||||
@MULTI_MATCH(channel_names=CHANNEL_BINARY_INPUT)
|
||||
class BinaryInput(BinarySensor):
|
||||
"""ZHA BinarySensor."""
|
||||
|
||||
|
@ -153,7 +154,7 @@ class Motion(BinarySensor):
|
|||
_attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.MOTION
|
||||
|
||||
|
||||
@STRICT_MATCH(channel_names=CHANNEL_ZONE)
|
||||
@MULTI_MATCH(channel_names=CHANNEL_ZONE)
|
||||
class IASZone(BinarySensor):
|
||||
"""ZHA IAS BinarySensor."""
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue