Fix Matter vacuum clean area status check (#164108)

This commit is contained in:
Artur Pragacz
2026-02-26 19:31:35 +00:00
committed by Franck Nijhof
parent 0eaaeedf11
commit b82a26ef68
2 changed files with 13 additions and 15 deletions
+3 -2
View File
@@ -206,10 +206,11 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
if (
response
and response.status != clusters.ServiceArea.Enums.SelectAreasStatus.kSuccess
and response["status"]
!= clusters.ServiceArea.Enums.SelectAreasStatus.kSuccess
):
raise HomeAssistantError(
f"Failed to select areas: {response.statusText or response.status.name}"
f"Failed to select areas: {response['statusText'] or response['status']}"
)
await self.send_device_command(
+10 -13
View File
@@ -365,12 +365,11 @@ async def test_vacuum_clean_area(
},
)
# Mock a successful SelectAreasResponse
matter_client.send_device_command.return_value = (
clusters.ServiceArea.Commands.SelectAreasResponse(
status=clusters.ServiceArea.Enums.SelectAreasStatus.kSuccess,
)
)
# Mock a successful SelectAreasResponse (returns as dict over websocket)
matter_client.send_device_command.return_value = {
"status": clusters.ServiceArea.Enums.SelectAreasStatus.kSuccess,
"statusText": "",
}
await hass.services.async_call(
VACUUM_DOMAIN,
@@ -420,13 +419,11 @@ async def test_vacuum_clean_area_select_areas_failure(
},
)
# Mock a failed SelectAreasResponse
matter_client.send_device_command.return_value = (
clusters.ServiceArea.Commands.SelectAreasResponse(
status=clusters.ServiceArea.Enums.SelectAreasStatus.kUnsupportedArea,
statusText="Area 7 not supported",
)
)
# Mock a failed SelectAreasResponse (returns as dict over websocket)
matter_client.send_device_command.return_value = {
"status": clusters.ServiceArea.Enums.SelectAreasStatus.kUnsupportedArea,
"statusText": "Area 7 not supported",
}
with pytest.raises(HomeAssistantError, match="Failed to select areas"):
await hass.services.async_call(