1 """Diagnostics support for Kostal Plenticore."""
3 from __future__
import annotations
12 from .const
import DOMAIN
13 from .coordinator
import Plenticore
15 TO_REDACT = {CONF_PASSWORD}
19 hass: HomeAssistant, config_entry: ConfigEntry
20 ) -> dict[str, dict[str, Any]]:
21 """Return diagnostics for a config entry."""
24 plenticore: Plenticore = hass.data[DOMAIN][config_entry.entry_id]
27 available_process_data = await plenticore.client.get_process_data()
28 available_settings_data = await plenticore.client.get_settings()
30 "version":
str(await plenticore.client.get_version()),
31 "me":
str(await plenticore.client.get_me()),
32 "available_process_data": available_process_data,
33 "available_settings_data": {
34 module_id: [
str(setting)
for setting
in settings]
35 for module_id, settings
in available_settings_data.items()
39 device_info = {**plenticore.device_info}
40 device_info[ATTR_IDENTIFIERS] = REDACTED
41 data[
"device"] = device_info
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
dict[str, dict[str, Any]] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry config_entry)