mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 00:37:53 +00:00
Explicitly pass in the config_entry in co2signal coordinator (#137732)
explicitly pass in the config_entry in coordinator
This commit is contained in:
parent
c370fa0489
commit
327811c89a
@ -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()
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user