mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 22:27:07 +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_generate_url,
|
||||||
async_register,
|
async_register,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
|
||||||
from homeassistant.const import CONF_IP_ADDRESS, CONF_WEBHOOK_ID, Platform
|
from homeassistant.const import CONF_IP_ADDRESS, CONF_WEBHOOK_ID, Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .coordinator import WatergateDataCoordinator
|
from .coordinator import WatergateConfigEntry, WatergateDataCoordinator
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -35,8 +34,6 @@ PLATFORMS: list[Platform] = [
|
|||||||
Platform.VALVE,
|
Platform.VALVE,
|
||||||
]
|
]
|
||||||
|
|
||||||
type WatergateConfigEntry = ConfigEntry[WatergateDataCoordinator]
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: WatergateConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: WatergateConfigEntry) -> bool:
|
||||||
"""Set up Watergate from a config entry."""
|
"""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}"
|
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
|
entry.runtime_data = coordinator
|
||||||
|
|
||||||
async_register(
|
async_register(
|
||||||
|
@ -7,6 +7,7 @@ import logging
|
|||||||
from watergate_local_api import WatergateApiException, WatergateLocalApiClient
|
from watergate_local_api import WatergateApiException, WatergateLocalApiClient
|
||||||
from watergate_local_api.models import DeviceState, NetworkingData, TelemetryData
|
from watergate_local_api.models import DeviceState, NetworkingData, TelemetryData
|
||||||
|
|
||||||
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||||
|
|
||||||
@ -24,14 +25,25 @@ class WatergateAgregatedRequests:
|
|||||||
networking: NetworkingData
|
networking: NetworkingData
|
||||||
|
|
||||||
|
|
||||||
|
type WatergateConfigEntry = ConfigEntry[WatergateDataCoordinator]
|
||||||
|
|
||||||
|
|
||||||
class WatergateDataCoordinator(DataUpdateCoordinator[WatergateAgregatedRequests]):
|
class WatergateDataCoordinator(DataUpdateCoordinator[WatergateAgregatedRequests]):
|
||||||
"""Class to manage fetching watergate data."""
|
"""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."""
|
"""Initialize."""
|
||||||
super().__init__(
|
super().__init__(
|
||||||
hass,
|
hass,
|
||||||
_LOGGER,
|
_LOGGER,
|
||||||
|
config_entry=config_entry,
|
||||||
name=DOMAIN,
|
name=DOMAIN,
|
||||||
update_interval=timedelta(minutes=2),
|
update_interval=timedelta(minutes=2),
|
||||||
)
|
)
|
||||||
|
@ -26,8 +26,11 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|||||||
from homeassistant.helpers.typing import StateType
|
from homeassistant.helpers.typing import StateType
|
||||||
from homeassistant.util import dt as dt_util
|
from homeassistant.util import dt as dt_util
|
||||||
|
|
||||||
from . import WatergateConfigEntry
|
from .coordinator import (
|
||||||
from .coordinator import WatergateAgregatedRequests, WatergateDataCoordinator
|
WatergateAgregatedRequests,
|
||||||
|
WatergateConfigEntry,
|
||||||
|
WatergateDataCoordinator,
|
||||||
|
)
|
||||||
from .entity import WatergateEntity
|
from .entity import WatergateEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
@ -10,8 +10,7 @@ from homeassistant.components.valve import (
|
|||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
from . import WatergateConfigEntry
|
from .coordinator import WatergateConfigEntry, WatergateDataCoordinator
|
||||||
from .coordinator import WatergateDataCoordinator
|
|
||||||
from .entity import WatergateEntity
|
from .entity import WatergateEntity
|
||||||
|
|
||||||
ENTITY_NAME = "valve"
|
ENTITY_NAME = "valve"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user