mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 16:57:53 +00:00
Explicitly pass in the config_entry in watergate coordinator (#137872)
explicitly pass in the config_entry in coordinator
This commit is contained in:
parent
3cce2d679c
commit
219b5324e9
@ -16,12 +16,11 @@ from homeassistant.components.webhook import (
|
||||
async_generate_url,
|
||||
async_register,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_IP_ADDRESS, CONF_WEBHOOK_ID, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from .const import DOMAIN
|
||||
from .coordinator import WatergateDataCoordinator
|
||||
from .coordinator import WatergateConfigEntry, WatergateDataCoordinator
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
@ -35,8 +34,6 @@ PLATFORMS: list[Platform] = [
|
||||
Platform.VALVE,
|
||||
]
|
||||
|
||||
type WatergateConfigEntry = ConfigEntry[WatergateDataCoordinator]
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: WatergateConfigEntry) -> bool:
|
||||
"""Set up Watergate from a config entry."""
|
||||
@ -52,7 +49,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: WatergateConfigEntry) ->
|
||||
sonic_address if sonic_address.startswith("http") else f"http://{sonic_address}"
|
||||
)
|
||||
|
||||
coordinator = WatergateDataCoordinator(hass, watergate_client)
|
||||
coordinator = WatergateDataCoordinator(hass, entry, watergate_client)
|
||||
entry.runtime_data = coordinator
|
||||
|
||||
async_register(
|
||||
|
@ -7,6 +7,7 @@ import logging
|
||||
from watergate_local_api import WatergateApiException, WatergateLocalApiClient
|
||||
from watergate_local_api.models import DeviceState, NetworkingData, TelemetryData
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
|
||||
@ -24,14 +25,25 @@ class WatergateAgregatedRequests:
|
||||
networking: NetworkingData
|
||||
|
||||
|
||||
type WatergateConfigEntry = ConfigEntry[WatergateDataCoordinator]
|
||||
|
||||
|
||||
class WatergateDataCoordinator(DataUpdateCoordinator[WatergateAgregatedRequests]):
|
||||
"""Class to manage fetching watergate data."""
|
||||
|
||||
def __init__(self, hass: HomeAssistant, api: WatergateLocalApiClient) -> None:
|
||||
config_entry: WatergateConfigEntry
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
hass: HomeAssistant,
|
||||
config_entry: WatergateConfigEntry,
|
||||
api: WatergateLocalApiClient,
|
||||
) -> None:
|
||||
"""Initialize."""
|
||||
super().__init__(
|
||||
hass,
|
||||
_LOGGER,
|
||||
config_entry=config_entry,
|
||||
name=DOMAIN,
|
||||
update_interval=timedelta(minutes=2),
|
||||
)
|
||||
|
@ -26,8 +26,11 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from . import WatergateConfigEntry
|
||||
from .coordinator import WatergateAgregatedRequests, WatergateDataCoordinator
|
||||
from .coordinator import (
|
||||
WatergateAgregatedRequests,
|
||||
WatergateConfigEntry,
|
||||
WatergateDataCoordinator,
|
||||
)
|
||||
from .entity import WatergateEntity
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
@ -10,8 +10,7 @@ from homeassistant.components.valve import (
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import WatergateConfigEntry
|
||||
from .coordinator import WatergateDataCoordinator
|
||||
from .coordinator import WatergateConfigEntry, WatergateDataCoordinator
|
||||
from .entity import WatergateEntity
|
||||
|
||||
ENTITY_NAME = "valve"
|
||||
|
Loading…
x
Reference in New Issue
Block a user