From 2e496411a15d943c74e6c2aeeae2e64029bdecc0 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sun, 9 Feb 2025 16:31:24 +0100 Subject: [PATCH] Explicitly pass in the config_entry in nextdns coordinator (#138072) explicitly pass in the config_entry in coordinator --- homeassistant/components/nextdns/__init__.py | 4 +++- .../components/nextdns/coordinator.py | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/nextdns/__init__.py b/homeassistant/components/nextdns/__init__.py index 7f0729bca1e..478ff215c30 100644 --- a/homeassistant/components/nextdns/__init__.py +++ b/homeassistant/components/nextdns/__init__.py @@ -98,7 +98,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry) -> b # Independent DataUpdateCoordinator is used for each API endpoint to avoid # unnecessary requests when entities using this endpoint are disabled. for coordinator_name, coordinator_class, update_interval in COORDINATORS: - coordinator = coordinator_class(hass, nextdns, profile_id, update_interval) + coordinator = coordinator_class( + hass, entry, nextdns, profile_id, update_interval + ) tasks.append(coordinator.async_config_entry_first_refresh()) coordinators[coordinator_name] = coordinator diff --git a/homeassistant/components/nextdns/coordinator.py b/homeassistant/components/nextdns/coordinator.py index 6b35e35a027..850702e4488 100644 --- a/homeassistant/components/nextdns/coordinator.py +++ b/homeassistant/components/nextdns/coordinator.py @@ -1,8 +1,10 @@ """NextDns coordinator.""" +from __future__ import annotations + from datetime import timedelta import logging -from typing import TypeVar +from typing import TYPE_CHECKING, TypeVar from aiohttp.client_exceptions import ClientConnectorError from nextdns import ( @@ -25,6 +27,9 @@ from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed +if TYPE_CHECKING: + from . import NextDnsConfigEntry + from .const import DOMAIN _LOGGER = logging.getLogger(__name__) @@ -35,9 +40,12 @@ CoordinatorDataT = TypeVar("CoordinatorDataT", bound=NextDnsData) class NextDnsUpdateCoordinator(DataUpdateCoordinator[CoordinatorDataT]): """Class to manage fetching NextDNS data API.""" + config_entry: NextDnsConfigEntry + def __init__( self, hass: HomeAssistant, + config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str, update_interval: timedelta, @@ -54,7 +62,13 @@ class NextDnsUpdateCoordinator(DataUpdateCoordinator[CoordinatorDataT]): name=self.profile_name, ) - super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval) + super().__init__( + hass, + _LOGGER, + config_entry=config_entry, + name=DOMAIN, + update_interval=update_interval, + ) async def _async_update_data(self) -> CoordinatorDataT: """Update data via internal method."""