Skip to content

Commit de45199

Browse files
committed
fix: add missing DPS fields to Q10Status and fix CLEAN_PROGRESS mapping
1 parent 711f49e commit de45199

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

roborock/data/b01_q10/b01_q10_containers.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,14 @@ class Q10Status(RoborockBase):
9696
fan_level: YXFanLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.FAN_LEVEL})
9797
water_level: YXWaterLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.WATER_LEVEL})
9898
clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_COUNT})
99+
total_clean_area: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_AREA})
100+
total_clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_COUNT})
101+
total_clean_time: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_TIME})
102+
main_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.MAIN_BRUSH_LIFE})
103+
side_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SIDE_BRUSH_LIFE})
104+
filter_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FILTER_LIFE})
105+
sensor_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SENSOR_LIFE})
99106
clean_mode: YXDeviceWorkMode | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_MODE})
100107
clean_task_type: YXDeviceCleanTask | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TASK_TYPE})
101108
back_type: YXBackType | None = field(default=None, metadata={"dps": B01_Q10_DP.BACK_TYPE})
102-
cleaning_progress: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEANING_PROGRESS})
109+
cleaning_progress: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_PROGRESS})

tests/devices/traits/b01/q10/test_status.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ async def test_status_trait_refresh(
112112
assert q10_api.status.battery is None
113113
assert q10_api.status.status is None
114114
assert q10_api.status.fan_level is None
115+
assert q10_api.status.total_clean_count is None
116+
assert q10_api.status.main_brush_life is None
117+
assert q10_api.status.cleaning_progress is None
115118

116119
# Mock the response to refresh
117120
# battery (122) = 100
@@ -140,6 +143,14 @@ async def test_status_trait_refresh(
140143
assert q10_api.status.battery == 100
141144
assert q10_api.status.status == YXDeviceState.CHARGING_STATE
142145
assert q10_api.status.fan_level == YXFanLevel.BALANCED
146+
assert q10_api.status.total_clean_area == 0
147+
assert q10_api.status.total_clean_count == 0
148+
assert q10_api.status.total_clean_time == 0
149+
assert q10_api.status.main_brush_life == 0
150+
assert q10_api.status.side_brush_life == 0
151+
assert q10_api.status.filter_life == 0
152+
assert q10_api.status.sensor_life == 0
153+
assert q10_api.status.cleaning_progress == 100
143154

144155

145156
def test_status_trait_update_listener(q10_api: Q10PropertiesApi) -> None:

0 commit comments

Comments
 (0)