1 """Define an object to manage fetching AirGradient data."""
3 from __future__
import annotations
5 from dataclasses
import dataclass
6 from datetime
import timedelta
7 from typing
import TYPE_CHECKING
9 from airgradient
import AirGradientClient, AirGradientError, Config, Measures
15 from .const
import DOMAIN, LOGGER
18 from .
import AirGradientConfigEntry
23 """Class for AirGradient data."""
30 """Class to manage fetching AirGradient data."""
32 config_entry: AirGradientConfigEntry
35 def __init__(self, hass: HomeAssistant, client: AirGradientClient) ->
None:
36 """Initialize coordinator."""
40 name=f
"AirGradient {client.host}",
48 """Set up the coordinator."""
50 await self.
clientclient.get_current_measures()
55 measures = await self.
clientclient.get_current_measures()
56 config = await self.
clientclient.get_config()
57 except AirGradientError
as error:
60 device_registry = dr.async_get(self.
hasshass)
61 device_entry = device_registry.async_get_device(
65 device_registry.async_update_device(
67 sw_version=measures.firmware_version,
None __init__(self, HomeAssistant hass, AirGradientClient client)
AirGradientData _async_update_data(self)