Files
homeassistant_config/config/custom_components/ecoflow/diagnostics.py
2024-08-26 13:38:09 +02:00

25 lines
643 B
Python

from datetime import timedelta
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from . import DOMAIN, HassioEcoFlowClient
def _to_serializable(x):
t = type(x)
if t is dict:
x = {y: _to_serializable(x[y]) for y in x}
if t is timedelta:
x = x.__str__()
return x
async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry):
client: HassioEcoFlowClient = hass.data[DOMAIN][entry.entry_id]
values = {}
for i in client.diagnostics:
d = client.diagnostics[i]
values[i] = _to_serializable(d)
return values