1 """Diagnostics support for Reolink."""
3 from __future__
import annotations
9 from .util
import ReolinkConfigEntry, ReolinkData
13 hass: HomeAssistant, config_entry: ReolinkConfigEntry
15 """Return diagnostics for a config entry."""
16 reolink_data: ReolinkData = config_entry.runtime_data
17 host = reolink_data.host
20 IPC_cam: dict[int, dict[str, Any]] = {}
21 for ch
in api.channels:
23 IPC_cam[ch][
"model"] = api.camera_model(ch)
24 IPC_cam[ch][
"hardware version"] = api.camera_hardware_version(ch)
25 IPC_cam[ch][
"firmware version"] = api.camera_sw_version(ch)
26 IPC_cam[ch][
"encoding main"] = await api.get_encoding(ch)
30 "hardware version": api.hardware_version,
31 "firmware version": api.sw_version,
32 "HTTPS": api.use_https,
33 "HTTP(S) port": api.port,
34 "WiFi connection": api.wifi_connection,
35 "WiFi signal": api.wifi_signal,
36 "RTMP enabled": api.rtmp_enabled,
37 "RTSP enabled": api.rtsp_enabled,
38 "ONVIF enabled": api.onvif_enabled,
39 "event connection": host.event_connection,
40 "stream protocol": api.protocol,
41 "channels": api.channels,
42 "stream channels": api.stream_channels,
44 "capabilities": api.capabilities,
45 "cmd list": host.update_cmd,
46 "firmware ch list": host.firmware_ch_list,
47 "api versions": api.checked_api_versions,
48 "abilities": api.abilities,
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ReolinkConfigEntry config_entry)