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 homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONF_HOST,
CONF_PASSWORD,
@ -15,9 +14,7 @@ from homeassistant.const import (
from homeassistant.core import Event, HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from .coordinator import JvcProjectorDataUpdateCoordinator
type JVCConfigEntry = ConfigEntry[JvcProjectorDataUpdateCoordinator]
from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
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()
raise ConfigEntryAuthFailed("Password authentication failed") from err
coordinator = JvcProjectorDataUpdateCoordinator(hass, device)
coordinator = JvcProjectorDataUpdateCoordinator(hass, entry, device)
await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator

View File

@ -8,7 +8,7 @@ from homeassistant.components.binary_sensor import BinarySensorEntity
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity
ON_STATUS = (const.ON, const.WARMING)

View File

@ -13,6 +13,7 @@ from jvcprojector import (
const,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.device_registry import format_mac
@ -25,15 +26,22 @@ _LOGGER = logging.getLogger(__name__)
INTERVAL_SLOW = timedelta(seconds=10)
INTERVAL_FAST = timedelta(seconds=5)
type JVCConfigEntry = ConfigEntry[JvcProjectorDataUpdateCoordinator]
class JvcProjectorDataUpdateCoordinator(DataUpdateCoordinator[dict[str, str]]):
"""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."""
super().__init__(
hass=hass,
logger=_LOGGER,
config_entry=config_entry,
name=NAME,
update_interval=INTERVAL_SLOW,
)

View File

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

View File

@ -12,7 +12,7 @@ from homeassistant.components.select import SelectEntity, SelectEntityDescriptio
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity

View File

@ -13,7 +13,7 @@ from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .coordinator import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
from .entity import JvcProjectorEntity
JVC_SENSORS = (