Explicitly pass in the config_entry in jvc_projector coordinator (#138127)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 20:50:52 +01:00 committed by GitHub
parent b9828c5edd
commit ca77b94565
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 15 additions and 10 deletions

View File

@ -4,7 +4,6 @@ from __future__ import annotations
from jvcprojector import JvcProjector, JvcProjectorAuthError, JvcProjectorConnectError from jvcprojector import JvcProjector, JvcProjectorAuthError, JvcProjectorConnectError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
CONF_HOST, CONF_HOST,
CONF_PASSWORD, CONF_PASSWORD,
@ -15,9 +14,7 @@ from homeassistant.const import (
from homeassistant.core import Event, HomeAssistant from homeassistant.core import Event, HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from .coordinator import JvcProjectorDataUpdateCoordinator from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
type JVCConfigEntry = ConfigEntry[JvcProjectorDataUpdateCoordinator]
PLATFORMS = [Platform.BINARY_SENSOR, Platform.REMOTE, Platform.SELECT, Platform.SENSOR] PLATFORMS = [Platform.BINARY_SENSOR, Platform.REMOTE, Platform.SELECT, Platform.SENSOR]
@ -41,7 +38,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: JVCConfigEntry) -> bool:
await device.disconnect() await device.disconnect()
raise ConfigEntryAuthFailed("Password authentication failed") from err raise ConfigEntryAuthFailed("Password authentication failed") from err
coordinator = JvcProjectorDataUpdateCoordinator(hass, device) coordinator = JvcProjectorDataUpdateCoordinator(hass, entry, device)
await coordinator.async_config_entry_first_refresh() await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator entry.runtime_data = coordinator

View File

@ -8,7 +8,7 @@ from homeassistant.components.binary_sensor import BinarySensorEntity
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 JVCConfigEntry, JvcProjectorDataUpdateCoordinator from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity from .entity import JvcProjectorEntity
ON_STATUS = (const.ON, const.WARMING) ON_STATUS = (const.ON, const.WARMING)

View File

@ -13,6 +13,7 @@ from jvcprojector import (
const, const,
) )
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.device_registry import format_mac from homeassistant.helpers.device_registry import format_mac
@ -25,15 +26,22 @@ _LOGGER = logging.getLogger(__name__)
INTERVAL_SLOW = timedelta(seconds=10) INTERVAL_SLOW = timedelta(seconds=10)
INTERVAL_FAST = timedelta(seconds=5) INTERVAL_FAST = timedelta(seconds=5)
type JVCConfigEntry = ConfigEntry[JvcProjectorDataUpdateCoordinator]
class JvcProjectorDataUpdateCoordinator(DataUpdateCoordinator[dict[str, str]]): class JvcProjectorDataUpdateCoordinator(DataUpdateCoordinator[dict[str, str]]):
"""Data update coordinator for the JVC Projector integration.""" """Data update coordinator for the JVC Projector integration."""
def __init__(self, hass: HomeAssistant, device: JvcProjector) -> None: config_entry: JVCConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: JVCConfigEntry, device: JvcProjector
) -> None:
"""Initialize the coordinator.""" """Initialize the coordinator."""
super().__init__( super().__init__(
hass=hass, hass=hass,
logger=_LOGGER, logger=_LOGGER,
config_entry=config_entry,
name=NAME, name=NAME,
update_interval=INTERVAL_SLOW, update_interval=INTERVAL_SLOW,
) )

View File

@ -14,7 +14,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import JVCConfigEntry from .coordinator import JVCConfigEntry
from .entity import JvcProjectorEntity from .entity import JvcProjectorEntity
COMMANDS = { COMMANDS = {

View File

@ -12,7 +12,7 @@ from homeassistant.components.select import SelectEntity, SelectEntityDescriptio
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 JVCConfigEntry, JvcProjectorDataUpdateCoordinator from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity from .entity import JvcProjectorEntity

View File

@ -13,7 +13,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 JVCConfigEntry, JvcProjectorDataUpdateCoordinator from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity from .entity import JvcProjectorEntity
JVC_SENSORS = ( JVC_SENSORS = (