diff --git a/homeassistant/components/litejet/diagnostics.py b/homeassistant/components/litejet/diagnostics.py new file mode 100644 index 00000000000..b996dcc0413 --- /dev/null +++ b/homeassistant/components/litejet/diagnostics.py @@ -0,0 +1,22 @@ +"""Support for LiteJet diagnostics.""" +from typing import Any + +from pylitejet import LiteJet + +from homeassistant.config_entries import ConfigEntry +from homeassistant.core import HomeAssistant + +from .const import DOMAIN + + +async def async_get_config_entry_diagnostics( + hass: HomeAssistant, entry: ConfigEntry +) -> dict[str, Any]: + """Return diagnostics for LiteJet config entry.""" + system: LiteJet = hass.data[DOMAIN] + return { + "loads": list(system.loads()), + "button_switches": list(system.button_switches()), + "scenes": list(system.scenes()), + "connected": system.connected, + } diff --git a/tests/components/litejet/conftest.py b/tests/components/litejet/conftest.py index 0805fd20231..4484c198d3c 100644 --- a/tests/components/litejet/conftest.py +++ b/tests/components/litejet/conftest.py @@ -68,5 +68,6 @@ def mock_litejet(): mock_lj.start_time = dt_util.utcnow() mock_lj.last_delta = timedelta(0) + mock_lj.connected = True yield mock_lj diff --git a/tests/components/litejet/test_diagnostics.py b/tests/components/litejet/test_diagnostics.py new file mode 100644 index 00000000000..188acc8711e --- /dev/null +++ b/tests/components/litejet/test_diagnostics.py @@ -0,0 +1,19 @@ +"""The tests for the litejet component.""" +from . import async_init_integration + +from tests.components.diagnostics import get_diagnostics_for_config_entry + + +async def test_diagnostics(hass, hass_client, mock_litejet): + """Test getting the LiteJet diagnostics.""" + + config_entry = await async_init_integration(hass) + + diag = await get_diagnostics_for_config_entry(hass, hass_client, config_entry) + + assert diag == { + "loads": [1, 2], + "button_switches": [1, 2], + "scenes": [1, 2], + "connected": True, + }