Cleanup async_accept_signal in ZHA (#38009)

This commit is contained in:
David F. Mulcahey 2020-07-20 10:04:57 -04:00 committed by GitHub
parent 2a975db9cf
commit d5a03b4d6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 20 additions and 19 deletions

View file

@ -80,7 +80,7 @@ class BinarySensor(ZhaEntity, BinarySensorEntity):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.get_device_class()
await self.async_accept_signal(
self.async_accept_signal(
self._channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)

View file

@ -393,7 +393,7 @@ class Thermostat(ZhaEntity, ClimateEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._thrm, SIGNAL_ATTR_UPDATED, self.async_attribute_updated
)

View file

@ -66,7 +66,7 @@ class ZhaCover(ZhaEntity, CoverEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._cover_channel, SIGNAL_ATTR_UPDATED, self.async_set_position
)
@ -213,10 +213,10 @@ class Shade(ZhaEntity, CoverEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._on_off_channel, SIGNAL_ATTR_UPDATED, self.async_set_open_closed
)
await self.async_accept_signal(
self.async_accept_signal(
self._level_channel, SIGNAL_SET_LEVEL, self.async_set_level
)

View file

@ -55,7 +55,7 @@ class ZHADeviceScannerEntity(ScannerEntity, ZhaEntity):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
if self._battery_channel:
await self.async_accept_signal(
self.async_accept_signal(
self._battery_channel,
SIGNAL_ATTR_UPDATED,
self.async_battery_percentage_remaining_updated,

View file

@ -114,7 +114,8 @@ class BaseZhaEntity(LogMixin, entity.Entity):
unsub()
self._unsubs.remove(unsub)
async def async_accept_signal(
@callback
def async_accept_signal(
self, channel: ChannelType, signal: str, func: CALLABLE_T, signal_override=False
):
"""Accept a signal from a channel."""
@ -162,7 +163,7 @@ class ZhaEntity(BaseZhaEntity, RestoreEntity):
async def async_added_to_hass(self) -> None:
"""Run when about to be added to hass."""
self.remove_future = asyncio.Future()
await self.async_accept_signal(
self.async_accept_signal(
None,
f"{SIGNAL_REMOVE}_{self.zha_device.ieee}",
self.async_remove,
@ -175,7 +176,7 @@ class ZhaEntity(BaseZhaEntity, RestoreEntity):
if last_state:
self.async_restore_last_state(last_state)
await self.async_accept_signal(
self.async_accept_signal(
None,
f"{self.zha_device.available_signal}_entity",
self.async_state_changed,
@ -231,14 +232,14 @@ class ZhaGroupEntity(BaseZhaEntity):
async def async_added_to_hass(self) -> None:
"""Register callbacks."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
None,
f"{SIGNAL_REMOVE_GROUP}_0x{self._group_id:04x}",
self.async_remove,
signal_override=True,
)
await self.async_accept_signal(
self.async_accept_signal(
None,
f"{SIGNAL_GROUP_MEMBERSHIP_CHANGE}_0x{self._group_id:04x}",
self.async_remove,

View file

@ -135,7 +135,7 @@ class ZhaFan(BaseFan, ZhaEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._fan_channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)

View file

@ -372,18 +372,18 @@ class Light(BaseLight, ZhaEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._on_off_channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)
if self._level_channel:
await self.async_accept_signal(
self.async_accept_signal(
self._level_channel, SIGNAL_SET_LEVEL, self.set_level
)
refresh_interval = random.randint(*[x * 60 for x in self._REFRESH_INTERVAL])
self._cancel_refresh_handle = async_track_time_interval(
self.hass, self._refresh, timedelta(seconds=refresh_interval)
)
await self.async_accept_signal(
self.async_accept_signal(
None,
SIGNAL_LIGHT_GROUP_STATE_CHANGED,
self._maybe_force_refresh,

View file

@ -60,7 +60,7 @@ class ZhaDoorLock(ZhaEntity, LockEntity):
async def async_added_to_hass(self):
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._doorlock_channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)

View file

@ -98,10 +98,10 @@ class Sensor(ZhaEntity):
await super().async_added_to_hass()
self._device_state_attributes.update(await self.async_state_attr_provider())
await self.async_accept_signal(
self.async_accept_signal(
self._channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)
await self.async_accept_signal(
self.async_accept_signal(
self._channel, SIGNAL_STATE_ATTR, self.async_update_state_attribute
)

View file

@ -92,7 +92,7 @@ class Switch(BaseSwitch, ZhaEntity):
async def async_added_to_hass(self) -> None:
"""Run when about to be added to hass."""
await super().async_added_to_hass()
await self.async_accept_signal(
self.async_accept_signal(
self._on_off_channel, SIGNAL_ATTR_UPDATED, self.async_set_state
)