Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for devolo Home Network."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from homeassistant.components.diagnostics import async_redact_data
8 from homeassistant.const import CONF_PASSWORD
9 from homeassistant.core import HomeAssistant
10 
11 from . import DevoloHomeNetworkConfigEntry
12 
13 TO_REDACT = {CONF_PASSWORD}
14 
15 
17  hass: HomeAssistant, entry: DevoloHomeNetworkConfigEntry
18 ) -> dict[str, Any]:
19  """Return diagnostics for a config entry."""
20  device = entry.runtime_data.device
21 
22  diag_data = {
23  "entry": async_redact_data(entry.as_dict(), TO_REDACT),
24  "device_info": {
25  "mt_number": device.mt_number,
26  "product": device.product,
27  "firmware": device.firmware_version,
28  "device_api": device.device is not None,
29  "plcnet_api": device.plcnet is not None,
30  },
31  }
32 
33  if device.device:
34  diag_data["device_info"]["features"] = device.device.features
35 
36  return diag_data
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, DevoloHomeNetworkConfigEntry entry)
Definition: diagnostics.py:18
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
Definition: util.py:14