diff --git a/homeassistant/components/twentemilieu/diagnostics.py b/homeassistant/components/twentemilieu/diagnostics.py new file mode 100644 index 00000000000..0d63fdbcf2c --- /dev/null +++ b/homeassistant/components/twentemilieu/diagnostics.py @@ -0,0 +1,22 @@ +"""Diagnostics support for TwenteMilieu.""" +from __future__ import annotations + +from typing import Any + +from homeassistant.config_entries import ConfigEntry +from homeassistant.const import CONF_ID +from homeassistant.core import HomeAssistant +from homeassistant.helpers.update_coordinator import DataUpdateCoordinator + +from .const import DOMAIN + + +async def async_get_config_entry_diagnostics( + hass: HomeAssistant, entry: ConfigEntry +) -> dict[str, Any]: + """Return diagnostics for a config entry.""" + coordinator: DataUpdateCoordinator = hass.data[DOMAIN][entry.data[CONF_ID]] + return { + waste_type: waste_date.isoformat() if waste_date else None + for waste_type, waste_date in coordinator.data.items() + } diff --git a/tests/components/twentemilieu/test_diagnostics.py b/tests/components/twentemilieu/test_diagnostics.py new file mode 100644 index 00000000000..2f5ffcd5eb9 --- /dev/null +++ b/tests/components/twentemilieu/test_diagnostics.py @@ -0,0 +1,24 @@ +"""Tests for the diagnostics data provided by the TwenteMilieu integration.""" +from aiohttp import ClientSession + +from homeassistant.core import HomeAssistant + +from tests.common import MockConfigEntry +from tests.components.diagnostics import get_diagnostics_for_config_entry + + +async def test_diagnostics( + hass: HomeAssistant, + hass_client: ClientSession, + init_integration: MockConfigEntry, +): + """Test diagnostics.""" + assert await get_diagnostics_for_config_entry( + hass, hass_client, init_integration + ) == { + "0": "2021-11-01", + "1": "2021-11-02", + "2": None, + "6": "2022-01-06", + "10": "2021-11-03", + }