Home Assistant Unofficial Reference 2024.12.1
coordinator.py
Go to the documentation of this file.
1 """The Minecraft Server integration."""
2 
3 from __future__ import annotations
4 
5 from datetime import timedelta
6 import logging
7 
8 from homeassistant.core import HomeAssistant
9 from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
10 
11 from .api import (
12  MinecraftServer,
13  MinecraftServerConnectionError,
14  MinecraftServerData,
15  MinecraftServerNotInitializedError,
16 )
17 
18 SCAN_INTERVAL = timedelta(seconds=60)
19 
20 _LOGGER = logging.getLogger(__name__)
21 
22 
24  """Minecraft Server data update coordinator."""
25 
26  def __init__(self, hass: HomeAssistant, name: str, api: MinecraftServer) -> None:
27  """Initialize coordinator instance."""
28  self._api_api = api
29 
30  super().__init__(
31  hass=hass,
32  name=name,
33  logger=_LOGGER,
34  update_interval=SCAN_INTERVAL,
35  )
36 
37  async def _async_update_data(self) -> MinecraftServerData:
38  """Get updated data from the server."""
39  try:
40  return await self._api_api.async_get_data()
41  except (
42  MinecraftServerConnectionError,
43  MinecraftServerNotInitializedError,
44  ) as error:
45  raise UpdateFailed(error) from error
None __init__(self, HomeAssistant hass, str name, MinecraftServer api)
Definition: coordinator.py:26
RadioThermUpdate async_get_data(HomeAssistant hass, CommonThermostat device)
Definition: data.py:73