1 """Diagnostics support for P1 Monitor."""
3 from __future__
import annotations
5 from dataclasses
import asdict
6 from typing
import TYPE_CHECKING, Any, cast
21 from _typeshed
import DataclassInstance
23 TO_REDACT = {CONF_HOST, CONF_PORT}
27 hass: HomeAssistant, entry: ConfigEntry
29 """Return diagnostics for a config entry."""
36 "smartmeter": asdict(entry.runtime_data.data[SERVICE_SMARTMETER]),
37 "phases": asdict(entry.runtime_data.data[SERVICE_PHASES]),
38 "settings": asdict(entry.runtime_data.data[SERVICE_SETTINGS]),
42 if entry.runtime_data.has_water_meter:
43 data[
"data"][
"watermeter"] = asdict(
44 cast(
"DataclassInstance", entry.runtime_data.data[SERVICE_WATERMETER])
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry entry)