Improve notion generic typing (#91883)

This commit is contained in:
Marc Mueller 2023-04-23 11:24:39 +02:00 committed by GitHub
parent f18056f0a4
commit 00e600d406
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 7 deletions

View File

@ -235,29 +235,29 @@ def _async_register_new_bridge(
)
class NotionEntity(CoordinatorEntity):
class NotionEntity(CoordinatorEntity[DataUpdateCoordinator[NotionData]]):
"""Define a base Notion entity."""
_attr_has_entity_name = True
def __init__(
self,
coordinator: DataUpdateCoordinator,
coordinator: DataUpdateCoordinator[NotionData],
listener_id: str,
sensor_id: str,
bridge_id: str,
bridge_id: int,
system_id: str,
description: EntityDescription,
) -> None:
"""Initialize the entity."""
super().__init__(coordinator)
bridge = self.coordinator.data.bridges.get(bridge_id, {})
bridge = self.coordinator.data.bridges[bridge_id]
sensor = self.coordinator.data.sensors[sensor_id]
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, sensor.hardware_id)},
manufacturer="Silicon Labs",
model=sensor.hardware_revision,
model=str(sensor.hardware_revision),
name=str(sensor.name).capitalize(),
sw_version=sensor.firmware_version,
via_device=(DOMAIN, bridge.hardware_id),

View File

@ -9,6 +9,7 @@ from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID, CONF_
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from . import NotionData
from .const import DOMAIN
CONF_DEVICE_KEY = "device_key"
@ -33,7 +34,7 @@ async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
coordinator: DataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
coordinator: DataUpdateCoordinator[NotionData] = hass.data[DOMAIN][entry.entry_id]
return async_redact_data(
{

View File

@ -69,7 +69,7 @@ class NotionSensor(NotionEntity, SensorEntity):
listener = self.coordinator.data.listeners[self._listener_id]
if listener.listener_kind == ListenerKind.TEMPERATURE:
self._attr_native_value = round(listener.status.temperature, 1)
self._attr_native_value = round(listener.status.temperature, 1) # type: ignore[attr-defined]
else:
LOGGER.error(
"Unknown listener type for sensor %s",