mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Explicitly pass in the config_entry in braviatv coordinator init (#137724)
explicitly pass in the config_entry in braviatv coordinator init
This commit is contained in:
parent
7007bd121f
commit
b9a3cab4b4
@ -7,14 +7,11 @@ from typing import Final
|
|||||||
from aiohttp import CookieJar
|
from aiohttp import CookieJar
|
||||||
from pybravia import BraviaClient
|
from pybravia import BraviaClient
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
|
||||||
from homeassistant.const import CONF_HOST, CONF_MAC, Platform
|
from homeassistant.const import CONF_HOST, CONF_MAC, Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.aiohttp_client import async_create_clientsession
|
from homeassistant.helpers.aiohttp_client import async_create_clientsession
|
||||||
|
|
||||||
from .coordinator import BraviaTVCoordinator
|
from .coordinator import BraviaTVConfigEntry, BraviaTVCoordinator
|
||||||
|
|
||||||
BraviaTVConfigEntry = ConfigEntry[BraviaTVCoordinator]
|
|
||||||
|
|
||||||
PLATFORMS: Final[list[Platform]] = [
|
PLATFORMS: Final[list[Platform]] = [
|
||||||
Platform.BUTTON,
|
Platform.BUTTON,
|
||||||
@ -36,8 +33,8 @@ async def async_setup_entry(
|
|||||||
client = BraviaClient(host, mac, session=session)
|
client = BraviaClient(host, mac, session=session)
|
||||||
coordinator = BraviaTVCoordinator(
|
coordinator = BraviaTVCoordinator(
|
||||||
hass=hass,
|
hass=hass,
|
||||||
|
config_entry=config_entry,
|
||||||
client=client,
|
client=client,
|
||||||
config=config_entry.data,
|
|
||||||
)
|
)
|
||||||
config_entry.async_on_unload(config_entry.add_update_listener(update_listener))
|
config_entry.async_on_unload(config_entry.add_update_listener(update_listener))
|
||||||
|
|
||||||
|
@ -14,8 +14,7 @@ from homeassistant.const import EntityCategory
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import BraviaTVConfigEntry
|
from .coordinator import BraviaTVConfigEntry, BraviaTVCoordinator
|
||||||
from .coordinator import BraviaTVCoordinator
|
|
||||||
from .entity import BraviaTVEntity
|
from .entity import BraviaTVEntity
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ from collections.abc import Awaitable, Callable, Coroutine, Iterable
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
import logging
|
import logging
|
||||||
from types import MappingProxyType
|
|
||||||
from typing import Any, Concatenate, Final
|
from typing import Any, Concatenate, Final
|
||||||
|
|
||||||
from pybravia import (
|
from pybravia import (
|
||||||
@ -20,6 +19,7 @@ from pybravia import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from homeassistant.components.media_player import MediaType
|
from homeassistant.components.media_player import MediaType
|
||||||
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_CLIENT_ID, CONF_PIN
|
from homeassistant.const import CONF_CLIENT_ID, CONF_PIN
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryAuthFailed
|
from homeassistant.exceptions import ConfigEntryAuthFailed
|
||||||
@ -39,6 +39,8 @@ _LOGGER = logging.getLogger(__name__)
|
|||||||
|
|
||||||
SCAN_INTERVAL: Final = timedelta(seconds=10)
|
SCAN_INTERVAL: Final = timedelta(seconds=10)
|
||||||
|
|
||||||
|
type BraviaTVConfigEntry = ConfigEntry["BraviaTVCoordinator"]
|
||||||
|
|
||||||
|
|
||||||
def catch_braviatv_errors[_BraviaTVCoordinatorT: BraviaTVCoordinator, **_P](
|
def catch_braviatv_errors[_BraviaTVCoordinatorT: BraviaTVCoordinator, **_P](
|
||||||
func: Callable[Concatenate[_BraviaTVCoordinatorT, _P], Awaitable[None]],
|
func: Callable[Concatenate[_BraviaTVCoordinatorT, _P], Awaitable[None]],
|
||||||
@ -64,19 +66,21 @@ def catch_braviatv_errors[_BraviaTVCoordinatorT: BraviaTVCoordinator, **_P](
|
|||||||
class BraviaTVCoordinator(DataUpdateCoordinator[None]):
|
class BraviaTVCoordinator(DataUpdateCoordinator[None]):
|
||||||
"""Representation of a Bravia TV Coordinator."""
|
"""Representation of a Bravia TV Coordinator."""
|
||||||
|
|
||||||
|
config_entry: BraviaTVConfigEntry
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
config_entry: BraviaTVConfigEntry,
|
||||||
client: BraviaClient,
|
client: BraviaClient,
|
||||||
config: MappingProxyType[str, Any],
|
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize Bravia TV Client."""
|
"""Initialize Bravia TV Client."""
|
||||||
|
|
||||||
self.client = client
|
self.client = client
|
||||||
self.pin = config[CONF_PIN]
|
self.pin = config_entry.data[CONF_PIN]
|
||||||
self.use_psk = config.get(CONF_USE_PSK, False)
|
self.use_psk = config_entry.data.get(CONF_USE_PSK, False)
|
||||||
self.client_id = config.get(CONF_CLIENT_ID, LEGACY_CLIENT_ID)
|
self.client_id = config_entry.data.get(CONF_CLIENT_ID, LEGACY_CLIENT_ID)
|
||||||
self.nickname = config.get(CONF_NICKNAME, NICKNAME_PREFIX)
|
self.nickname = config_entry.data.get(CONF_NICKNAME, NICKNAME_PREFIX)
|
||||||
self.source: str | None = None
|
self.source: str | None = None
|
||||||
self.source_list: list[str] = []
|
self.source_list: list[str] = []
|
||||||
self.source_map: dict[str, dict] = {}
|
self.source_map: dict[str, dict] = {}
|
||||||
@ -98,6 +102,7 @@ class BraviaTVCoordinator(DataUpdateCoordinator[None]):
|
|||||||
super().__init__(
|
super().__init__(
|
||||||
hass,
|
hass,
|
||||||
_LOGGER,
|
_LOGGER,
|
||||||
|
config_entry=config_entry,
|
||||||
name=DOMAIN,
|
name=DOMAIN,
|
||||||
update_interval=SCAN_INTERVAL,
|
update_interval=SCAN_INTERVAL,
|
||||||
request_refresh_debouncer=Debouncer(
|
request_refresh_debouncer=Debouncer(
|
||||||
|
@ -6,7 +6,7 @@ from homeassistant.components.diagnostics import async_redact_data
|
|||||||
from homeassistant.const import CONF_MAC, CONF_PIN
|
from homeassistant.const import CONF_MAC, CONF_PIN
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import BraviaTVConfigEntry
|
from .coordinator import BraviaTVConfigEntry
|
||||||
|
|
||||||
TO_REDACT = {CONF_MAC, CONF_PIN, "macAddr"}
|
TO_REDACT = {CONF_MAC, CONF_PIN, "macAddr"}
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC, DeviceInfo
|
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC, DeviceInfo
|
||||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||||
|
|
||||||
from . import BraviaTVCoordinator
|
|
||||||
from .const import ATTR_MANUFACTURER, DOMAIN
|
from .const import ATTR_MANUFACTURER, DOMAIN
|
||||||
|
from .coordinator import BraviaTVCoordinator
|
||||||
|
|
||||||
|
|
||||||
class BraviaTVEntity(CoordinatorEntity[BraviaTVCoordinator]):
|
class BraviaTVEntity(CoordinatorEntity[BraviaTVCoordinator]):
|
||||||
|
@ -18,8 +18,8 @@ from homeassistant.components.media_player import (
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import BraviaTVConfigEntry
|
|
||||||
from .const import SourceType
|
from .const import SourceType
|
||||||
|
from .coordinator import BraviaTVConfigEntry
|
||||||
from .entity import BraviaTVEntity
|
from .entity import BraviaTVEntity
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ from homeassistant.components.remote import ATTR_NUM_REPEATS, RemoteEntity
|
|||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import BraviaTVConfigEntry
|
from .coordinator import BraviaTVConfigEntry
|
||||||
from .entity import BraviaTVEntity
|
from .entity import BraviaTVEntity
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user