Explicitly pass in the config_entry in poolsense coordinator (#138038)

explicitly pass in the config_entry in coordinator
pull/137224/head
Michael 2025-02-09 17:31:24 +01:00 committed by GitHub
parent ed3160344d
commit cb3a7dc503
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 13 deletions

View File

@ -4,14 +4,11 @@ import logging
from poolsense import PoolSense
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import aiohttp_client
from .coordinator import PoolSenseDataUpdateCoordinator
type PoolSenseConfigEntry = ConfigEntry[PoolSenseDataUpdateCoordinator]
from .coordinator import PoolSenseConfigEntry, PoolSenseDataUpdateCoordinator
PLATFORMS = [Platform.BINARY_SENSOR, Platform.SENSOR]
@ -33,7 +30,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: PoolSenseConfigEntry) ->
_LOGGER.error("Invalid authentication")
return False
coordinator = PoolSenseDataUpdateCoordinator(hass, poolsense)
coordinator = PoolSenseDataUpdateCoordinator(hass, entry, poolsense)
await coordinator.async_config_entry_first_refresh()

View File

@ -10,7 +10,7 @@ from homeassistant.components.binary_sensor import (
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import PoolSenseConfigEntry
from .coordinator import PoolSenseConfigEntry
from .entity import PoolSenseEntity
BINARY_SENSOR_TYPES: tuple[BinarySensorEntityDescription, ...] = (

View File

@ -5,11 +5,11 @@ from __future__ import annotations
import asyncio
from datetime import timedelta
import logging
from typing import TYPE_CHECKING
from poolsense import PoolSense
from poolsense.exceptions import PoolSenseError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_EMAIL
from homeassistant.core import HomeAssistant
from homeassistant.helpers.typing import StateType
@ -17,20 +17,30 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, Upda
from .const import DOMAIN
if TYPE_CHECKING:
from . import PoolSenseConfigEntry
_LOGGER = logging.getLogger(__name__)
type PoolSenseConfigEntry = ConfigEntry[PoolSenseDataUpdateCoordinator]
class PoolSenseDataUpdateCoordinator(DataUpdateCoordinator[dict[str, StateType]]):
"""Define an object to hold PoolSense data."""
config_entry: PoolSenseConfigEntry
def __init__(self, hass: HomeAssistant, poolsense: PoolSense) -> None:
def __init__(
self,
hass: HomeAssistant,
config_entry: PoolSenseConfigEntry,
poolsense: PoolSense,
) -> None:
"""Initialize."""
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=timedelta(hours=1))
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=timedelta(hours=1),
)
self.poolsense = poolsense
self.email = self.config_entry.data[CONF_EMAIL]

View File

@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import StateType
from . import PoolSenseConfigEntry
from .coordinator import PoolSenseConfigEntry
from .entity import PoolSenseEntity
SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (