mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 06:37:52 +00:00
Add diagnostics to KNX (#64471)
This commit is contained in:
parent
b245a0d0ee
commit
10538aabbf
@ -557,6 +557,7 @@ omit =
|
|||||||
homeassistant/components/knx/__init__.py
|
homeassistant/components/knx/__init__.py
|
||||||
homeassistant/components/knx/climate.py
|
homeassistant/components/knx/climate.py
|
||||||
homeassistant/components/knx/cover.py
|
homeassistant/components/knx/cover.py
|
||||||
|
homeassistant/components/knx/diagnostics.py
|
||||||
homeassistant/components/knx/expose.py
|
homeassistant/components/knx/expose.py
|
||||||
homeassistant/components/knx/knx_entity.py
|
homeassistant/components/knx/knx_entity.py
|
||||||
homeassistant/components/knx/light.py
|
homeassistant/components/knx/light.py
|
||||||
|
41
homeassistant/components/knx/diagnostics.py
Normal file
41
homeassistant/components/knx/diagnostics.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
"""Diagnostics support for KNX."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
|
from homeassistant import config as conf_util
|
||||||
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers.system_info import async_get_system_info
|
||||||
|
|
||||||
|
from . import CONFIG_SCHEMA
|
||||||
|
from .const import DOMAIN
|
||||||
|
|
||||||
|
|
||||||
|
async def async_get_config_entry_diagnostics(
|
||||||
|
hass: HomeAssistant, config_entry: ConfigEntry
|
||||||
|
) -> dict:
|
||||||
|
"""Return diagnostics for a config entry."""
|
||||||
|
diag: dict[str, Any] = {}
|
||||||
|
diag["home_assistant"] = await async_get_system_info(hass)
|
||||||
|
|
||||||
|
knx_module = hass.data[DOMAIN]
|
||||||
|
diag["xknx"] = {
|
||||||
|
"version": knx_module.xknx.version,
|
||||||
|
"current_address": str(knx_module.xknx.current_address),
|
||||||
|
}
|
||||||
|
|
||||||
|
diag["config_entry_data"] = dict(config_entry.data)
|
||||||
|
|
||||||
|
raw_config = await conf_util.async_hass_config_yaml(hass)
|
||||||
|
diag["configuration_yaml"] = raw_config.get(DOMAIN)
|
||||||
|
try:
|
||||||
|
CONFIG_SCHEMA(raw_config)
|
||||||
|
except vol.Invalid as ex:
|
||||||
|
diag["configuration_error"] = str(ex)
|
||||||
|
else:
|
||||||
|
diag["configuration_error"] = None
|
||||||
|
|
||||||
|
return diag
|
Loading…
x
Reference in New Issue
Block a user