1 """Diagnostics support for Axis."""
3 from __future__
import annotations
11 from .
import AxisConfigEntry
13 REDACT_CONFIG = {CONF_MAC, CONF_PASSWORD, CONF_UNIQUE_ID, CONF_USERNAME}
14 REDACT_BASIC_DEVICE_INFO = {
"SerialNumber",
"SocSerialNumber"}
15 REDACT_VAPIX_PARAMS = {
"root.Network",
"System.SerialNumber"}
19 hass: HomeAssistant, config_entry: AxisConfigEntry
21 """Return diagnostics for a config entry."""
22 hub = config_entry.runtime_data
23 diag: dict[str, Any] = hub.additional_diagnostics.copy()
27 if hub.api.vapix.api_discovery:
28 diag[
"api_discovery"] = [
29 {
"id": api.id,
"name": api.name,
"version": api.version}
30 for api
in hub.api.vapix.api_discovery.values()
33 if hub.api.vapix.basic_device_info:
35 hub.api.vapix.basic_device_info[
"0"],
36 REDACT_BASIC_DEVICE_INFO,
39 if hub.api.vapix.params:
41 hub.api.vapix.params.items(),
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, AxisConfigEntry config_entry)
dict async_redact_data(Mapping data, Iterable[Any] to_redact)