1 """Provides diagnostics for Zeversolar."""
5 from zeversolar
import ZeverSolarData
11 from .const
import DOMAIN
12 from .coordinator
import ZeversolarCoordinator
16 hass: HomeAssistant, config_entry: ConfigEntry
18 """Return diagnostics for a config entry."""
20 coordinator: ZeversolarCoordinator = hass.data[DOMAIN][config_entry.entry_id]
21 data: ZeverSolarData = coordinator.data
23 payload: dict[str, Any] = {
24 "wifi_enabled": data.wifi_enabled,
25 "serial_or_registry_id": data.serial_or_registry_id,
26 "registry_key": data.registry_key,
27 "hardware_version": data.hardware_version,
28 "software_version": data.software_version,
29 "reported_datetime": data.reported_datetime,
30 "communication_status": data.communication_status.value,
31 "num_inverters": data.num_inverters,
32 "serial_number": data.serial_number,
34 "energy_today": data.energy_today,
35 "status": data.status.value,
36 "meter_status": data.meter_status.value,
43 hass: HomeAssistant, entry: ConfigEntry, device: DeviceEntry
45 """Return diagnostics for a device entry."""
46 coordinator: ZeversolarCoordinator = hass.data[DOMAIN][entry.entry_id]
50 if coordinator.update_interval
is None
51 else coordinator.update_interval.total_seconds()
55 "name": coordinator.name,
56 "always_update": coordinator.always_update,
57 "last_update_success": coordinator.last_update_success,
58 "update_interval": updateInterval,
dict[str, Any] async_get_device_diagnostics(HomeAssistant hass, ConfigEntry entry, DeviceEntry device)
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry config_entry)