Home Assistant Unofficial Reference 2024.12.1
coordinator.py
Go to the documentation of this file.
1 """Coordinator for the World Air Quality Index (WAQI) integration."""
2 
3 from __future__ import annotations
4 
5 from datetime import timedelta
6 
7 from aiowaqi import WAQIAirQuality, WAQIClient, WAQIError
8 
9 from homeassistant.config_entries import ConfigEntry
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
12 
13 from .const import CONF_STATION_NUMBER, DOMAIN, LOGGER
14 
15 
17  """The WAQI Data Update Coordinator."""
18 
19  config_entry: ConfigEntry
20 
21  def __init__(self, hass: HomeAssistant, client: WAQIClient) -> None:
22  """Initialize the WAQI data coordinator."""
23  super().__init__(
24  hass,
25  LOGGER,
26  name=DOMAIN,
27  update_interval=timedelta(minutes=5),
28  )
29  self._client_client = client
30 
31  async def _async_update_data(self) -> WAQIAirQuality:
32  try:
33  return await self._client_client.get_by_station_number(
34  self.config_entryconfig_entry.data[CONF_STATION_NUMBER]
35  )
36  except WAQIError as exc:
37  raise UpdateFailed from exc
None __init__(self, HomeAssistant hass, WAQIClient client)
Definition: coordinator.py:21
tuple[WAQIAirQuality|None, dict[str, str]] get_by_station_number(WAQIClient client, int station_number)
Definition: config_flow.py:40