2024-07-11 04:49:38 +00:00
|
|
|
"""Support for the Autarco diagnostics."""
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
from typing import Any
|
|
|
|
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
|
|
|
|
from . import AutarcoConfigEntry, AutarcoDataUpdateCoordinator
|
|
|
|
|
|
|
|
|
|
|
|
async def async_get_config_entry_diagnostics(
|
|
|
|
hass: HomeAssistant, config_entry: AutarcoConfigEntry
|
|
|
|
) -> dict[str, Any]:
|
|
|
|
"""Return diagnostics for a config entry."""
|
|
|
|
autarco_data: list[AutarcoDataUpdateCoordinator] = config_entry.runtime_data
|
|
|
|
|
|
|
|
return {
|
|
|
|
"sites_data": [
|
|
|
|
{
|
|
|
|
"id": coordinator.site.site_id,
|
|
|
|
"name": coordinator.site.system_name,
|
|
|
|
"health": coordinator.site.health,
|
|
|
|
"solar": {
|
|
|
|
"power_production": coordinator.data.solar.power_production,
|
|
|
|
"energy_production_today": coordinator.data.solar.energy_production_today,
|
|
|
|
"energy_production_month": coordinator.data.solar.energy_production_month,
|
|
|
|
"energy_production_total": coordinator.data.solar.energy_production_total,
|
|
|
|
},
|
2024-07-12 14:54:22 +00:00
|
|
|
"inverters": [
|
|
|
|
{
|
|
|
|
"serial_number": inverter.serial_number,
|
|
|
|
"out_ac_power": inverter.out_ac_power,
|
|
|
|
"out_ac_energy_total": inverter.out_ac_energy_total,
|
|
|
|
"grid_turned_off": inverter.grid_turned_off,
|
|
|
|
"health": inverter.health,
|
|
|
|
}
|
|
|
|
for inverter in coordinator.data.inverters.values()
|
|
|
|
],
|
2024-07-11 04:49:38 +00:00
|
|
|
}
|
|
|
|
for coordinator in autarco_data
|
|
|
|
],
|
|
|
|
}
|