Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Provides diagnostics for EcoWitt."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from homeassistant.core import HomeAssistant
8 from homeassistant.helpers.device_registry import DeviceEntry
9 
10 from . import EcowittConfigEntry
11 from .const import DOMAIN
12 
13 
15  hass: HomeAssistant, entry: EcowittConfigEntry, device: DeviceEntry
16 ) -> dict[str, Any]:
17  """Return diagnostics for a device entry."""
18  ecowitt = entry.runtime_data
19  station_id = next(item[1] for item in device.identifiers if item[0] == DOMAIN)
20 
21  station = ecowitt.stations[station_id]
22 
23  return {
24  "device": {
25  "name": station.station,
26  "model": station.model,
27  "frequency": station.frequence, # codespell:ignore frequence
28  "version": station.version,
29  },
30  "raw": ecowitt.last_values[station_id],
31  "sensors": {
32  sensor.key: sensor.value
33  for sensor in ecowitt.sensors.values()
34  if sensor.station.key == station_id
35  },
36  }
dict[str, Any] async_get_device_diagnostics(HomeAssistant hass, EcowittConfigEntry entry, DeviceEntry device)
Definition: diagnostics.py:16