diff --git a/custom_components/vesync/diagnostics.py b/custom_components/vesync/diagnostics.py new file mode 100644 index 0000000..9a2ff07 --- /dev/null +++ b/custom_components/vesync/diagnostics.py @@ -0,0 +1,23 @@ +"""Provides diagnostics for VeSync.""" +from __future__ import annotations + +from typing import Any + +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant + +from .const import DOMAIN + + +async def async_get_config_entry_diagnostics( + hass: HomeAssistant, entry: ConfigEntry +) -> dict[str, Any]: + """Return diagnostics for a config entry.""" + data = hass.data[DOMAIN][entry.entry_id] + devices = {"fans": [], "outlets": [], "switches": [], "bulbs": []} + for type in ["fans", "outlets", "switches", "bulbs"]: + for d in data["manager"]._dev_list[type]: + devices[type].append( + {"device": d.config_dict, "config": d.config, "details": d.details} + ) + return devices