Coverage for custom_components/autoarm/diagnostics.py: 100%
12 statements
« prev ^ index » next coverage.py v7.10.6, created at 2026-02-17 01:14 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2026-02-17 01:14 +0000
1"""Diagnostics support for AutoArm."""
3from typing import Any
5from homeassistant.config_entries import ConfigEntry
6from homeassistant.core import HomeAssistant
8from .autoarming import HASS_DATA_KEY
9from .const import YAML_DATA_KEY
12async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]:
13 """Return diagnostics for a config entry."""
14 yaml_config = hass.data.get(YAML_DATA_KEY, {})
15 data: dict[str, Any] = {
16 "entry_data": dict(entry.data),
17 "entry_options": dict(entry.options),
18 "yaml_keys": list(yaml_config.keys()),
19 }
21 if HASS_DATA_KEY in hass.data:
22 armer = hass.data[HASS_DATA_KEY].armer
23 data["armer"] = {
24 "alarm_panel": armer.alarm_panel,
25 "calendar_count": len(armer.calendars),
26 "occupants": armer.occupants,
27 "failures": armer.app_health_tracker.failures,
28 "initialization_errors": armer.app_health_tracker.initialization_errors,
29 }
31 return data