core/homeassistant/components/volvooncall/coordinator.py

41 lines
1.0 KiB
Python

"""Support for Volvo On Call."""
import asyncio
import logging
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .const import DEFAULT_UPDATE_INTERVAL
from .models import VolvoData
_LOGGER = logging.getLogger(__name__)
class VolvoUpdateCoordinator(DataUpdateCoordinator[None]):
"""Volvo coordinator."""
config_entry: ConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: ConfigEntry, volvo_data: VolvoData
) -> None:
"""Initialize the data update coordinator."""
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name="volvooncall",
update_interval=DEFAULT_UPDATE_INTERVAL,
)
self.volvo_data = volvo_data
async def _async_update_data(self) -> None:
"""Fetch data from API endpoint."""
async with asyncio.timeout(10):
await self.volvo_data.update()