mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 17:57:55 +00:00
Explicitly pass in the config_entry in airnow coordinator init (#137699)
explicitly pass in the config_entry in airnow coordinator init
This commit is contained in:
parent
1f0f1ac388
commit
42169e28a4
@ -15,13 +15,11 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
|
|
||||||
from .coordinator import AirNowDataUpdateCoordinator
|
from .coordinator import AirNowConfigEntry, AirNowDataUpdateCoordinator
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
PLATFORMS = [Platform.SENSOR]
|
PLATFORMS = [Platform.SENSOR]
|
||||||
|
|
||||||
type AirNowConfigEntry = ConfigEntry[AirNowDataUpdateCoordinator]
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bool:
|
async def async_setup_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bool:
|
||||||
"""Set up AirNow from a config entry."""
|
"""Set up AirNow from a config entry."""
|
||||||
@ -38,7 +36,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bo
|
|||||||
# Setup the Coordinator
|
# Setup the Coordinator
|
||||||
session = async_get_clientsession(hass)
|
session = async_get_clientsession(hass)
|
||||||
coordinator = AirNowDataUpdateCoordinator(
|
coordinator = AirNowDataUpdateCoordinator(
|
||||||
hass, session, api_key, latitude, longitude, distance, update_interval
|
hass, entry, session, api_key, latitude, longitude, distance, update_interval
|
||||||
)
|
)
|
||||||
|
|
||||||
# Sync with Coordinator
|
# Sync with Coordinator
|
||||||
|
@ -10,6 +10,7 @@ from pyairnow import WebServiceAPI
|
|||||||
from pyairnow.conv import aqi_to_concentration
|
from pyairnow.conv import aqi_to_concentration
|
||||||
from pyairnow.errors import AirNowError
|
from pyairnow.errors import AirNowError
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
@ -34,13 +35,18 @@ from .const import (
|
|||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
type AirNowConfigEntry = ConfigEntry[AirNowDataUpdateCoordinator]
|
||||||
|
|
||||||
|
|
||||||
class AirNowDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
class AirNowDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
||||||
"""The AirNow update coordinator."""
|
"""The AirNow update coordinator."""
|
||||||
|
|
||||||
|
config_entry: AirNowConfigEntry
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
config_entry: AirNowConfigEntry,
|
||||||
session: ClientSession,
|
session: ClientSession,
|
||||||
api_key: str,
|
api_key: str,
|
||||||
latitude: float,
|
latitude: float,
|
||||||
@ -55,7 +61,13 @@ class AirNowDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
|||||||
|
|
||||||
self.airnow = WebServiceAPI(api_key, session=session)
|
self.airnow = WebServiceAPI(api_key, session=session)
|
||||||
|
|
||||||
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
|
super().__init__(
|
||||||
|
hass,
|
||||||
|
_LOGGER,
|
||||||
|
config_entry=config_entry,
|
||||||
|
name=DOMAIN,
|
||||||
|
update_interval=update_interval,
|
||||||
|
)
|
||||||
|
|
||||||
async def _async_update_data(self) -> dict[str, Any]:
|
async def _async_update_data(self) -> dict[str, Any]:
|
||||||
"""Update data via library."""
|
"""Update data via library."""
|
||||||
|
@ -13,7 +13,7 @@ from homeassistant.const import (
|
|||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import AirNowConfigEntry
|
from .coordinator import AirNowConfigEntry
|
||||||
|
|
||||||
ATTR_LATITUDE_CAP = "Latitude"
|
ATTR_LATITUDE_CAP = "Latitude"
|
||||||
ATTR_LONGITUDE_CAP = "Longitude"
|
ATTR_LONGITUDE_CAP = "Longitude"
|
||||||
|
@ -25,7 +25,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|||||||
from homeassistant.helpers.typing import StateType
|
from homeassistant.helpers.typing import StateType
|
||||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||||
|
|
||||||
from . import AirNowConfigEntry, AirNowDataUpdateCoordinator
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_API_AQI,
|
ATTR_API_AQI,
|
||||||
ATTR_API_AQI_DESCRIPTION,
|
ATTR_API_AQI_DESCRIPTION,
|
||||||
@ -43,6 +42,7 @@ from .const import (
|
|||||||
DOMAIN,
|
DOMAIN,
|
||||||
US_TZ_OFFSETS,
|
US_TZ_OFFSETS,
|
||||||
)
|
)
|
||||||
|
from .coordinator import AirNowConfigEntry, AirNowDataUpdateCoordinator
|
||||||
|
|
||||||
ATTRIBUTION = "Data provided by AirNow"
|
ATTRIBUTION = "Data provided by AirNow"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user