Fix device class typing in Universal Devices ISY994 (#82924)

This commit is contained in:
Franck Nijhof 2022-11-29 14:07:30 +01:00 committed by GitHub
parent d8a7336a3f
commit 9805d8a6cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,7 +70,7 @@ async def async_setup_entry(
| ISYBinarySensorHeartbeat | ISYBinarySensorHeartbeat
| ISYBinarySensorProgramEntity, | ISYBinarySensorProgramEntity,
] = {} ] = {}
child_nodes: list[tuple[Node, str | None, str | None]] = [] child_nodes: list[tuple[Node, BinarySensorDeviceClass | None, str | None]] = []
entity: ISYInsteonBinarySensorEntity | ISYBinarySensorEntity | ISYBinarySensorHeartbeat | ISYBinarySensorProgramEntity entity: ISYInsteonBinarySensorEntity | ISYBinarySensorEntity | ISYBinarySensorHeartbeat | ISYBinarySensorProgramEntity
hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id] hass_isy_data = hass.data[ISY994_DOMAIN][entry.entry_id]
@ -192,7 +192,9 @@ async def async_setup_entry(
async_add_entities(entities) async_add_entities(entities)
def _detect_device_type_and_class(node: Group | Node) -> tuple[str | None, str | None]: def _detect_device_type_and_class(
node: Group | Node,
) -> tuple[BinarySensorDeviceClass | None, str | None]:
try: try:
device_type = node.type device_type = node.type
except AttributeError: except AttributeError:
@ -220,7 +222,7 @@ class ISYBinarySensorEntity(ISYNodeEntity, BinarySensorEntity):
def __init__( def __init__(
self, self,
node: Node, node: Node,
force_device_class: str | None = None, force_device_class: BinarySensorDeviceClass | None = None,
unknown_state: bool | None = None, unknown_state: bool | None = None,
) -> None: ) -> None:
"""Initialize the ISY994 binary sensor device.""" """Initialize the ISY994 binary sensor device."""
@ -235,7 +237,7 @@ class ISYBinarySensorEntity(ISYNodeEntity, BinarySensorEntity):
return bool(self._node.status) return bool(self._node.status)
@property @property
def device_class(self) -> str | None: def device_class(self) -> BinarySensorDeviceClass | None:
"""Return the class of this device. """Return the class of this device.
This was discovered by parsing the device type code during init This was discovered by parsing the device type code during init
@ -255,7 +257,7 @@ class ISYInsteonBinarySensorEntity(ISYBinarySensorEntity):
def __init__( def __init__(
self, self,
node: Node, node: Node,
force_device_class: str | None = None, force_device_class: BinarySensorDeviceClass | None = None,
unknown_state: bool | None = None, unknown_state: bool | None = None,
) -> None: ) -> None:
"""Initialize the ISY994 binary sensor device.""" """Initialize the ISY994 binary sensor device."""
@ -484,7 +486,7 @@ class ISYBinarySensorHeartbeat(ISYNodeEntity, BinarySensorEntity):
return bool(self._computed_state) return bool(self._computed_state)
@property @property
def device_class(self) -> str: def device_class(self) -> BinarySensorDeviceClass:
"""Get the class of this device.""" """Get the class of this device."""
return BinarySensorDeviceClass.BATTERY return BinarySensorDeviceClass.BATTERY