Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for Ring."""
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.core import HomeAssistant
9 
10 from . import RingConfigEntry
11 
12 TO_REDACT = {
13  "id",
14  "device_id",
15  "description",
16  "first_name",
17  "last_name",
18  "email",
19  "location_id",
20  "ring_net_id",
21  "wifi_name",
22  "latitude",
23  "longitude",
24  "address",
25  "ring_id",
26 }
27 
28 
30  hass: HomeAssistant, entry: RingConfigEntry
31 ) -> dict[str, Any]:
32  """Return diagnostics for a config entry."""
33  ring_data = entry.runtime_data
34  devices_data = ring_data.api.devices_data
35  devices_raw = [
36  devices_data[device_type][device_id]
37  for device_type in devices_data
38  for device_id in devices_data[device_type]
39  ]
40  return async_redact_data(
41  {"device_data": devices_raw},
42  TO_REDACT,
43  )
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
Definition: util.py:14
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, RingConfigEntry entry)
Definition: diagnostics.py:31