mirror of
https://github.com/micahqcade/custom_vesync.git
synced 2025-05-07 15:36:31 +02:00
parent
dc222cb03c
commit
95a8c624b0
@ -3,11 +3,15 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from homeassistant.components.diagnostics import async_redact_data
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
|
from .common import is_humidifier
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
TO_REDACT = {"cid", "uuid", "mac_id"}
|
||||||
|
|
||||||
|
|
||||||
def _if_has_attr_else_none(obj, attr):
|
def _if_has_attr_else_none(obj, attr):
|
||||||
return getattr(obj, attr) if hasattr(obj, attr) else None
|
return getattr(obj, attr) if hasattr(obj, attr) else None
|
||||||
@ -18,14 +22,12 @@ async def async_get_config_entry_diagnostics(
|
|||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
"""Return diagnostics for a config entry."""
|
"""Return diagnostics for a config entry."""
|
||||||
data = hass.data[DOMAIN][entry.entry_id]
|
data = hass.data[DOMAIN][entry.entry_id]
|
||||||
devices = {"fans": [], "outlets": [], "switches": [], "bulbs": []}
|
devices = {}
|
||||||
for type in ["fans", "outlets", "switches", "bulbs"]:
|
for type in ["fans", "outlets", "switches", "bulbs"]:
|
||||||
for d in data["manager"]._dev_list[type]:
|
for d in data["manager"]._dev_list[type]:
|
||||||
devices[type].append(
|
t = "humidifier" if is_humidifier(d.device_type) else type
|
||||||
{
|
devices = {
|
||||||
"config_dict": _if_has_attr_else_none(d, "config_dict") or {},
|
**devices,
|
||||||
"config": _if_has_attr_else_none(d, "config") or {},
|
**{t: [{k: v for k, v in d.__dict__.items() if k != "manager"}]},
|
||||||
"details": _if_has_attr_else_none(d, "details") or {},
|
}
|
||||||
}
|
return async_redact_data(devices, TO_REDACT)
|
||||||
)
|
|
||||||
return devices
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user