Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for MelCloud."""
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.config_entries import ConfigEntry
9 from homeassistant.const import CONF_TOKEN, CONF_USERNAME
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers import entity_registry as er
12 
13 TO_REDACT = {
14  CONF_USERNAME,
15  CONF_TOKEN,
16 }
17 
18 
20  hass: HomeAssistant, entry: ConfigEntry
21 ) -> dict[str, Any]:
22  """Return diagnostics for the config entry."""
23  ent_reg = er.async_get(hass)
24  entities = [
25  entity.entity_id
26  for entity in er.async_entries_for_config_entry(ent_reg, entry.entry_id)
27  ]
28 
29  entity_states = {entity: hass.states.get(entity) for entity in entities}
30 
31  entry_dict = entry.as_dict()
32  if "data" in entry_dict:
33  entry_dict["data"] = async_redact_data(entry_dict["data"], TO_REDACT)
34 
35  return {
36  "entry": entry_dict,
37  "entities": entity_states,
38  }
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
Definition: util.py:14
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry entry)
Definition: diagnostics.py:21