mirror of https://github.com/home-assistant/core
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
"""DataUpdateCoordinator for steamist."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from datetime import timedelta
|
|
import logging
|
|
|
|
from aiosteamist import Steamist, SteamistStatus
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
|
|
|
_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
class SteamistDataUpdateCoordinator(DataUpdateCoordinator[SteamistStatus]):
|
|
"""DataUpdateCoordinator to gather data from a steamist steam shower."""
|
|
|
|
def __init__(
|
|
self,
|
|
hass: HomeAssistant,
|
|
client: Steamist,
|
|
host: str,
|
|
device_name: str | None,
|
|
) -> None:
|
|
"""Initialize DataUpdateCoordinator to gather data for specific steamist."""
|
|
self.client = client
|
|
self.device_name = device_name
|
|
super().__init__(
|
|
hass,
|
|
_LOGGER,
|
|
name=f"Steamist {host}",
|
|
update_interval=timedelta(seconds=5),
|
|
always_update=False,
|
|
)
|
|
|
|
async def _async_update_data(self) -> SteamistStatus:
|
|
"""Fetch data from steamist."""
|
|
return await self.client.async_get_status()
|