1 """Water quality coordinator for Tami4Edge."""
3 from dataclasses
import dataclass
4 from datetime
import date, timedelta
7 from Tami4EdgeAPI
import Tami4EdgeAPI, exceptions
8 from Tami4EdgeAPI.water_quality
import WaterQuality
13 _LOGGER = logging.getLogger(__name__)
18 """Flattened WaterQuality dataclass."""
20 uv_upcoming_replacement: date
22 filter_upcoming_replacement: date
23 filter_installed: bool
24 filter_litters_passed: float
26 def __init__(self, water_quality: WaterQuality) ->
None:
27 """Flattened WaterQuality dataclass."""
37 """Tami4Edge water quality coordinator."""
39 def __init__(self, hass: HomeAssistant, api: Tami4EdgeAPI) ->
None:
40 """Initialize the water quality coordinator."""
44 name=
"Tami4Edge water quality coordinator",
50 """Fetch data from the API endpoint."""
52 device = await self.
hasshass.async_add_executor_job(self.
_api_api.get_device)
55 except exceptions.APIRequestFailedException
as ex:
56 raise UpdateFailed(
"Error communicating with API")
from ex
filter_upcoming_replacement
None __init__(self, WaterQuality water_quality)
None __init__(self, HomeAssistant hass, Tami4EdgeAPI api)
FlattenedWaterQuality _async_update_data(self)