Files
localtuya-modded/custom_components/localtuya/diagnostics.py

41 lines
1.4 KiB
Python

"""Diagnostics support for LocalTuya."""
from __future__ import annotations
from typing import Any
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_DEVICES
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntry
from .const import DOMAIN, DATA_CLOUD
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
data = {}
data = {**entry.data}
# print("DATA is {}".format(data))
tuya_api = hass.data[DOMAIN][DATA_CLOUD]
data["cloud_devices"] = tuya_api._device_list
# censoring private information
# data["token"] = re.sub(r"[^\-]", "*", data["token"])
# data["userId"] = re.sub(r"[^\-]", "*", data["userId"])
return data
async def async_get_device_diagnostics(
hass: HomeAssistant, entry: ConfigEntry, device: DeviceEntry
) -> dict[str, Any]:
"""Return diagnostics for a device entry."""
data = {}
dev_id = list(device.identifiers)[0][1].split("_")[-1]
data["device_config"] = entry.data[CONF_DEVICES][dev_id]
tuya_api = hass.data[DOMAIN][DATA_CLOUD]
if dev_id in tuya_api._device_list:
data["device_cloud_info"] = tuya_api._device_list[dev_id]
# data["log"] = hass.data[DOMAIN][CONF_DEVICES][dev_id].logger.retrieve_log()
return data