mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 17:57:55 +00:00
Improve notion generic typing (#91883)
This commit is contained in:
parent
f18056f0a4
commit
00e600d406
@ -235,29 +235,29 @@ def _async_register_new_bridge(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class NotionEntity(CoordinatorEntity):
|
class NotionEntity(CoordinatorEntity[DataUpdateCoordinator[NotionData]]):
|
||||||
"""Define a base Notion entity."""
|
"""Define a base Notion entity."""
|
||||||
|
|
||||||
_attr_has_entity_name = True
|
_attr_has_entity_name = True
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
coordinator: DataUpdateCoordinator,
|
coordinator: DataUpdateCoordinator[NotionData],
|
||||||
listener_id: str,
|
listener_id: str,
|
||||||
sensor_id: str,
|
sensor_id: str,
|
||||||
bridge_id: str,
|
bridge_id: int,
|
||||||
system_id: str,
|
system_id: str,
|
||||||
description: EntityDescription,
|
description: EntityDescription,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the entity."""
|
"""Initialize the entity."""
|
||||||
super().__init__(coordinator)
|
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]
|
sensor = self.coordinator.data.sensors[sensor_id]
|
||||||
self._attr_device_info = DeviceInfo(
|
self._attr_device_info = DeviceInfo(
|
||||||
identifiers={(DOMAIN, sensor.hardware_id)},
|
identifiers={(DOMAIN, sensor.hardware_id)},
|
||||||
manufacturer="Silicon Labs",
|
manufacturer="Silicon Labs",
|
||||||
model=sensor.hardware_revision,
|
model=str(sensor.hardware_revision),
|
||||||
name=str(sensor.name).capitalize(),
|
name=str(sensor.name).capitalize(),
|
||||||
sw_version=sensor.firmware_version,
|
sw_version=sensor.firmware_version,
|
||||||
via_device=(DOMAIN, bridge.hardware_id),
|
via_device=(DOMAIN, bridge.hardware_id),
|
||||||
|
@ -9,6 +9,7 @@ from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID, CONF_
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||||
|
|
||||||
|
from . import NotionData
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
CONF_DEVICE_KEY = "device_key"
|
CONF_DEVICE_KEY = "device_key"
|
||||||
@ -33,7 +34,7 @@ async def async_get_config_entry_diagnostics(
|
|||||||
hass: HomeAssistant, entry: ConfigEntry
|
hass: HomeAssistant, entry: ConfigEntry
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
"""Return diagnostics for a config entry."""
|
"""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(
|
return async_redact_data(
|
||||||
{
|
{
|
||||||
|
@ -69,7 +69,7 @@ class NotionSensor(NotionEntity, SensorEntity):
|
|||||||
listener = self.coordinator.data.listeners[self._listener_id]
|
listener = self.coordinator.data.listeners[self._listener_id]
|
||||||
|
|
||||||
if listener.listener_kind == ListenerKind.TEMPERATURE:
|
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:
|
else:
|
||||||
LOGGER.error(
|
LOGGER.error(
|
||||||
"Unknown listener type for sensor %s",
|
"Unknown listener type for sensor %s",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user