Explicitly pass in the config_entry in modern_forms coordinator (#138085)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 17:32:55 +01:00 committed by GitHub
parent 659032c4d8
commit a60f30509a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 5 deletions

View File

@ -9,7 +9,7 @@ from typing import Any, Concatenate
from aiomodernforms import ModernFormsConnectionError, ModernFormsError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, Platform
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from .const import DOMAIN
@ -30,7 +30,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up a Modern Forms device from a config entry."""
# Create Modern Forms instance for this entry
coordinator = ModernFormsDataUpdateCoordinator(hass, host=entry.data[CONF_HOST])
coordinator = ModernFormsDataUpdateCoordinator(hass, entry)
await coordinator.async_config_entry_first_refresh()
hass.data.setdefault(DOMAIN, {})

View File

@ -8,6 +8,8 @@ import logging
from aiomodernforms import ModernFormsDevice, ModernFormsError
from aiomodernforms.models import Device as ModernFormsDeviceState
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@ -21,20 +23,22 @@ _LOGGER = logging.getLogger(__name__)
class ModernFormsDataUpdateCoordinator(DataUpdateCoordinator[ModernFormsDeviceState]):
"""Class to manage fetching Modern Forms data from single endpoint."""
config_entry: ConfigEntry
def __init__(
self,
hass: HomeAssistant,
*,
host: str,
config_entry: ConfigEntry,
) -> None:
"""Initialize global Modern Forms data updater."""
self.modern_forms = ModernFormsDevice(
host, session=async_get_clientsession(hass)
config_entry.data[CONF_HOST], session=async_get_clientsession(hass)
)
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=SCAN_INTERVAL,
)