Explicitly pass in the config_entry in co2signal coordinator (#137732)

explicitly pass in the config_entry in coordinator
This commit is contained in:
Michael 2025-02-08 10:53:13 +01:00 committed by GitHub
parent c370fa0489
commit 327811c89a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 18 additions and 11 deletions

View File

@ -4,23 +4,20 @@ from __future__ import annotations
from aioelectricitymaps import ElectricityMaps
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .coordinator import CO2SignalCoordinator
from .coordinator import CO2SignalConfigEntry, CO2SignalCoordinator
PLATFORMS = [Platform.SENSOR]
type CO2SignalConfigEntry = ConfigEntry[CO2SignalCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: CO2SignalConfigEntry) -> bool:
"""Set up CO2 Signal from a config entry."""
session = async_get_clientsession(hass)
coordinator = CO2SignalCoordinator(
hass, ElectricityMaps(token=entry.data[CONF_API_KEY], session=session)
hass, entry, ElectricityMaps(token=entry.data[CONF_API_KEY], session=session)
)
await coordinator.async_config_entry_first_refresh()

View File

@ -22,16 +22,27 @@ from .helpers import fetch_latest_carbon_intensity
_LOGGER = logging.getLogger(__name__)
type CO2SignalConfigEntry = ConfigEntry[CO2SignalCoordinator]
class CO2SignalCoordinator(DataUpdateCoordinator[CarbonIntensityResponse]):
"""Data update coordinator."""
config_entry: ConfigEntry
config_entry: CO2SignalConfigEntry
def __init__(self, hass: HomeAssistant, client: ElectricityMaps) -> None:
def __init__(
self,
hass: HomeAssistant,
config_entry: CO2SignalConfigEntry,
client: ElectricityMaps,
) -> None:
"""Initialize the coordinator."""
super().__init__(
hass, _LOGGER, name=DOMAIN, update_interval=timedelta(minutes=15)
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=timedelta(minutes=15),
)
self.client = client

View File

@ -9,7 +9,7 @@ from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import CONF_API_KEY
from homeassistant.core import HomeAssistant
from . import CO2SignalConfigEntry
from .coordinator import CO2SignalConfigEntry
TO_REDACT = {CONF_API_KEY}

View File

@ -18,9 +18,8 @@ from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import CO2SignalConfigEntry
from .const import ATTRIBUTION, DOMAIN
from .coordinator import CO2SignalCoordinator
from .coordinator import CO2SignalConfigEntry, CO2SignalCoordinator
@dataclass(frozen=True, kw_only=True)