Home Assistant Unofficial Reference 2024.12.1
diagnostics.py
Go to the documentation of this file.
1 """Diagnostics support for Jellyfin."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from homeassistant.components.diagnostics import async_redact_data
8 from homeassistant.const import CONF_PASSWORD
9 from homeassistant.core import HomeAssistant
10 
11 from . import JellyfinConfigEntry
12 
13 TO_REDACT = {CONF_PASSWORD}
14 
15 
17  hass: HomeAssistant, entry: JellyfinConfigEntry
18 ) -> dict[str, Any]:
19  """Return diagnostics for a config entry."""
20  coordinator = entry.runtime_data
21 
22  return {
23  "entry": {
24  "title": entry.title,
25  "data": async_redact_data(entry.data, TO_REDACT),
26  },
27  "server": {
28  "id": coordinator.server_id,
29  "name": coordinator.server_name,
30  "version": coordinator.server_version,
31  },
32  "sessions": [
33  {
34  "id": session_id,
35  "user_id": session_data.get("UserId"),
36  "device_id": session_data.get("DeviceId"),
37  "device_name": session_data.get("DeviceName"),
38  "client_name": session_data.get("Client"),
39  "client_version": session_data.get("ApplicationVersion"),
40  "capabilities": session_data.get("Capabilities"),
41  "now_playing": session_data.get("NowPlayingItem"),
42  "play_state": session_data.get("PlayState"),
43  }
44  for session_id, session_data in coordinator.data.items()
45  ],
46  }
dict async_redact_data(Mapping data, Iterable[Any] to_redact)
Definition: util.py:14
dict[str, Any] async_get_config_entry_diagnostics(HomeAssistant hass, JellyfinConfigEntry entry)
Definition: diagnostics.py:18