Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics for camera."""
2 
3 from typing import Any
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.core import HomeAssistant
7 from homeassistant.exceptions import HomeAssistantError
8 from homeassistant.helpers import entity_registry as er
9 
10 from .const import DOMAIN
11 from .helper import get_camera_from_entity_id
12 
13 
15  hass: HomeAssistant, config_entry: ConfigEntry
16 ) -> dict[str, Any]:
17  """Return diagnostics for a config entry."""
18  entity_registry = er.async_get(hass)
19  entities = er.async_entries_for_config_entry(entity_registry, config_entry.entry_id)
20  diagnostics = {}
21  for entity in entities:
22  if entity.domain != DOMAIN:
23  continue
24  try:
25  camera = get_camera_from_entity_id(hass, entity.entity_id)
26  except HomeAssistantError:
27  continue
28  diagnostics[entity.entity_id] = (
29  camera.stream.get_diagnostics() if camera.stream else {}
30  )
31  return diagnostics
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, ConfigEntry config_entry)
Definition: diagnostics.py:16
Camera get_camera_from_entity_id(HomeAssistant hass, str entity_id)
Definition: helper.py:16