From 00e600d4066e7608c553e601e8f8058d6ec7eaf0 Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Sun, 23 Apr 2023 11:24:39 +0200 Subject: [PATCH] Improve notion generic typing (#91883) --- homeassistant/components/notion/__init__.py | 10 +++++----- homeassistant/components/notion/diagnostics.py | 3 ++- homeassistant/components/notion/sensor.py | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/notion/__init__.py b/homeassistant/components/notion/__init__.py index 7ff05d2a75e..5e55496fc54 100644 --- a/homeassistant/components/notion/__init__.py +++ b/homeassistant/components/notion/__init__.py @@ -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), diff --git a/homeassistant/components/notion/diagnostics.py b/homeassistant/components/notion/diagnostics.py index ea243c43b33..06100580b39 100644 --- a/homeassistant/components/notion/diagnostics.py +++ b/homeassistant/components/notion/diagnostics.py @@ -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( { diff --git a/homeassistant/components/notion/sensor.py b/homeassistant/components/notion/sensor.py index 687c13055b9..f4e6e7cc322 100644 --- a/homeassistant/components/notion/sensor.py +++ b/homeassistant/components/notion/sensor.py @@ -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",