From 24e3a92d556150325aa699e8c9ae8bfe84ee757a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sat, 21 Mar 2026 20:22:40 +0100 Subject: [PATCH] fix(q10): add missing fault field to Q10Status Expose dpFault in Q10Status so integrations can read Q10 vacuum error information and add test coverage for refresh parsing. --- roborock/data/b01_q10/b01_q10_containers.py | 1 + tests/devices/traits/b01/q10/test_status.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/roborock/data/b01_q10/b01_q10_containers.py b/roborock/data/b01_q10/b01_q10_containers.py index 296d5484..4b3fb3ce 100644 --- a/roborock/data/b01_q10/b01_q10_containers.py +++ b/roborock/data/b01_q10/b01_q10_containers.py @@ -107,3 +107,4 @@ class Q10Status(RoborockBase): clean_task_type: YXDeviceCleanTask | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TASK_TYPE}) back_type: YXBackType | None = field(default=None, metadata={"dps": B01_Q10_DP.BACK_TYPE}) cleaning_progress: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_PROGRESS}) + fault: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FAULT}) diff --git a/tests/devices/traits/b01/q10/test_status.py b/tests/devices/traits/b01/q10/test_status.py index 8a800dfe..192ff0e7 100644 --- a/tests/devices/traits/b01/q10/test_status.py +++ b/tests/devices/traits/b01/q10/test_status.py @@ -115,6 +115,7 @@ async def test_status_trait_refresh( assert q10_api.status.total_clean_count is None assert q10_api.status.main_brush_life is None assert q10_api.status.cleaning_progress is None + assert q10_api.status.fault is None # Mock the response to refresh # battery (122) = 100 @@ -151,6 +152,7 @@ async def test_status_trait_refresh( assert q10_api.status.filter_life == 0 assert q10_api.status.sensor_life == 0 assert q10_api.status.cleaning_progress == 100 + assert q10_api.status.fault == 0 def test_status_trait_update_listener(q10_api: Q10PropertiesApi) -> None: