Explicitly pass in the config_entry in flume coordinator (#137822)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-08 13:15:50 +01:00 committed by GitHub
parent f8ac48fc78
commit 0b1afc68b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 8 deletions

View File

@ -7,7 +7,7 @@ from requests import Session
from requests.exceptions import RequestException from requests.exceptions import RequestException
import voluptuous as vol import voluptuous as vol
from homeassistant.config_entries import ConfigEntry, ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import ( from homeassistant.const import (
CONF_CLIENT_ID, CONF_CLIENT_ID,
CONF_CLIENT_SECRET, CONF_CLIENT_SECRET,
@ -41,7 +41,7 @@ LIST_NOTIFICATIONS_SERVICE_SCHEMA = vol.All(
def _setup_entry( def _setup_entry(
hass: HomeAssistant, entry: ConfigEntry hass: HomeAssistant, entry: FlumeConfigEntry
) -> tuple[FlumeAuth, FlumeDeviceList, Session]: ) -> tuple[FlumeAuth, FlumeDeviceList, Session]:
"""Config entry set up in executor.""" """Config entry set up in executor."""
config = entry.data config = entry.data
@ -79,7 +79,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: FlumeConfigEntry) -> boo
_setup_entry, hass, entry _setup_entry, hass, entry
) )
notification_coordinator = FlumeNotificationDataUpdateCoordinator( notification_coordinator = FlumeNotificationDataUpdateCoordinator(
hass=hass, auth=flume_auth hass=hass, config_entry=entry, auth=flume_auth
) )
entry.runtime_data = FlumeRuntimeData( entry.runtime_data = FlumeRuntimeData(

View File

@ -80,7 +80,7 @@ async def async_setup_entry(
] = [] ] = []
connection_coordinator = FlumeDeviceConnectionUpdateCoordinator( connection_coordinator = FlumeDeviceConnectionUpdateCoordinator(
hass=hass, flume_devices=flume_devices hass=hass, config_entry=config_entry, flume_devices=flume_devices
) )
notification_coordinator = flume_domain_data.notifications_coordinator notification_coordinator = flume_domain_data.notifications_coordinator
flume_devices = get_valid_flume_devices(flume_devices) flume_devices = get_valid_flume_devices(flume_devices)

View File

@ -38,10 +38,18 @@ type FlumeConfigEntry = ConfigEntry[FlumeRuntimeData]
class FlumeDeviceDataUpdateCoordinator(DataUpdateCoordinator[None]): class FlumeDeviceDataUpdateCoordinator(DataUpdateCoordinator[None]):
"""Data update coordinator for an individual flume device.""" """Data update coordinator for an individual flume device."""
def __init__(self, hass: HomeAssistant, flume_device: FlumeData) -> None: config_entry: FlumeConfigEntry
def __init__(
self,
hass: HomeAssistant,
config_entry: FlumeConfigEntry,
flume_device: FlumeData,
) -> None:
"""Initialize the Coordinator.""" """Initialize the Coordinator."""
super().__init__( super().__init__(
hass, hass,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
logger=_LOGGER, logger=_LOGGER,
update_interval=DEVICE_SCAN_INTERVAL, update_interval=DEVICE_SCAN_INTERVAL,
@ -65,10 +73,18 @@ class FlumeDeviceDataUpdateCoordinator(DataUpdateCoordinator[None]):
class FlumeDeviceConnectionUpdateCoordinator(DataUpdateCoordinator[None]): class FlumeDeviceConnectionUpdateCoordinator(DataUpdateCoordinator[None]):
"""Date update coordinator to read connected status from Devices endpoint.""" """Date update coordinator to read connected status from Devices endpoint."""
def __init__(self, hass: HomeAssistant, flume_devices: FlumeDeviceList) -> None: config_entry: FlumeConfigEntry
def __init__(
self,
hass: HomeAssistant,
config_entry: FlumeConfigEntry,
flume_devices: FlumeDeviceList,
) -> None:
"""Initialize the Coordinator.""" """Initialize the Coordinator."""
super().__init__( super().__init__(
hass, hass,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
logger=_LOGGER, logger=_LOGGER,
update_interval=DEVICE_CONNECTION_SCAN_INTERVAL, update_interval=DEVICE_CONNECTION_SCAN_INTERVAL,
@ -96,10 +112,15 @@ class FlumeDeviceConnectionUpdateCoordinator(DataUpdateCoordinator[None]):
class FlumeNotificationDataUpdateCoordinator(DataUpdateCoordinator[None]): class FlumeNotificationDataUpdateCoordinator(DataUpdateCoordinator[None]):
"""Data update coordinator for flume notifications.""" """Data update coordinator for flume notifications."""
def __init__(self, hass: HomeAssistant, auth: FlumeAuth) -> None: config_entry: FlumeConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: FlumeConfigEntry, auth: FlumeAuth
) -> None:
"""Initialize the Coordinator.""" """Initialize the Coordinator."""
super().__init__( super().__init__(
hass, hass,
config_entry=config_entry,
name=DOMAIN, name=DOMAIN,
logger=_LOGGER, logger=_LOGGER,
update_interval=NOTIFICATION_SCAN_INTERVAL, update_interval=NOTIFICATION_SCAN_INTERVAL,

View File

@ -132,7 +132,7 @@ async def async_setup_entry(
flume_device = flume_datas[device_id] flume_device = flume_datas[device_id]
coordinator = FlumeDeviceDataUpdateCoordinator( coordinator = FlumeDeviceDataUpdateCoordinator(
hass=hass, flume_device=flume_device hass=hass, config_entry=config_entry, flume_device=flume_device
) )
flume_entity_list.extend( flume_entity_list.extend(