Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for AirVisual."""
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 (
9  CONF_API_KEY,
10  CONF_COUNTRY,
11  CONF_LATITUDE,
12  CONF_LONGITUDE,
13  CONF_STATE,
14  CONF_UNIQUE_ID,
15 )
16 from homeassistant.core import HomeAssistant
17 
18 from . import AirVisualConfigEntry
19 from .const import CONF_CITY
20 
21 CONF_COORDINATES = "coordinates"
22 CONF_TITLE = "title"
23 
24 TO_REDACT = {
25  CONF_API_KEY,
26  CONF_CITY,
27  CONF_COORDINATES,
28  CONF_COUNTRY,
29  CONF_LATITUDE,
30  CONF_LONGITUDE,
31  CONF_STATE,
32  # Config entry title and unique ID may contain sensitive data:
33  CONF_TITLE,
34  CONF_UNIQUE_ID,
35 }
36 
37 
39  hass: HomeAssistant, entry: AirVisualConfigEntry
40 ) -> dict[str, Any]:
41  """Return diagnostics for a config entry."""
42  coordinator = entry.runtime_data
43 
44  return {
45  "entry": async_redact_data(entry.as_dict(), TO_REDACT),
46  "data": async_redact_data(coordinator.data["data"], TO_REDACT),
47  }
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, AirVisualConfigEntry entry)
Definition: diagnostics.py:40
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
Definition: util.py:14