Home Assistant Unofficial Reference 2024.12.1
coordinator.py
Go to the documentation of this file.
1 """DataUpdateCoordinator for faa_delays integration."""
2 
3 import asyncio
4 from datetime import timedelta
5 import logging
6 
7 from aiohttp import ClientConnectionError
8 from faadelays import Airport
9 
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers import aiohttp_client
12 from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
13 
14 from .const import DOMAIN
15 
16 _LOGGER = logging.getLogger(__name__)
17 
18 
20  """Class to manage fetching FAA API data from a single endpoint."""
21 
22  def __init__(self, hass: HomeAssistant, code: str) -> None:
23  """Initialize the coordinator."""
24  super().__init__(
25  hass, _LOGGER, name=DOMAIN, update_interval=timedelta(minutes=1)
26  )
27  self.sessionsession = aiohttp_client.async_get_clientsession(hass)
28  self.datadatadata = Airport(code, self.sessionsession)
29 
30  async def _async_update_data(self) -> Airport:
31  try:
32  async with asyncio.timeout(10):
33  await self.datadatadata.update()
34  except ClientConnectionError as err:
35  raise UpdateFailed(err) from err
36  return self.datadatadata
IssData update(pyiss.ISS iss)
Definition: __init__.py:33