From 7e11fec761dcdc108cd8e355c4f19d1a79d50270 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Sun, 5 May 2024 13:04:01 +0200 Subject: [PATCH] Migrate properties to instance variables in NAM coordinator (#116703) * Migrate properties to instance variables * Fix unique_id type * Update homeassistant/components/nam/__init__.py Co-authored-by: Joost Lekkerkerker --------- Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker --- homeassistant/components/nam/__init__.py | 4 +++ homeassistant/components/nam/coordinator.py | 28 +++++++-------------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/homeassistant/components/nam/__init__.py b/homeassistant/components/nam/__init__.py index bd93f1849b7..436838d27a0 100644 --- a/homeassistant/components/nam/__init__.py +++ b/homeassistant/components/nam/__init__.py @@ -3,6 +3,7 @@ from __future__ import annotations import logging +from typing import TYPE_CHECKING from aiohttp.client_exceptions import ClientConnectorError, ClientError from nettigo_air_monitor import ( @@ -51,6 +52,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: NAMConfigEntry) -> bool: except AuthFailedError as err: raise ConfigEntryAuthFailed from err + if TYPE_CHECKING: + assert entry.unique_id + coordinator = NAMDataUpdateCoordinator(hass, nam, entry.unique_id) await coordinator.async_config_entry_first_refresh() diff --git a/homeassistant/components/nam/coordinator.py b/homeassistant/components/nam/coordinator.py index 16d0d34c86b..ec99b3dfb17 100644 --- a/homeassistant/components/nam/coordinator.py +++ b/homeassistant/components/nam/coordinator.py @@ -2,7 +2,6 @@ import asyncio import logging -from typing import cast from aiohttp.client_exceptions import ClientConnectorError from nettigo_air_monitor import ( @@ -28,10 +27,17 @@ class NAMDataUpdateCoordinator(DataUpdateCoordinator[NAMSensors]): self, hass: HomeAssistant, nam: NettigoAirMonitor, - unique_id: str | None, + unique_id: str, ) -> None: """Initialize.""" - self._unique_id = unique_id + self.unique_id = unique_id + self.device_info = DeviceInfo( + connections={(CONNECTION_NETWORK_MAC, unique_id)}, + name="Nettigo Air Monitor", + sw_version=nam.software_version, + manufacturer=MANUFACTURER, + configuration_url=f"http://{nam.host}/", + ) self.nam = nam super().__init__( @@ -49,19 +55,3 @@ class NAMDataUpdateCoordinator(DataUpdateCoordinator[NAMSensors]): raise UpdateFailed(error) from error return data - - @property - def unique_id(self) -> str | None: - """Return a unique_id.""" - return self._unique_id - - @property - def device_info(self) -> DeviceInfo: - """Return the device info.""" - return DeviceInfo( - connections={(CONNECTION_NETWORK_MAC, cast(str, self._unique_id))}, - name="Nettigo Air Monitor", - sw_version=self.nam.software_version, - manufacturer=MANUFACTURER, - configuration_url=f"http://{self.nam.host}/", - )