From 0b72f3217c5edba10304fb8da38beb260d337de1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sun, 1 Feb 2026 23:13:03 +0100 Subject: [PATCH 1/5] fix: Rename FUN_LEVEL to FAN_LEVEL in code mappings --- roborock/data/b01_q10/b01_q10_code_mappings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roborock/data/b01_q10/b01_q10_code_mappings.py b/roborock/data/b01_q10/b01_q10_code_mappings.py index 69dbc8d9..5086af44 100644 --- a/roborock/data/b01_q10/b01_q10_code_mappings.py +++ b/roborock/data/b01_q10/b01_q10_code_mappings.py @@ -96,7 +96,7 @@ class B01_Q10_DP(RoborockModeEnum): HEARTBEAT = ("dpHeartbeat", 110) STATUS = ("dpStatus", 121) BATTERY = ("dpBattery", 122) - FUN_LEVEL = ("dpfunLevel", 123) + FAN_LEVEL = ("dpfunLevel", 123) WATER_LEVEL = ("dpWaterLevel", 124) MAIN_BRUSH_LIFE = ("dpMainBrushLife", 125) SIDE_BRUSH_LIFE = ("dpSideBrushLife", 126) From 53e4bbab7d1c20ab511daf87ab3bf2e02fa09f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sun, 1 Feb 2026 23:23:24 +0100 Subject: [PATCH 2/5] fix: Fix typos in code mappings for Roborock --- roborock/data/b01_q10/b01_q10_code_mappings.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roborock/data/b01_q10/b01_q10_code_mappings.py b/roborock/data/b01_q10/b01_q10_code_mappings.py index 5086af44..fdc11917 100644 --- a/roborock/data/b01_q10/b01_q10_code_mappings.py +++ b/roborock/data/b01_q10/b01_q10_code_mappings.py @@ -34,7 +34,7 @@ class B01_Q10_DP(RoborockModeEnum): DUST_SETTING = ("dpDustSetting", 50) MAP_SAVE_SWITCH = ("dpMapSaveSwitch", 51) CLEAN_RECORD = ("dpCleanRecord", 52) - RECEND_CLEAN_RECORD = ("dpRecendCleanRecord", 53) + RECENT_CLEAN_RECORD = ("dpRecentCleanRecord", 53) RESTRICTED_ZONE = ("dpRestrictedZone", 54) RESTRICTED_ZONE_UP = ("dpRestrictedZoneUp", 55) VIRTUAL_WALL = ("dpVirtualWall", 56) @@ -56,7 +56,7 @@ class B01_Q10_DP(RoborockModeEnum): ROOM_MERGE = ("dpRoomMerge", 72) ROOM_SPLIT = ("dpRoomSplit", 73) RESET_ROOM_NAME = ("dpResetRoomName", 74) - REQUSET_NOT_DISTURB_DATA = ("dpRequsetNotDisturbData", 75) + REQUEST_NOT_DISTURB_DATA = ("dpRequestNotDisturbData", 75) CARPET_CLEAN_TYPE = ("dpCarpetCleanType", 76) BUTTON_LIGHT_SWITCH = ("dpButtonLightSwitch", 77) CLEAN_LINE = ("dpCleanLine", 78) @@ -68,7 +68,7 @@ class B01_Q10_DP(RoborockModeEnum): LOG_SWITCH = ("dpLogSwitch", 84) FLOOR_MATERIAL = ("dpFloorMaterial", 85) LINE_LASER_OBSTACLE_AVOIDANCE = ("dpLineLaserObstacleAvoidance", 86) - CLEAN_PROGESS = ("dpCleanProgess", 87) + CLEAN_PROGRESS = ("dpCleanProgress", 87) GROUND_CLEAN = ("dpGroundClean", 88) IGNORE_OBSTACLE = ("dpIgnoreObstacle", 89) FAULT = ("dpFault", 90) @@ -84,7 +84,7 @@ class B01_Q10_DP(RoborockModeEnum): SUSPECTED_THRESHOLD_UP = ("dpSuspectedThresholdUp", 100) COMMON = ("dpCommon", 101) JUMP_SCAN = ("dpJumpScan", 101) - REQUETDPS = ("dpRequetdps", 102) # NOTE: THIS TYPO IS FOUND IN SOURCE CODE + REQUEST_DPS = ("dpRequestDps", 102) CLIFF_RESTRICTED_AREA = ("dpCliffRestrictedArea", 102) CLIFF_RESTRICTED_AREA_UP = ("dpCliffRestrictedAreaUp", 103) BREAKPOINT_CLEAN = ("dpBreakpointClean", 104) @@ -96,7 +96,7 @@ class B01_Q10_DP(RoborockModeEnum): HEARTBEAT = ("dpHeartbeat", 110) STATUS = ("dpStatus", 121) BATTERY = ("dpBattery", 122) - FAN_LEVEL = ("dpfunLevel", 123) + FAN_LEVEL = ("dpFanLevel", 123) WATER_LEVEL = ("dpWaterLevel", 124) MAIN_BRUSH_LIFE = ("dpMainBrushLife", 125) SIDE_BRUSH_LIFE = ("dpSideBrushLife", 126) @@ -125,7 +125,7 @@ class YXFanLevel(RoborockModeEnum): NORMAL = "normal", 2 STRONG = "strong", 3 MAX = "max", 4 - SUPER = "super", 5 + SUPER = "super", 8 class YXWaterLevel(RoborockModeEnum): From 22cd007526159e9e184734ae2f26a62552cc97a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sun, 1 Feb 2026 22:26:56 +0000 Subject: [PATCH 3/5] fix: Fix typo in B01_Q10_DP constant from REQUETDPS to REQUEST_DPS --- tests/e2e/test_device_manager.py | 2 +- tests/protocols/test_b01_q10_protocol.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/test_device_manager.py b/tests/e2e/test_device_manager.py index 1f87a9ba..449d6fbe 100644 --- a/tests/e2e/test_device_manager.py +++ b/tests/e2e/test_device_manager.py @@ -439,7 +439,7 @@ async def test_q10_device( # against the golden byte stream snapshot. assert device.b01_q10_properties command = device.b01_q10_properties.command - await command.send(B01_Q10_DP.REQUETDPS, params={}) + await command.send(B01_Q10_DP.REQUEST_DPS, params={}) # In the future here we can verify receiving requests from the device diff --git a/tests/protocols/test_b01_q10_protocol.py b/tests/protocols/test_b01_q10_protocol.py index fa373f38..110b20f0 100644 --- a/tests/protocols/test_b01_q10_protocol.py +++ b/tests/protocols/test_b01_q10_protocol.py @@ -94,8 +94,8 @@ def test_decode_unknown_dps_code() -> None: @pytest.mark.parametrize( ("command", "params"), [ - (B01_Q10_DP.REQUETDPS, {}), - (B01_Q10_DP.REQUETDPS, None), + (B01_Q10_DP.REQUEST_DPS, {}), + (B01_Q10_DP.REQUEST_DPS, None), (B01_Q10_DP.START_CLEAN, {"cmd": 1}), (B01_Q10_DP.WATER_LEVEL, YXWaterLevel.MIDDLE.code), ], From 015bdf45ecab4c2cb5046aac85f7e4b26bb26d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sun, 1 Feb 2026 22:33:19 +0000 Subject: [PATCH 4/5] test: Fix typos in dpFanLevel, dpRecentCleanRecord, and dpCleanProgress in snapshot --- .../protocols/__snapshots__/test_b01_q10_protocol.ambr | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/protocols/__snapshots__/test_b01_q10_protocol.ambr b/tests/protocols/__snapshots__/test_b01_q10_protocol.ambr index 0eae2538..726d9203 100644 --- a/tests/protocols/__snapshots__/test_b01_q10_protocol.ambr +++ b/tests/protocols/__snapshots__/test_b01_q10_protocol.ambr @@ -11,7 +11,7 @@ { "dpStatus": 8, "dpBattery": 100, - "dpfunLevel": 2, + "dpFanLevel": 2, "dpWaterLevel": 1, "dpMainBrushLife": 0, "dpSideBrushLife": 0, @@ -35,7 +35,7 @@ "dpChildLock": 0, "dpDustSetting": 0, "dpMapSaveSwitch": true, - "dpRecendCleanRecord": false, + "dpRecentCleanRecord": false, "dpCleanTime": 0, "dpMultiMapSwitch": 1, "dpSensorLife": 0, @@ -55,7 +55,7 @@ }, "dpRobotType": 1, "dpLineLaserObstacleAvoidance": 1, - "dpCleanProgess": 100, + "dpCleanProgress": 100, "dpGroundClean": 0, "dpFault": 0, "dpNotDisturbExpand": { @@ -77,10 +77,10 @@ } ''' # --- -# name: test_encode_mqtt_payload[dpRequetdps-None] +# name: test_encode_mqtt_payload[dpRequestDps-None] b'{"dps": {"102": {}}}' # --- -# name: test_encode_mqtt_payload[dpRequetdps-params0] +# name: test_encode_mqtt_payload[dpRequestDps-params0] b'{"dps": {"102": {}}}' # --- # name: test_encode_mqtt_payload[dpStartClean-params2] From 3d0a91f540fe827b35e061e9853b383d3f24993d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Sun, 1 Feb 2026 22:41:13 +0000 Subject: [PATCH 5/5] docs: Add comments documenting source code typos in B01_Q10_DP mappings --- roborock/data/b01_q10/b01_q10_code_mappings.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/roborock/data/b01_q10/b01_q10_code_mappings.py b/roborock/data/b01_q10/b01_q10_code_mappings.py index fdc11917..8330862f 100644 --- a/roborock/data/b01_q10/b01_q10_code_mappings.py +++ b/roborock/data/b01_q10/b01_q10_code_mappings.py @@ -34,7 +34,7 @@ class B01_Q10_DP(RoborockModeEnum): DUST_SETTING = ("dpDustSetting", 50) MAP_SAVE_SWITCH = ("dpMapSaveSwitch", 51) CLEAN_RECORD = ("dpCleanRecord", 52) - RECENT_CLEAN_RECORD = ("dpRecentCleanRecord", 53) + RECENT_CLEAN_RECORD = ("dpRecentCleanRecord", 53) # NOTE: typo "dpRecendCleanRecord" in source code RESTRICTED_ZONE = ("dpRestrictedZone", 54) RESTRICTED_ZONE_UP = ("dpRestrictedZoneUp", 55) VIRTUAL_WALL = ("dpVirtualWall", 56) @@ -56,7 +56,7 @@ class B01_Q10_DP(RoborockModeEnum): ROOM_MERGE = ("dpRoomMerge", 72) ROOM_SPLIT = ("dpRoomSplit", 73) RESET_ROOM_NAME = ("dpResetRoomName", 74) - REQUEST_NOT_DISTURB_DATA = ("dpRequestNotDisturbData", 75) + REQUEST_NOT_DISTURB_DATA = ("dpRequestNotDisturbData", 75) # NOTE: typo "dpRequsetNotDisturbData" in source code CARPET_CLEAN_TYPE = ("dpCarpetCleanType", 76) BUTTON_LIGHT_SWITCH = ("dpButtonLightSwitch", 77) CLEAN_LINE = ("dpCleanLine", 78) @@ -68,7 +68,7 @@ class B01_Q10_DP(RoborockModeEnum): LOG_SWITCH = ("dpLogSwitch", 84) FLOOR_MATERIAL = ("dpFloorMaterial", 85) LINE_LASER_OBSTACLE_AVOIDANCE = ("dpLineLaserObstacleAvoidance", 86) - CLEAN_PROGRESS = ("dpCleanProgress", 87) + CLEAN_PROGRESS = ("dpCleanProgress", 87) # NOTE: typo "dpCleanProgess" in source code GROUND_CLEAN = ("dpGroundClean", 88) IGNORE_OBSTACLE = ("dpIgnoreObstacle", 89) FAULT = ("dpFault", 90) @@ -84,7 +84,7 @@ class B01_Q10_DP(RoborockModeEnum): SUSPECTED_THRESHOLD_UP = ("dpSuspectedThresholdUp", 100) COMMON = ("dpCommon", 101) JUMP_SCAN = ("dpJumpScan", 101) - REQUEST_DPS = ("dpRequestDps", 102) + REQUEST_DPS = ("dpRequestDps", 102) # NOTE: typo "dpRequetdps" in source code CLIFF_RESTRICTED_AREA = ("dpCliffRestrictedArea", 102) CLIFF_RESTRICTED_AREA_UP = ("dpCliffRestrictedAreaUp", 103) BREAKPOINT_CLEAN = ("dpBreakpointClean", 104) @@ -96,7 +96,7 @@ class B01_Q10_DP(RoborockModeEnum): HEARTBEAT = ("dpHeartbeat", 110) STATUS = ("dpStatus", 121) BATTERY = ("dpBattery", 122) - FAN_LEVEL = ("dpFanLevel", 123) + FAN_LEVEL = ("dpFanLevel", 123) # NOTE: typo "dpfunLevel" in source code WATER_LEVEL = ("dpWaterLevel", 124) MAIN_BRUSH_LIFE = ("dpMainBrushLife", 125) SIDE_BRUSH_LIFE = ("dpSideBrushLife", 126)