Add log of missing codes to miele diagnostics (#143877)

Add missing code log to diagnostics
This commit is contained in:
Åke Strandberg 2025-04-29 14:56:45 +02:00 committed by GitHub
parent 9ce920b35a
commit 87107c5a59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 2 deletions

View File

@ -5,6 +5,8 @@ from __future__ import annotations
import hashlib import hashlib
from typing import Any, cast from typing import Any, cast
from pymiele import completed_warnings
from homeassistant.components.diagnostics import async_redact_data from homeassistant.components.diagnostics import async_redact_data
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntry from homeassistant.helpers.device_registry import DeviceEntry
@ -32,7 +34,7 @@ async def async_get_config_entry_diagnostics(
) -> dict[str, Any]: ) -> dict[str, Any]:
"""Return diagnostics for a config entry.""" """Return diagnostics for a config entry."""
miele_data = { miele_data: dict[str, Any] = {
"devices": redact_identifiers( "devices": redact_identifiers(
{ {
device_id: device_data.raw device_id: device_data.raw
@ -46,6 +48,9 @@ async def async_get_config_entry_diagnostics(
} }
), ),
} }
miele_data["missing_code_warnings"] = (
sorted(completed_warnings) if len(completed_warnings) > 0 else ["None"]
)
return { return {
"config_entry_data": async_redact_data(dict(config_entry.data), TO_REDACT), "config_entry_data": async_redact_data(dict(config_entry.data), TO_REDACT),
@ -65,7 +70,7 @@ async def async_get_device_diagnostics(
coordinator = config_entry.runtime_data coordinator = config_entry.runtime_data
device_id = cast(str, device.serial_number) device_id = cast(str, device.serial_number)
miele_data = { miele_data: dict[str, Any] = {
"devices": { "devices": {
hash_identifier(device_id): coordinator.data.devices[device_id].raw hash_identifier(device_id): coordinator.data.devices[device_id].raw
}, },
@ -74,6 +79,10 @@ async def async_get_device_diagnostics(
}, },
"programs": "Not implemented", "programs": "Not implemented",
} }
miele_data["missing_code_warnings"] = (
sorted(completed_warnings) if len(completed_warnings) > 0 else ["None"]
)
return { return {
"info": async_redact_data(info, TO_REDACT), "info": async_redact_data(info, TO_REDACT),
"data": async_redact_data(config_entry.data, TO_REDACT), "data": async_redact_data(config_entry.data, TO_REDACT),

View File

@ -642,6 +642,9 @@
}), }),
}), }),
}), }),
'missing_code_warnings': list([
'None',
]),
}), }),
}) })
# --- # ---
@ -817,6 +820,9 @@
}), }),
}), }),
}), }),
'missing_code_warnings': list([
'None',
]),
'programs': 'Not implemented', 'programs': 'Not implemented',
}), }),
}) })