Explicitly pass in the config_entry in samsungtv coordinator (#137962)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-08 21:33:36 +01:00 committed by GitHub
parent 12072b625c
commit 61ce1fc009
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 16 additions and 12 deletions

View File

@ -44,14 +44,11 @@ from .const import (
UPNP_SVC_MAIN_TV_AGENT, UPNP_SVC_MAIN_TV_AGENT,
UPNP_SVC_RENDERING_CONTROL, UPNP_SVC_RENDERING_CONTROL,
) )
from .coordinator import SamsungTVDataUpdateCoordinator from .coordinator import SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator
PLATFORMS = [Platform.MEDIA_PLAYER, Platform.REMOTE] PLATFORMS = [Platform.MEDIA_PLAYER, Platform.REMOTE]
SamsungTVConfigEntry = ConfigEntry[SamsungTVDataUpdateCoordinator]
@callback @callback
def _async_get_device_bridge( def _async_get_device_bridge(
hass: HomeAssistant, data: dict[str, Any] hass: HomeAssistant, data: dict[str, Any]
@ -165,7 +162,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: SamsungTVConfigEntry) ->
entry.async_on_unload(debounced_reloader.async_shutdown) entry.async_on_unload(debounced_reloader.async_shutdown)
entry.async_on_unload(entry.add_update_listener(debounced_reloader.async_call)) entry.async_on_unload(entry.add_update_listener(debounced_reloader.async_call))
coordinator = SamsungTVDataUpdateCoordinator(hass, bridge) coordinator = SamsungTVDataUpdateCoordinator(hass, entry, bridge)
await coordinator.async_config_entry_first_refresh() await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator entry.runtime_data = coordinator
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

View File

@ -15,17 +15,25 @@ from .const import DOMAIN, LOGGER
SCAN_INTERVAL = 10 SCAN_INTERVAL = 10
type SamsungTVConfigEntry = ConfigEntry[SamsungTVDataUpdateCoordinator]
class SamsungTVDataUpdateCoordinator(DataUpdateCoordinator[None]): class SamsungTVDataUpdateCoordinator(DataUpdateCoordinator[None]):
"""Coordinator for the SamsungTV integration.""" """Coordinator for the SamsungTV integration."""
config_entry: ConfigEntry config_entry: SamsungTVConfigEntry
def __init__(self, hass: HomeAssistant, bridge: SamsungTVBridge) -> None: def __init__(
self,
hass: HomeAssistant,
config_entry: SamsungTVConfigEntry,
bridge: SamsungTVBridge,
) -> None:
"""Initialize the coordinator.""" """Initialize the coordinator."""
super().__init__( super().__init__(
hass, hass,
LOGGER, LOGGER,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
update_interval=timedelta(seconds=SCAN_INTERVAL), update_interval=timedelta(seconds=SCAN_INTERVAL),
) )

View File

@ -8,8 +8,8 @@ from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import CONF_TOKEN from homeassistant.const import CONF_TOKEN
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from . import SamsungTVConfigEntry
from .const import CONF_SESSION_ID from .const import CONF_SESSION_ID
from .coordinator import SamsungTVConfigEntry
TO_REDACT = {CONF_TOKEN, CONF_SESSION_ID} TO_REDACT = {CONF_TOKEN, CONF_SESSION_ID}

View File

@ -7,9 +7,9 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import device_registry as dr, entity_registry as er from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers.device_registry import DeviceEntry from homeassistant.helpers.device_registry import DeviceEntry
from . import SamsungTVConfigEntry
from .bridge import SamsungTVBridge from .bridge import SamsungTVBridge
from .const import DOMAIN from .const import DOMAIN
from .coordinator import SamsungTVConfigEntry
@callback @callback

View File

@ -34,10 +34,9 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.async_ import create_eager_task from homeassistant.util.async_ import create_eager_task
from . import SamsungTVConfigEntry
from .bridge import SamsungTVWSBridge from .bridge import SamsungTVWSBridge
from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION, LOGGER from .const import CONF_SSDP_RENDERING_CONTROL_LOCATION, LOGGER
from .coordinator import SamsungTVDataUpdateCoordinator from .coordinator import SamsungTVConfigEntry, SamsungTVDataUpdateCoordinator
from .entity import SamsungTVEntity from .entity import SamsungTVEntity
SOURCES = {"TV": "KEY_TV", "HDMI": "KEY_HDMI"} SOURCES = {"TV": "KEY_TV", "HDMI": "KEY_HDMI"}

View File

@ -9,8 +9,8 @@ from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import SamsungTVConfigEntry
from .const import LOGGER from .const import LOGGER
from .coordinator import SamsungTVConfigEntry
from .entity import SamsungTVEntity from .entity import SamsungTVEntity