From 52b67ecb866f21dc1af5708f8f21acf29eb04a3e Mon Sep 17 00:00:00 2001 From: Vincent Le Bourlot Date: Tue, 26 Apr 2022 09:58:06 +0200 Subject: [PATCH] add diagnostics (#20) --- custom_components/vesync/diagnostics.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 custom_components/vesync/diagnostics.py 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