1 """DataUpdateCoordinator for the Trafikverket Weather integration."""
3 from __future__
import annotations
5 from datetime
import timedelta
7 from typing
import TYPE_CHECKING
9 from pytrafikverket.exceptions
import (
10 InvalidAuthentication,
11 MultipleWeatherStationsFound,
12 NoWeatherStationFound,
14 from pytrafikverket.models
import WeatherStationInfoModel
15 from pytrafikverket.trafikverket_weather
import TrafikverketWeather
23 from .const
import CONF_STATION, DOMAIN
26 from .
import TVWeatherConfigEntry
28 _LOGGER = logging.getLogger(__name__)
33 """A Sensibo Data Update Coordinator."""
35 config_entry: TVWeatherConfigEntry
37 def __init__(self, hass: HomeAssistant) ->
None:
38 """Initialize the Sensibo coordinator."""
43 update_interval=TIME_BETWEEN_UPDATES,
51 """Fetch data from Trafikverket."""
54 except InvalidAuthentication
as error:
55 raise ConfigEntryAuthFailed
from error
56 except (NoWeatherStationFound, MultipleWeatherStationsFound)
as error:
57 raise UpdateFailed
from error
WeatherStationInfoModel _async_update_data(self)
None __init__(self, HomeAssistant hass)
aiohttp.ClientSession async_get_clientsession(HomeAssistant hass, bool verify_ssl=True, socket.AddressFamily family=socket.AF_UNSPEC, ssl_util.SSLCipherList ssl_cipher=ssl_util.SSLCipherList.PYTHON_DEFAULT)