66 lines
1.5 KiB
Python
66 lines
1.5 KiB
Python
"""Provides diagnostics for Fully Kiosk Browser."""
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from homeassistant.components.diagnostics.util import async_redact_data
|
|
from homeassistant.config_entries import ConfigEntry
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers import device_registry as dr
|
|
|
|
from .const import DOMAIN
|
|
|
|
DEVICE_INFO_TO_REDACT = {
|
|
"serial",
|
|
"Mac",
|
|
"ip6",
|
|
"hostname6",
|
|
"ip4",
|
|
"hostname4",
|
|
"deviceID",
|
|
"startUrl",
|
|
"currentPage",
|
|
"SSID",
|
|
"BSSID",
|
|
}
|
|
SETTINGS_TO_REDACT = {
|
|
"startURL",
|
|
"mqttBrokerPassword",
|
|
"mqttBrokerUsername",
|
|
"remoteAdminPassword",
|
|
"wifiKey",
|
|
"authPassword",
|
|
"authUsername",
|
|
"mqttBrokerUrl",
|
|
"kioskPin",
|
|
"wifiSSID",
|
|
"screensaverWallpaperURL",
|
|
"barcodeScanTargetUrl",
|
|
"launcherBgUrl",
|
|
"clientCaUrl",
|
|
"urlWhitelist",
|
|
"alarmSoundFileUrl",
|
|
"errorURL",
|
|
"actionBarIconUrl",
|
|
"kioskWifiPin",
|
|
"knoxApnConfig",
|
|
"injectJsCode",
|
|
"mdmApnConfig",
|
|
"mdmProxyConfig",
|
|
"wifiEnterpriseIdentity",
|
|
"sebExamKey",
|
|
"sebConfigKey",
|
|
"kioskPinEnc",
|
|
"remoteAdminPasswordEnc",
|
|
}
|
|
|
|
|
|
async def async_get_device_diagnostics(
|
|
hass: HomeAssistant, entry: ConfigEntry, device: dr.DeviceEntry
|
|
) -> dict[str, Any]:
|
|
"""Return device diagnostics."""
|
|
coordinator = hass.data[DOMAIN][entry.entry_id]
|
|
data = coordinator.data
|
|
data["settings"] = async_redact_data(data["settings"], SETTINGS_TO_REDACT)
|
|
return async_redact_data(data, DEVICE_INFO_TO_REDACT)
|