From b9a3cab4b438fc9591fa4c617ed3c057aaa435c9 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Fri, 7 Feb 2025 20:43:54 +0100 Subject: [PATCH] Explicitly pass in the config_entry in braviatv coordinator init (#137724) explicitly pass in the config_entry in braviatv coordinator init --- homeassistant/components/braviatv/__init__.py | 7 ++----- homeassistant/components/braviatv/button.py | 3 +-- .../components/braviatv/coordinator.py | 17 +++++++++++------ .../components/braviatv/diagnostics.py | 2 +- homeassistant/components/braviatv/entity.py | 2 +- .../components/braviatv/media_player.py | 2 +- homeassistant/components/braviatv/remote.py | 2 +- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/homeassistant/components/braviatv/__init__.py b/homeassistant/components/braviatv/__init__.py index 6593afb75d1..52fcf82b38b 100644 --- a/homeassistant/components/braviatv/__init__.py +++ b/homeassistant/components/braviatv/__init__.py @@ -7,14 +7,11 @@ from typing import Final from aiohttp import CookieJar from pybravia import BraviaClient -from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, CONF_MAC, Platform from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_create_clientsession -from .coordinator import BraviaTVCoordinator - -BraviaTVConfigEntry = ConfigEntry[BraviaTVCoordinator] +from .coordinator import BraviaTVConfigEntry, BraviaTVCoordinator PLATFORMS: Final[list[Platform]] = [ Platform.BUTTON, @@ -36,8 +33,8 @@ async def async_setup_entry( client = BraviaClient(host, mac, session=session) coordinator = BraviaTVCoordinator( hass=hass, + config_entry=config_entry, client=client, - config=config_entry.data, ) config_entry.async_on_unload(config_entry.add_update_listener(update_listener)) diff --git a/homeassistant/components/braviatv/button.py b/homeassistant/components/braviatv/button.py index 358255bd85b..626e5a225b7 100644 --- a/homeassistant/components/braviatv/button.py +++ b/homeassistant/components/braviatv/button.py @@ -14,8 +14,7 @@ from homeassistant.const import EntityCategory from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import BraviaTVConfigEntry -from .coordinator import BraviaTVCoordinator +from .coordinator import BraviaTVConfigEntry, BraviaTVCoordinator from .entity import BraviaTVEntity diff --git a/homeassistant/components/braviatv/coordinator.py b/homeassistant/components/braviatv/coordinator.py index e08e88073f3..1cc306bd5cf 100644 --- a/homeassistant/components/braviatv/coordinator.py +++ b/homeassistant/components/braviatv/coordinator.py @@ -6,7 +6,6 @@ from collections.abc import Awaitable, Callable, Coroutine, Iterable from datetime import datetime, timedelta from functools import wraps import logging -from types import MappingProxyType from typing import Any, Concatenate, Final from pybravia import ( @@ -20,6 +19,7 @@ from pybravia import ( ) from homeassistant.components.media_player import MediaType +from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_CLIENT_ID, CONF_PIN from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed @@ -39,6 +39,8 @@ _LOGGER = logging.getLogger(__name__) SCAN_INTERVAL: Final = timedelta(seconds=10) +type BraviaTVConfigEntry = ConfigEntry["BraviaTVCoordinator"] + def catch_braviatv_errors[_BraviaTVCoordinatorT: BraviaTVCoordinator, **_P]( func: Callable[Concatenate[_BraviaTVCoordinatorT, _P], Awaitable[None]], @@ -64,19 +66,21 @@ def catch_braviatv_errors[_BraviaTVCoordinatorT: BraviaTVCoordinator, **_P]( class BraviaTVCoordinator(DataUpdateCoordinator[None]): """Representation of a Bravia TV Coordinator.""" + config_entry: BraviaTVConfigEntry + def __init__( self, hass: HomeAssistant, + config_entry: BraviaTVConfigEntry, client: BraviaClient, - config: MappingProxyType[str, Any], ) -> None: """Initialize Bravia TV Client.""" self.client = client - self.pin = config[CONF_PIN] - self.use_psk = config.get(CONF_USE_PSK, False) - self.client_id = config.get(CONF_CLIENT_ID, LEGACY_CLIENT_ID) - self.nickname = config.get(CONF_NICKNAME, NICKNAME_PREFIX) + self.pin = config_entry.data[CONF_PIN] + self.use_psk = config_entry.data.get(CONF_USE_PSK, False) + self.client_id = config_entry.data.get(CONF_CLIENT_ID, LEGACY_CLIENT_ID) + self.nickname = config_entry.data.get(CONF_NICKNAME, NICKNAME_PREFIX) self.source: str | None = None self.source_list: list[str] = [] self.source_map: dict[str, dict] = {} @@ -98,6 +102,7 @@ class BraviaTVCoordinator(DataUpdateCoordinator[None]): super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=SCAN_INTERVAL, request_refresh_debouncer=Debouncer( diff --git a/homeassistant/components/braviatv/diagnostics.py b/homeassistant/components/braviatv/diagnostics.py index 0969674d5c9..b858fd41c09 100644 --- a/homeassistant/components/braviatv/diagnostics.py +++ b/homeassistant/components/braviatv/diagnostics.py @@ -6,7 +6,7 @@ from homeassistant.components.diagnostics import async_redact_data from homeassistant.const import CONF_MAC, CONF_PIN from homeassistant.core import HomeAssistant -from . import BraviaTVConfigEntry +from .coordinator import BraviaTVConfigEntry TO_REDACT = {CONF_MAC, CONF_PIN, "macAddr"} diff --git a/homeassistant/components/braviatv/entity.py b/homeassistant/components/braviatv/entity.py index 75540b316a7..b4e370f20d2 100644 --- a/homeassistant/components/braviatv/entity.py +++ b/homeassistant/components/braviatv/entity.py @@ -3,8 +3,8 @@ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC, DeviceInfo from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import BraviaTVCoordinator from .const import ATTR_MANUFACTURER, DOMAIN +from .coordinator import BraviaTVCoordinator class BraviaTVEntity(CoordinatorEntity[BraviaTVCoordinator]): diff --git a/homeassistant/components/braviatv/media_player.py b/homeassistant/components/braviatv/media_player.py index 4de167a6def..ca48c6ee639 100644 --- a/homeassistant/components/braviatv/media_player.py +++ b/homeassistant/components/braviatv/media_player.py @@ -18,8 +18,8 @@ from homeassistant.components.media_player import ( from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import BraviaTVConfigEntry from .const import SourceType +from .coordinator import BraviaTVConfigEntry from .entity import BraviaTVEntity diff --git a/homeassistant/components/braviatv/remote.py b/homeassistant/components/braviatv/remote.py index 9344d6ec455..9f4a573827b 100644 --- a/homeassistant/components/braviatv/remote.py +++ b/homeassistant/components/braviatv/remote.py @@ -9,7 +9,7 @@ from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import BraviaTVConfigEntry +from .coordinator import BraviaTVConfigEntry from .entity import BraviaTVEntity