Rename var to compliant name in August integration (#56812)

This commit is contained in:
Simone Chemelli 2021-09-30 12:15:17 +02:00 committed by GitHub
parent c6f48056fd
commit ee28dd57c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 12 deletions

View file

@ -93,7 +93,7 @@ def _native_datetime() -> datetime:
class AugustRequiredKeysMixin: class AugustRequiredKeysMixin:
"""Mixin for required keys.""" """Mixin for required keys."""
state_provider: Callable[[AugustData, DoorbellDetail], bool] value_fn: Callable[[AugustData, DoorbellDetail], bool]
is_time_based: bool is_time_based: bool
@ -115,21 +115,21 @@ SENSOR_TYPES_DOORBELL: tuple[AugustBinarySensorEntityDescription, ...] = (
key="doorbell_ding", key="doorbell_ding",
name="Ding", name="Ding",
device_class=DEVICE_CLASS_OCCUPANCY, device_class=DEVICE_CLASS_OCCUPANCY,
state_provider=_retrieve_ding_state, value_fn=_retrieve_ding_state,
is_time_based=True, is_time_based=True,
), ),
AugustBinarySensorEntityDescription( AugustBinarySensorEntityDescription(
key="doorbell_motion", key="doorbell_motion",
name="Motion", name="Motion",
device_class=DEVICE_CLASS_MOTION, device_class=DEVICE_CLASS_MOTION,
state_provider=_retrieve_motion_state, value_fn=_retrieve_motion_state,
is_time_based=True, is_time_based=True,
), ),
AugustBinarySensorEntityDescription( AugustBinarySensorEntityDescription(
key="doorbell_online", key="doorbell_online",
name="Online", name="Online",
device_class=DEVICE_CLASS_CONNECTIVITY, device_class=DEVICE_CLASS_CONNECTIVITY,
state_provider=_retrieve_online_state, value_fn=_retrieve_online_state,
is_time_based=False, is_time_based=False,
), ),
) )
@ -225,9 +225,7 @@ class AugustDoorbellBinarySensor(AugustEntityMixin, BinarySensorEntity):
def _update_from_data(self): def _update_from_data(self):
"""Get the latest state of the sensor.""" """Get the latest state of the sensor."""
self._cancel_any_pending_updates() self._cancel_any_pending_updates()
self._attr_is_on = self.entity_description.state_provider( self._attr_is_on = self.entity_description.value_fn(self._data, self._detail)
self._data, self._detail
)
if self.entity_description.is_time_based: if self.entity_description.is_time_based:
self._attr_available = _retrieve_online_state(self._data, self._detail) self._attr_available = _retrieve_online_state(self._data, self._detail)

View file

@ -55,7 +55,7 @@ T = TypeVar("T", LockDetail, KeypadDetail)
class AugustRequiredKeysMixin(Generic[T]): class AugustRequiredKeysMixin(Generic[T]):
"""Mixin for required keys.""" """Mixin for required keys."""
state_provider: Callable[[T], int | None] value_fn: Callable[[T], int | None]
@dataclass @dataclass
@ -68,13 +68,13 @@ class AugustSensorEntityDescription(
SENSOR_TYPE_DEVICE_BATTERY = AugustSensorEntityDescription[LockDetail]( SENSOR_TYPE_DEVICE_BATTERY = AugustSensorEntityDescription[LockDetail](
key="device_battery", key="device_battery",
name="Battery", name="Battery",
state_provider=_retrieve_device_battery_state, value_fn=_retrieve_device_battery_state,
) )
SENSOR_TYPE_KEYPAD_BATTERY = AugustSensorEntityDescription[KeypadDetail]( SENSOR_TYPE_KEYPAD_BATTERY = AugustSensorEntityDescription[KeypadDetail](
key="linked_keypad_battery", key="linked_keypad_battery",
name="Battery", name="Battery",
state_provider=_retrieve_linked_keypad_battery_state, value_fn=_retrieve_linked_keypad_battery_state,
) )
@ -97,7 +97,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
for device in batteries["device_battery"]: for device in batteries["device_battery"]:
detail = data.get_device_detail(device.device_id) detail = data.get_device_detail(device.device_id)
if detail is None or SENSOR_TYPE_DEVICE_BATTERY.state_provider(detail) is None: if detail is None or SENSOR_TYPE_DEVICE_BATTERY.value_fn(detail) is None:
_LOGGER.debug( _LOGGER.debug(
"Not adding battery sensor for %s because it is not present", "Not adding battery sensor for %s because it is not present",
device.device_name, device.device_name,
@ -268,7 +268,7 @@ class AugustBatterySensor(AugustEntityMixin, SensorEntity, Generic[T]):
@callback @callback
def _update_from_data(self): def _update_from_data(self):
"""Get the latest state of the sensor.""" """Get the latest state of the sensor."""
self._attr_native_value = self.entity_description.state_provider(self._detail) self._attr_native_value = self.entity_description.value_fn(self._detail)
self._attr_available = self._attr_native_value is not None self._attr_available = self._attr_native_value is not None
@property @property