Explicitly pass in the config_entry in discovergy coordinator (#137734)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-07 20:23:42 +01:00 committed by GitHub
parent 54be256bea
commit 3c7b9bec3c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 7 deletions

View File

@ -6,18 +6,15 @@ from pydiscovergy import Discovergy
from pydiscovergy.authentication import BasicAuth
import pydiscovergy.error as discovergyError
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers.httpx_client import get_async_client
from .coordinator import DiscovergyUpdateCoordinator
from .coordinator import DiscovergyConfigEntry, DiscovergyUpdateCoordinator
PLATFORMS = [Platform.SENSOR]
type DiscovergyConfigEntry = ConfigEntry[list[DiscovergyUpdateCoordinator]]
async def async_setup_entry(hass: HomeAssistant, entry: DiscovergyConfigEntry) -> bool:
"""Set up Discovergy from a config entry."""
@ -46,6 +43,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: DiscovergyConfigEntry) -
# so we have data when entities are added
coordinator = DiscovergyUpdateCoordinator(
hass=hass,
config_entry=entry,
meter=meter,
discovergy_client=client,
)

View File

@ -9,19 +9,25 @@ from pydiscovergy import Discovergy
from pydiscovergy.error import DiscovergyClientError, HTTPError, InvalidLogin
from pydiscovergy.models import Meter, Reading
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
_LOGGER = logging.getLogger(__name__)
type DiscovergyConfigEntry = ConfigEntry[list[DiscovergyUpdateCoordinator]]
class DiscovergyUpdateCoordinator(DataUpdateCoordinator[Reading]):
"""The Discovergy update coordinator."""
config_entry: DiscovergyConfigEntry
def __init__(
self,
hass: HomeAssistant,
config_entry: DiscovergyConfigEntry,
meter: Meter,
discovergy_client: Discovergy,
) -> None:
@ -32,6 +38,7 @@ class DiscovergyUpdateCoordinator(DataUpdateCoordinator[Reading]):
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=f"Discovergy meter {meter.meter_id}",
update_interval=timedelta(seconds=30),
)

View File

@ -8,7 +8,7 @@ from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.core import HomeAssistant
from . import DiscovergyConfigEntry
from .coordinator import DiscovergyConfigEntry
TO_REDACT_METER = {
"serial_number",

View File

@ -24,9 +24,8 @@ from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import DiscovergyConfigEntry
from .const import DOMAIN, MANUFACTURER
from .coordinator import DiscovergyUpdateCoordinator
from .coordinator import DiscovergyConfigEntry, DiscovergyUpdateCoordinator
PARALLEL_UPDATES = 0