Files
state-grid/custom_components/state_grid/coordinator.py
T
2024-07-26 16:55:43 +08:00

28 lines
840 B
Python

from __future__ import annotations
from datetime import timedelta
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .data_client import StateGridDataClient
from .const import DOMAIN
from .utils.logger import LOGGER
class StateGridCoordinator(DataUpdateCoordinator):
def __init__(self, hass: HomeAssistant) -> None:
super().__init__(
hass,
LOGGER,
name=DOMAIN,
update_interval=timedelta(seconds=300)
)
self.first_setup = True
self.data_client: StateGridDataClient = hass.data[DOMAIN]
async def _async_update_data(self):
await self.data_client.refresh_data(setup=self.first_setup)
self.first_setup = False
return self.data_client.get_door_account()