Explicitly pass in the config_entry in monarch_money coordinator (#138082)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-09 16:34:30 +01:00 committed by GitHub
parent fa1a03ded1
commit 63735da5a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 7 deletions

View File

@ -4,13 +4,10 @@ from __future__ import annotations
from typedmonarchmoney import TypedMonarchMoney from typedmonarchmoney import TypedMonarchMoney
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_TOKEN, Platform from homeassistant.const import CONF_TOKEN, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .coordinator import MonarchMoneyDataUpdateCoordinator from .coordinator import MonarchMoneyConfigEntry, MonarchMoneyDataUpdateCoordinator
type MonarchMoneyConfigEntry = ConfigEntry[MonarchMoneyDataUpdateCoordinator]
PLATFORMS: list[Platform] = [Platform.SENSOR] PLATFORMS: list[Platform] = [Platform.SENSOR]
@ -21,7 +18,7 @@ async def async_setup_entry(
"""Set up Monarch Money from a config entry.""" """Set up Monarch Money from a config entry."""
monarch_client = TypedMonarchMoney(token=entry.data.get(CONF_TOKEN)) monarch_client = TypedMonarchMoney(token=entry.data.get(CONF_TOKEN))
mm_coordinator = MonarchMoneyDataUpdateCoordinator(hass, monarch_client) mm_coordinator = MonarchMoneyDataUpdateCoordinator(hass, entry, monarch_client)
await mm_coordinator.async_config_entry_first_refresh() await mm_coordinator.async_config_entry_first_refresh()
entry.runtime_data = mm_coordinator entry.runtime_data = mm_coordinator
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

View File

@ -30,21 +30,26 @@ class MonarchData:
cashflow_summary: MonarchCashflowSummary cashflow_summary: MonarchCashflowSummary
type MonarchMoneyConfigEntry = ConfigEntry[MonarchMoneyDataUpdateCoordinator]
class MonarchMoneyDataUpdateCoordinator(DataUpdateCoordinator[MonarchData]): class MonarchMoneyDataUpdateCoordinator(DataUpdateCoordinator[MonarchData]):
"""Data update coordinator for Monarch Money.""" """Data update coordinator for Monarch Money."""
config_entry: ConfigEntry config_entry: MonarchMoneyConfigEntry
subscription_id: str subscription_id: str
def __init__( def __init__(
self, self,
hass: HomeAssistant, hass: HomeAssistant,
config_entry: MonarchMoneyConfigEntry,
client: TypedMonarchMoney, client: TypedMonarchMoney,
) -> None: ) -> None:
"""Initialize the coordinator.""" """Initialize the coordinator."""
super().__init__( super().__init__(
hass=hass, hass=hass,
logger=LOGGER, logger=LOGGER,
config_entry=config_entry,
name="monarchmoney", name="monarchmoney",
update_interval=timedelta(hours=4), update_interval=timedelta(hours=4),
) )

View File

@ -17,7 +17,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType from homeassistant.helpers.typing import StateType
from . import MonarchMoneyConfigEntry from .coordinator import MonarchMoneyConfigEntry
from .entity import MonarchMoneyAccountEntity, MonarchMoneyCashFlowEntity from .entity import MonarchMoneyAccountEntity, MonarchMoneyCashFlowEntity