1 """Diagnostics support for RainMachine."""
3 from __future__
import annotations
7 from regenmaschine.errors
import RainMachineError
19 from .
import RainMachineConfigEntry
20 from .const
import LOGGER
22 CONF_STATION_ID =
"stationID"
23 CONF_STATION_NAME =
"stationName"
24 CONF_STATION_SOURCE =
"stationSource"
25 CONF_TIMEZONE =
"timezone"
42 hass: HomeAssistant, entry: RainMachineConfigEntry
44 """Return diagnostics for a config entry."""
45 data = entry.runtime_data
48 controller_diagnostics = await data.controller.diagnostics.current()
49 except RainMachineError:
50 LOGGER.warning(
"Unable to download controller-specific diagnostics")
51 controller_diagnostics =
None
55 "entry": entry.as_dict(),
58 api_category: controller.data
59 for api_category, controller
in data.coordinators.items()
61 "controller_diagnostics": controller_diagnostics,
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, RainMachineConfigEntry entry)