Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for Utility Meter."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from homeassistant.config_entries import ConfigEntry
8 from homeassistant.core import HomeAssistant
9 
10 from .const import DATA_TARIFF_SENSORS, DATA_UTILITY
11 
12 
14  hass: HomeAssistant, entry: ConfigEntry
15 ) -> dict[str, Any]:
16  """Return diagnostics for a config entry."""
17 
18  tariff_sensors = []
19 
20  for sensor in hass.data[DATA_UTILITY][entry.entry_id][DATA_TARIFF_SENSORS]:
21  restored_last_extra_data = await sensor.async_get_last_extra_data()
22 
23  tariff_sensors.append(
24  {
25  "name": sensor.name,
26  "entity_id": sensor.entity_id,
27  "extra_attributes": sensor.extra_state_attributes,
28  "last_sensor_data": restored_last_extra_data,
29  "period": sensor._period, # noqa: SLF001
30  "cron": sensor._cron_pattern, # noqa: SLF001
31  "source": sensor._sensor_source_id, # noqa: SLF001
32  }
33  )
34 
35  return {
36  "config_entry": entry,
37  "tariff_sensors": tariff_sensors,
38  }
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry entry)
Definition: diagnostics.py:15