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

1"""Diagnostics support for AutoArm.""" 

2 

3from typing import Any 

4 

5from homeassistant.config_entries import ConfigEntry 

6from homeassistant.core import HomeAssistant 

7 

8from .autoarming import HASS_DATA_KEY 

9from .const import YAML_DATA_KEY 

10 

11 

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 } 

20 

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 } 

30 

31 return data