From de19f8550fd5fecc9bb78f7343cd8fcdf026d1f9 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sun, 9 Feb 2025 17:33:26 +0100 Subject: [PATCH] Explicitly pass in the config_entry in mikrotik coordinator (#138089) explicitly pass in the config_entry in coordinator --- homeassistant/components/mikrotik/__init__.py | 9 ++++----- .../components/mikrotik/coordinator.py | 18 ++++++++++++------ .../components/mikrotik/device_tracker.py | 3 +-- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/homeassistant/components/mikrotik/__init__.py b/homeassistant/components/mikrotik/__init__.py index cecf96a6c3e..4e17653c05a 100644 --- a/homeassistant/components/mikrotik/__init__.py +++ b/homeassistant/components/mikrotik/__init__.py @@ -1,19 +1,16 @@ """The Mikrotik component.""" -from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.helpers import device_registry as dr from .const import ATTR_MANUFACTURER, DOMAIN -from .coordinator import MikrotikDataUpdateCoordinator, get_api +from .coordinator import MikrotikConfigEntry, MikrotikDataUpdateCoordinator, get_api from .errors import CannotConnect, LoginError PLATFORMS = [Platform.DEVICE_TRACKER] -type MikrotikConfigEntry = ConfigEntry[MikrotikDataUpdateCoordinator] - async def async_setup_entry( hass: HomeAssistant, config_entry: MikrotikConfigEntry @@ -47,6 +44,8 @@ async def async_setup_entry( return True -async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: +async def async_unload_entry( + hass: HomeAssistant, config_entry: MikrotikConfigEntry +) -> bool: """Unload a config entry.""" return await hass.config_entries.async_unload_platforms(config_entry, PLATFORMS) diff --git a/homeassistant/components/mikrotik/coordinator.py b/homeassistant/components/mikrotik/coordinator.py index 6cb36d58fbe..c68b13eeca8 100644 --- a/homeassistant/components/mikrotik/coordinator.py +++ b/homeassistant/components/mikrotik/coordinator.py @@ -45,6 +45,8 @@ from .errors import CannotConnect, LoginError _LOGGER = logging.getLogger(__name__) +type MikrotikConfigEntry = ConfigEntry[MikrotikDataUpdateCoordinator] + class MikrotikData: """Handle all communication with the Mikrotik API.""" @@ -246,17 +248,21 @@ class MikrotikData: class MikrotikDataUpdateCoordinator(DataUpdateCoordinator[None]): """Mikrotik Hub Object.""" + config_entry: MikrotikConfigEntry + def __init__( - self, hass: HomeAssistant, config_entry: ConfigEntry, api: librouteros.Api + self, + hass: HomeAssistant, + config_entry: MikrotikConfigEntry, + api: librouteros.Api, ) -> None: """Initialize the Mikrotik Client.""" - self.hass = hass - self.config_entry: ConfigEntry = config_entry - self._mk_data = MikrotikData(self.hass, self.config_entry, api) + self._mk_data = MikrotikData(hass, config_entry, api) super().__init__( - self.hass, + hass, _LOGGER, - name=f"{DOMAIN} - {self.host}", + config_entry=config_entry, + name=f"{DOMAIN} - {config_entry.data[CONF_HOST]}", update_interval=timedelta(seconds=10), ) diff --git a/homeassistant/components/mikrotik/device_tracker.py b/homeassistant/components/mikrotik/device_tracker.py index 19d5c789c09..db4727ec1ec 100644 --- a/homeassistant/components/mikrotik/device_tracker.py +++ b/homeassistant/components/mikrotik/device_tracker.py @@ -14,8 +14,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.util import dt as dt_util -from . import MikrotikConfigEntry -from .coordinator import Device, MikrotikDataUpdateCoordinator +from .coordinator import Device, MikrotikConfigEntry, MikrotikDataUpdateCoordinator async def async_setup_entry(