roborock.data.b01_q7.b01_q7_code_mappings

  1from ..code_mappings import RoborockModeEnum
  2
  3
  4class WorkStatusMapping(RoborockModeEnum):
  5    """Maps the general status of the robot."""
  6
  7    SLEEPING = ("sleeping", 0)
  8    WAITING_FOR_ORDERS = ("waiting_for_orders", 1)
  9    PAUSED = ("paused", 2)
 10    DOCKING = ("docking", 3)
 11    CHARGING = ("charging", 4)
 12    SWEEP_MOPING = ("sweep_moping", 5)
 13    SWEEP_MOPING_2 = ("sweep_moping_2", 6)
 14    MOPING = ("moping", 7)
 15    UPDATING = ("updating", 8)
 16    MOP_CLEANING = ("mop_cleaning", 9)
 17    MOP_AIRDRYING = ("mop_airdrying", 10)
 18
 19
 20class SCWindMapping(RoborockModeEnum):
 21    """Maps suction power levels."""
 22
 23    SILENCE = ("quiet", 0)
 24    STANDARD = ("balanced", 1)
 25    STRONG = ("turbo", 2)
 26    SUPER_STRONG = ("max", 3)
 27
 28
 29class WaterLevelMapping(RoborockModeEnum):
 30    """Maps water flow levels."""
 31
 32    LOW = ("low", 0)
 33    MEDIUM = ("medium", 1)
 34    HIGH = ("high", 2)
 35
 36
 37class CleanTypeMapping(RoborockModeEnum):
 38    """Maps the type of cleaning (Vacuum, Mop, or both)."""
 39
 40    VACUUM = ("vacuum", 0)
 41    VAC_AND_MOP = ("vac_and_mop", 1)
 42    MOP = ("mop", 2)
 43
 44
 45class CleanRepeatMapping(RoborockModeEnum):
 46    """Maps the cleaning repeat parameter."""
 47
 48    ONCE = ("once", 0)
 49    TWICE = ("twice", 1)
 50
 51
 52class SCDeviceCleanParam(RoborockModeEnum):
 53    """Maps the control values for cleaning tasks."""
 54
 55    STOP = ("stop", 0)
 56    START = ("start", 1)
 57    PAUSE = ("pause", 2)
 58
 59
 60class WorkModeMapping(RoborockModeEnum):
 61    """Maps the detailed work modes of the robot."""
 62
 63    IDLE = ("idle", 0)
 64    AUTO = ("auto", 1)
 65    MANUAL = ("manual", 2)
 66    AREA = ("area", 3)
 67    AUTO_PAUSE = ("auto_pause", 4)
 68    BACK_CHARGE = ("back_charge", 5)
 69    POINT = ("point", 6)
 70    NAVI = ("navi", 7)
 71    AREA_PAUSE = ("area_pause", 8)
 72    NAVI_PAUSE = ("navi_pause", 9)
 73    GLOBAL_GO_HOME = ("global_go_home", 10)
 74    GLOBAL_BROKEN = ("global_broken", 11)
 75    NAVI_GO_HOME = ("navi_go_home", 12)
 76    POINT_GO_HOME = ("point_go_home", 13)
 77    NAVI_IDLE = ("navi_idle", 14)
 78    SCREW = ("screw", 20)
 79    SCREW_GO_HOME = ("screw_go_home", 21)
 80    POINT_IDLE = ("point_idle", 22)
 81    SCREW_IDLE = ("screw_idle", 23)
 82    BORDER = ("border", 25)
 83    BORDER_GO_HOME = ("border_go_home", 26)
 84    BORDER_PAUSE = ("border_pause", 27)
 85    BORDER_BROKEN = ("border_broken", 28)
 86    BORDER_IDLE = ("border_idle", 29)
 87    PLAN_AREA = ("plan_area", 30)
 88    PLAN_AREA_PAUSE = ("plan_area_pause", 31)
 89    PLAN_AREA_GO_HOME = ("plan_area_go_home", 32)
 90    PLAN_AREA_BROKEN = ("plan_area_broken", 33)
 91    PLAN_AREA_IDLE = ("plan_area_idle", 35)
 92    MOPPING = ("mopping", 36)
 93    MOPPING_PAUSE = ("mopping_pause", 37)
 94    MOPPING_GO_HOME = ("mopping_go_home", 38)
 95    MOPPING_BROKEN = ("mopping_broken", 39)
 96    MOPPING_IDLE = ("mopping_idle", 40)
 97    EXPLORING = ("exploring", 45)
 98    EXPLORE_PAUSE = ("explore_pause", 46)
 99    EXPLORE_GO_HOME = ("explore_go_home", 47)
100    EXPLORE_BROKEN = ("explore_broken", 48)
101    EXPLORE_IDLE = ("explore_idle", 49)
102
103
104class StationActionMapping(RoborockModeEnum):
105    """Maps actions for the cleaning/drying station."""
106
107    STOP_CLEAN_OR_AIRDRY = ("stop_clean_or_airdry", 0)
108    MOP_CLEAN = ("mop_clean", 1)
109    MOP_AIRDRY = ("mop_airdry", 2)
110
111
112class CleanTaskTypeMapping(RoborockModeEnum):
113    """Maps the high-level type of cleaning task selected."""
114
115    ALL = ("full", 0)
116    ROOM = ("room", 1)
117    AREA = ("zones", 4)
118    ROOM_NORMAL = ("room_normal", 5)
119    CUSTOM_MODE = ("customize", 6)
120    ALL_CUSTOM = ("all_custom", 11)
121    AREA_CUSTOM = ("area_custom", 99)
122
123
124class CarpetModeMapping(RoborockModeEnum):
125    """Maps carpet handling parameters."""
126
127    FOLLOW_GLOBAL = ("follow_global", 0)
128    ON = ("on", 1)
129    OFF = ("off", 2)
130
131
132class B01Fault(RoborockModeEnum):
133    """B01 fault codes and their descriptions."""
134
135    F_0 = ("fault_0", 0)
136    F_407 = ("cleaning_in_progress", 407)  # Cleaning in progress. Scheduled cleanup ignored.
137    F_500 = (
138        "lidar_blocked",
139        500,
140    )  # LiDAR turret or laser blocked. Check for obstruction and retry. LiDAR sensor obstructed or stuck.
141    # Remove foreign objects if any. If the problem persists, move the robot away and restart.
142    F_501 = (
143        "robot_suspended",
144        501,
145    )  # Robot suspended. Move the robot away and restart. Cliff sensors dirty. Wipe them clean.
146    F_502 = (
147        "low_battery",
148        502,
149    )  # Low battery. Recharge now. Battery low. Put the robot on the dock to charge it to 20% before starting.
150    F_503 = (
151        "dustbin_not_installed",
152        503,
153    )  # Check that the dustbin and filter are installed properly. Reinstall the dustbin and filter in place.
154    # If the problem persists, replace the filter.
155    F_504 = ("fault_504", 504)
156    F_505 = ("fault_505", 505)
157    F_506 = ("fault_506", 506)
158    F_507 = ("fault_507", 507)
159    F_508 = ("fault_508", 508)
160    F_509 = ("cliff_sensor_error", 509)  # Cliff sensors error. Clean them, move the robot away from drops, and restart.
161    F_510 = (
162        "bumper_stuck",
163        510,
164    )  # Bumper stuck. Clean it and lightly tap to release it. Tap it repeatedly to release it. If no foreign object
165    # exists, move the robot away and restart.
166    F_511 = (
167        "docking_error",
168        511,
169    )  # Docking error. Put the robot on the dock. Clear obstacles around the dock, clean charging contacts, and put
170    # the robot on the dock.
171    F_512 = (
172        "docking_error",
173        512,
174    )  # Docking error. Put the robot on the dock. Clear obstacles around the dock, clean charging contacts, and put
175    # the robot on the dock.
176    F_513 = (
177        "robot_trapped",
178        513,
179    )  # Robot trapped. Move the robot away and restart. Clear obstacles around robot or move robot away and restart.
180    F_514 = (
181        "robot_trapped",
182        514,
183    )  # Robot trapped. Move the robot away and restart. Clear obstacles around robot or move robot away and restart.
184    F_515 = ("fault_515", 515)
185    F_517 = ("fault_517", 517)
186    F_518 = (
187        "low_battery",
188        518,
189    )  # Low battery. Recharge now. Battery low. Put the robot on the dock to charge it to 20% before starting.
190    F_519 = ("fault_519", 519)
191    F_520 = ("fault_520", 520)
192    F_521 = ("fault_521", 521)
193    F_522 = ("mop_not_installed", 522)  # Check that the mop is properly installed. Mop not installed. Reinstall it.
194    F_523 = ("fault_523", 523)
195    F_525 = ("fault_525", 525)
196    F_526 = ("fault_526", 526)
197    F_527 = ("fault_527", 527)
198    F_528 = ("fault_528", 528)
199    F_529 = ("fault_529", 529)
200    F_530 = ("fault_530", 530)
201    F_531 = ("fault_531", 531)
202    F_532 = ("fault_532", 532)
203    F_533 = ("long_sleep", 533)  # About to shut down after a long time of sleep. Charge the robot.
204    F_534 = (
205        "low_battery_shutdown",
206        534,
207    )  # Low battery. Turning off. About to shut down due to low battery. Charge the robot.
208    F_535 = ("fault_535", 535)
209    F_536 = ("fault_536", 536)
210    F_540 = ("fault_540", 540)
211    F_541 = ("fault_541", 541)
212    F_542 = ("fault_542", 542)
213    F_550 = ("fault_550", 550)
214    F_551 = ("fault_551", 551)
215    F_559 = ("fault_559", 559)
216    F_560 = ("side_brush_entangled", 560)  # Side brush entangled. Remove and clean it.
217    F_561 = ("fault_561", 561)
218    F_562 = ("fault_562", 562)
219    F_563 = ("fault_563", 563)
220    F_564 = ("fault_564", 564)
221    F_565 = ("fault_565", 565)
222    F_566 = ("fault_566", 566)
223    F_567 = ("fault_567", 567)
224    F_568 = ("main_wheels_entangled", 568)  # Clean main wheels, move the robot away and restart.
225    F_569 = ("main_wheels_entangled", 569)  # Clean main wheels, move the robot away and restart.
226    F_570 = ("main_brush_entangled", 570)  # Main brush entangled. Remove and clean it and its bearing.
227    F_571 = ("fault_571", 571)
228    F_572 = ("main_brush_entangled", 572)  # Main brush entangled. Remove and clean it and its bearing.
229    F_573 = ("fault_573", 573)
230    F_574 = ("fault_574", 574)
231    F_580 = ("fault_580", 580)
232    F_581 = ("fault_581", 581)
233    F_582 = ("fault_582", 582)
234    F_583 = ("fault_583", 583)
235    F_584 = ("fault_584", 584)
236    F_585 = ("fault_585", 585)
237    F_586 = ("fault_586", 586)
238    F_587 = ("fault_587", 587)
239    F_588 = ("fault_588", 588)
240    F_589 = ("fault_589", 589)
241    F_590 = ("fault_590", 590)
242    F_591 = ("fault_591", 591)
243    F_592 = ("fault_592", 592)
244    F_593 = ("fault_593", 593)
245    F_594 = (
246        "dust_bag_not_installed",
247        594,
248    )  # Make sure the dust bag is properly installed. Dust bag not installed. Check that it is installed properly.
249    F_601 = ("fault_601", 601)
250    F_602 = ("fault_602", 602)
251    F_603 = ("fault_603", 603)
252    F_604 = ("fault_604", 604)
253    F_605 = ("fault_605", 605)
254    F_611 = ("positioning_failed", 611)  # Positioning failed. Move the robot back to the dock and remap.
255    F_612 = (
256        "map_changed",
257        612,
258    )  # Map changed. Positioning failed. Try again. New environment detected. Map changed. Positioning failed.
259    # Try again after remapping.
260    F_629 = ("mop_mount_fell_off", 629)  # Mop cloth mount fell off. Reinstall it to resume working.
261    F_668 = (
262        "system_error",
263        668,
264    )  # Robot error. Reset the system. Fan error. Reset the system. If the problem persists, contact customer service.
265    F_2000 = ("fault_2000", 2000)
266    F_2003 = ("low_battery_schedule_canceled", 2003)  # Battery level below 20%. Scheduled task canceled.
267    F_2007 = (
268        "cannot_reach_target",
269        2007,
270    )  # Unable to reach the target. Cleaning ended. Ensure the door to the target area is open or unobstructed.
271    F_2012 = (
272        "cannot_reach_target",
273        2012,
274    )  # Unable to reach the target. Cleaning ended. Ensure the door to the target area is open or unobstructed.
275    F_2013 = ("fault_2013", 2013)
276    F_2015 = ("fault_2015", 2015)
277    F_2017 = ("fault_2017", 2017)
278    F_2100 = (
279        "low_battery_resume_later",
280        2100,
281    )  # Low battery. Resume cleaning after recharging. Low battery. Starting to recharge. Resume cleaning after
282    # charging.
283    F_2101 = ("fault_2101", 2101)
284    F_2102 = ("cleaning_complete", 2102)  # Cleaning completed. Returning to the dock.
285    F_2103 = ("fault_2103", 2103)
286    F_2104 = ("fault_2104", 2104)
287    F_2105 = ("fault_2105", 2105)
288    F_2108 = ("fault_2108", 2108)
289    F_2109 = ("fault_2109", 2109)
290    F_2110 = ("fault_2110", 2110)
291    F_2111 = ("fault_2111", 2111)
292    F_2112 = ("fault_2112", 2112)
293    F_2113 = ("fault_2113", 2113)
294    F_2114 = ("fault_2114", 2114)
295    F_2115 = ("fault_2115", 2115)
class WorkStatusMapping(roborock.data.code_mappings.RoborockModeEnum):
 5class WorkStatusMapping(RoborockModeEnum):
 6    """Maps the general status of the robot."""
 7
 8    SLEEPING = ("sleeping", 0)
 9    WAITING_FOR_ORDERS = ("waiting_for_orders", 1)
10    PAUSED = ("paused", 2)
11    DOCKING = ("docking", 3)
12    CHARGING = ("charging", 4)
13    SWEEP_MOPING = ("sweep_moping", 5)
14    SWEEP_MOPING_2 = ("sweep_moping_2", 6)
15    MOPING = ("moping", 7)
16    UPDATING = ("updating", 8)
17    MOP_CLEANING = ("mop_cleaning", 9)
18    MOP_AIRDRYING = ("mop_airdrying", 10)

Maps the general status of the robot.

SLEEPING = <WorkStatusMapping.SLEEPING: 'sleeping'>
WAITING_FOR_ORDERS = <WorkStatusMapping.WAITING_FOR_ORDERS: 'waiting_for_orders'>
PAUSED = <WorkStatusMapping.PAUSED: 'paused'>
DOCKING = <WorkStatusMapping.DOCKING: 'docking'>
CHARGING = <WorkStatusMapping.CHARGING: 'charging'>
SWEEP_MOPING = <WorkStatusMapping.SWEEP_MOPING: 'sweep_moping'>
SWEEP_MOPING_2 = <WorkStatusMapping.SWEEP_MOPING_2: 'sweep_moping_2'>
MOPING = <WorkStatusMapping.MOPING: 'moping'>
UPDATING = <WorkStatusMapping.UPDATING: 'updating'>
MOP_CLEANING = <WorkStatusMapping.MOP_CLEANING: 'mop_cleaning'>
MOP_AIRDRYING = <WorkStatusMapping.MOP_AIRDRYING: 'mop_airdrying'>
class SCWindMapping(roborock.data.code_mappings.RoborockModeEnum):
21class SCWindMapping(RoborockModeEnum):
22    """Maps suction power levels."""
23
24    SILENCE = ("quiet", 0)
25    STANDARD = ("balanced", 1)
26    STRONG = ("turbo", 2)
27    SUPER_STRONG = ("max", 3)

Maps suction power levels.

SILENCE = <SCWindMapping.SILENCE: 'quiet'>
STANDARD = <SCWindMapping.STANDARD: 'balanced'>
STRONG = <SCWindMapping.STRONG: 'turbo'>
SUPER_STRONG = <SCWindMapping.SUPER_STRONG: 'max'>
class WaterLevelMapping(roborock.data.code_mappings.RoborockModeEnum):
30class WaterLevelMapping(RoborockModeEnum):
31    """Maps water flow levels."""
32
33    LOW = ("low", 0)
34    MEDIUM = ("medium", 1)
35    HIGH = ("high", 2)

Maps water flow levels.

LOW = <WaterLevelMapping.LOW: 'low'>
MEDIUM = <WaterLevelMapping.MEDIUM: 'medium'>
HIGH = <WaterLevelMapping.HIGH: 'high'>
class CleanTypeMapping(roborock.data.code_mappings.RoborockModeEnum):
38class CleanTypeMapping(RoborockModeEnum):
39    """Maps the type of cleaning (Vacuum, Mop, or both)."""
40
41    VACUUM = ("vacuum", 0)
42    VAC_AND_MOP = ("vac_and_mop", 1)
43    MOP = ("mop", 2)

Maps the type of cleaning (Vacuum, Mop, or both).

VACUUM = <CleanTypeMapping.VACUUM: 'vacuum'>
VAC_AND_MOP = <CleanTypeMapping.VAC_AND_MOP: 'vac_and_mop'>
MOP = <CleanTypeMapping.MOP: 'mop'>
class CleanRepeatMapping(roborock.data.code_mappings.RoborockModeEnum):
46class CleanRepeatMapping(RoborockModeEnum):
47    """Maps the cleaning repeat parameter."""
48
49    ONCE = ("once", 0)
50    TWICE = ("twice", 1)

Maps the cleaning repeat parameter.

ONCE = <CleanRepeatMapping.ONCE: 'once'>
TWICE = <CleanRepeatMapping.TWICE: 'twice'>
class SCDeviceCleanParam(roborock.data.code_mappings.RoborockModeEnum):
53class SCDeviceCleanParam(RoborockModeEnum):
54    """Maps the control values for cleaning tasks."""
55
56    STOP = ("stop", 0)
57    START = ("start", 1)
58    PAUSE = ("pause", 2)

Maps the control values for cleaning tasks.

STOP = <SCDeviceCleanParam.STOP: 'stop'>
START = <SCDeviceCleanParam.START: 'start'>
PAUSE = <SCDeviceCleanParam.PAUSE: 'pause'>
class WorkModeMapping(roborock.data.code_mappings.RoborockModeEnum):
 61class WorkModeMapping(RoborockModeEnum):
 62    """Maps the detailed work modes of the robot."""
 63
 64    IDLE = ("idle", 0)
 65    AUTO = ("auto", 1)
 66    MANUAL = ("manual", 2)
 67    AREA = ("area", 3)
 68    AUTO_PAUSE = ("auto_pause", 4)
 69    BACK_CHARGE = ("back_charge", 5)
 70    POINT = ("point", 6)
 71    NAVI = ("navi", 7)
 72    AREA_PAUSE = ("area_pause", 8)
 73    NAVI_PAUSE = ("navi_pause", 9)
 74    GLOBAL_GO_HOME = ("global_go_home", 10)
 75    GLOBAL_BROKEN = ("global_broken", 11)
 76    NAVI_GO_HOME = ("navi_go_home", 12)
 77    POINT_GO_HOME = ("point_go_home", 13)
 78    NAVI_IDLE = ("navi_idle", 14)
 79    SCREW = ("screw", 20)
 80    SCREW_GO_HOME = ("screw_go_home", 21)
 81    POINT_IDLE = ("point_idle", 22)
 82    SCREW_IDLE = ("screw_idle", 23)
 83    BORDER = ("border", 25)
 84    BORDER_GO_HOME = ("border_go_home", 26)
 85    BORDER_PAUSE = ("border_pause", 27)
 86    BORDER_BROKEN = ("border_broken", 28)
 87    BORDER_IDLE = ("border_idle", 29)
 88    PLAN_AREA = ("plan_area", 30)
 89    PLAN_AREA_PAUSE = ("plan_area_pause", 31)
 90    PLAN_AREA_GO_HOME = ("plan_area_go_home", 32)
 91    PLAN_AREA_BROKEN = ("plan_area_broken", 33)
 92    PLAN_AREA_IDLE = ("plan_area_idle", 35)
 93    MOPPING = ("mopping", 36)
 94    MOPPING_PAUSE = ("mopping_pause", 37)
 95    MOPPING_GO_HOME = ("mopping_go_home", 38)
 96    MOPPING_BROKEN = ("mopping_broken", 39)
 97    MOPPING_IDLE = ("mopping_idle", 40)
 98    EXPLORING = ("exploring", 45)
 99    EXPLORE_PAUSE = ("explore_pause", 46)
100    EXPLORE_GO_HOME = ("explore_go_home", 47)
101    EXPLORE_BROKEN = ("explore_broken", 48)
102    EXPLORE_IDLE = ("explore_idle", 49)

Maps the detailed work modes of the robot.

IDLE = <WorkModeMapping.IDLE: 'idle'>
AUTO = <WorkModeMapping.AUTO: 'auto'>
MANUAL = <WorkModeMapping.MANUAL: 'manual'>
AREA = <WorkModeMapping.AREA: 'area'>
AUTO_PAUSE = <WorkModeMapping.AUTO_PAUSE: 'auto_pause'>
BACK_CHARGE = <WorkModeMapping.BACK_CHARGE: 'back_charge'>
POINT = <WorkModeMapping.POINT: 'point'>
NAVI = <WorkModeMapping.NAVI: 'navi'>
AREA_PAUSE = <WorkModeMapping.AREA_PAUSE: 'area_pause'>
NAVI_PAUSE = <WorkModeMapping.NAVI_PAUSE: 'navi_pause'>
GLOBAL_GO_HOME = <WorkModeMapping.GLOBAL_GO_HOME: 'global_go_home'>
GLOBAL_BROKEN = <WorkModeMapping.GLOBAL_BROKEN: 'global_broken'>
NAVI_GO_HOME = <WorkModeMapping.NAVI_GO_HOME: 'navi_go_home'>
POINT_GO_HOME = <WorkModeMapping.POINT_GO_HOME: 'point_go_home'>
NAVI_IDLE = <WorkModeMapping.NAVI_IDLE: 'navi_idle'>
SCREW = <WorkModeMapping.SCREW: 'screw'>
SCREW_GO_HOME = <WorkModeMapping.SCREW_GO_HOME: 'screw_go_home'>
POINT_IDLE = <WorkModeMapping.POINT_IDLE: 'point_idle'>
SCREW_IDLE = <WorkModeMapping.SCREW_IDLE: 'screw_idle'>
BORDER = <WorkModeMapping.BORDER: 'border'>
BORDER_GO_HOME = <WorkModeMapping.BORDER_GO_HOME: 'border_go_home'>
BORDER_PAUSE = <WorkModeMapping.BORDER_PAUSE: 'border_pause'>
BORDER_BROKEN = <WorkModeMapping.BORDER_BROKEN: 'border_broken'>
BORDER_IDLE = <WorkModeMapping.BORDER_IDLE: 'border_idle'>
PLAN_AREA = <WorkModeMapping.PLAN_AREA: 'plan_area'>
PLAN_AREA_PAUSE = <WorkModeMapping.PLAN_AREA_PAUSE: 'plan_area_pause'>
PLAN_AREA_GO_HOME = <WorkModeMapping.PLAN_AREA_GO_HOME: 'plan_area_go_home'>
PLAN_AREA_BROKEN = <WorkModeMapping.PLAN_AREA_BROKEN: 'plan_area_broken'>
PLAN_AREA_IDLE = <WorkModeMapping.PLAN_AREA_IDLE: 'plan_area_idle'>
MOPPING = <WorkModeMapping.MOPPING: 'mopping'>
MOPPING_PAUSE = <WorkModeMapping.MOPPING_PAUSE: 'mopping_pause'>
MOPPING_GO_HOME = <WorkModeMapping.MOPPING_GO_HOME: 'mopping_go_home'>
MOPPING_BROKEN = <WorkModeMapping.MOPPING_BROKEN: 'mopping_broken'>
MOPPING_IDLE = <WorkModeMapping.MOPPING_IDLE: 'mopping_idle'>
EXPLORING = <WorkModeMapping.EXPLORING: 'exploring'>
EXPLORE_PAUSE = <WorkModeMapping.EXPLORE_PAUSE: 'explore_pause'>
EXPLORE_GO_HOME = <WorkModeMapping.EXPLORE_GO_HOME: 'explore_go_home'>
EXPLORE_BROKEN = <WorkModeMapping.EXPLORE_BROKEN: 'explore_broken'>
EXPLORE_IDLE = <WorkModeMapping.EXPLORE_IDLE: 'explore_idle'>
class StationActionMapping(roborock.data.code_mappings.RoborockModeEnum):
105class StationActionMapping(RoborockModeEnum):
106    """Maps actions for the cleaning/drying station."""
107
108    STOP_CLEAN_OR_AIRDRY = ("stop_clean_or_airdry", 0)
109    MOP_CLEAN = ("mop_clean", 1)
110    MOP_AIRDRY = ("mop_airdry", 2)

Maps actions for the cleaning/drying station.

STOP_CLEAN_OR_AIRDRY = <StationActionMapping.STOP_CLEAN_OR_AIRDRY: 'stop_clean_or_airdry'>
MOP_CLEAN = <StationActionMapping.MOP_CLEAN: 'mop_clean'>
MOP_AIRDRY = <StationActionMapping.MOP_AIRDRY: 'mop_airdry'>
class CleanTaskTypeMapping(roborock.data.code_mappings.RoborockModeEnum):
113class CleanTaskTypeMapping(RoborockModeEnum):
114    """Maps the high-level type of cleaning task selected."""
115
116    ALL = ("full", 0)
117    ROOM = ("room", 1)
118    AREA = ("zones", 4)
119    ROOM_NORMAL = ("room_normal", 5)
120    CUSTOM_MODE = ("customize", 6)
121    ALL_CUSTOM = ("all_custom", 11)
122    AREA_CUSTOM = ("area_custom", 99)

Maps the high-level type of cleaning task selected.

ALL = <CleanTaskTypeMapping.ALL: 'full'>
ROOM = <CleanTaskTypeMapping.ROOM: 'room'>
AREA = <CleanTaskTypeMapping.AREA: 'zones'>
ROOM_NORMAL = <CleanTaskTypeMapping.ROOM_NORMAL: 'room_normal'>
CUSTOM_MODE = <CleanTaskTypeMapping.CUSTOM_MODE: 'customize'>
ALL_CUSTOM = <CleanTaskTypeMapping.ALL_CUSTOM: 'all_custom'>
AREA_CUSTOM = <CleanTaskTypeMapping.AREA_CUSTOM: 'area_custom'>
class CarpetModeMapping(roborock.data.code_mappings.RoborockModeEnum):
125class CarpetModeMapping(RoborockModeEnum):
126    """Maps carpet handling parameters."""
127
128    FOLLOW_GLOBAL = ("follow_global", 0)
129    ON = ("on", 1)
130    OFF = ("off", 2)

Maps carpet handling parameters.

FOLLOW_GLOBAL = <CarpetModeMapping.FOLLOW_GLOBAL: 'follow_global'>
ON = <CarpetModeMapping.ON: 'on'>
OFF = <CarpetModeMapping.OFF: 'off'>
class B01Fault(roborock.data.code_mappings.RoborockModeEnum):
133class B01Fault(RoborockModeEnum):
134    """B01 fault codes and their descriptions."""
135
136    F_0 = ("fault_0", 0)
137    F_407 = ("cleaning_in_progress", 407)  # Cleaning in progress. Scheduled cleanup ignored.
138    F_500 = (
139        "lidar_blocked",
140        500,
141    )  # LiDAR turret or laser blocked. Check for obstruction and retry. LiDAR sensor obstructed or stuck.
142    # Remove foreign objects if any. If the problem persists, move the robot away and restart.
143    F_501 = (
144        "robot_suspended",
145        501,
146    )  # Robot suspended. Move the robot away and restart. Cliff sensors dirty. Wipe them clean.
147    F_502 = (
148        "low_battery",
149        502,
150    )  # Low battery. Recharge now. Battery low. Put the robot on the dock to charge it to 20% before starting.
151    F_503 = (
152        "dustbin_not_installed",
153        503,
154    )  # Check that the dustbin and filter are installed properly. Reinstall the dustbin and filter in place.
155    # If the problem persists, replace the filter.
156    F_504 = ("fault_504", 504)
157    F_505 = ("fault_505", 505)
158    F_506 = ("fault_506", 506)
159    F_507 = ("fault_507", 507)
160    F_508 = ("fault_508", 508)
161    F_509 = ("cliff_sensor_error", 509)  # Cliff sensors error. Clean them, move the robot away from drops, and restart.
162    F_510 = (
163        "bumper_stuck",
164        510,
165    )  # Bumper stuck. Clean it and lightly tap to release it. Tap it repeatedly to release it. If no foreign object
166    # exists, move the robot away and restart.
167    F_511 = (
168        "docking_error",
169        511,
170    )  # Docking error. Put the robot on the dock. Clear obstacles around the dock, clean charging contacts, and put
171    # the robot on the dock.
172    F_512 = (
173        "docking_error",
174        512,
175    )  # Docking error. Put the robot on the dock. Clear obstacles around the dock, clean charging contacts, and put
176    # the robot on the dock.
177    F_513 = (
178        "robot_trapped",
179        513,
180    )  # Robot trapped. Move the robot away and restart. Clear obstacles around robot or move robot away and restart.
181    F_514 = (
182        "robot_trapped",
183        514,
184    )  # Robot trapped. Move the robot away and restart. Clear obstacles around robot or move robot away and restart.
185    F_515 = ("fault_515", 515)
186    F_517 = ("fault_517", 517)
187    F_518 = (
188        "low_battery",
189        518,
190    )  # Low battery. Recharge now. Battery low. Put the robot on the dock to charge it to 20% before starting.
191    F_519 = ("fault_519", 519)
192    F_520 = ("fault_520", 520)
193    F_521 = ("fault_521", 521)
194    F_522 = ("mop_not_installed", 522)  # Check that the mop is properly installed. Mop not installed. Reinstall it.
195    F_523 = ("fault_523", 523)
196    F_525 = ("fault_525", 525)
197    F_526 = ("fault_526", 526)
198    F_527 = ("fault_527", 527)
199    F_528 = ("fault_528", 528)
200    F_529 = ("fault_529", 529)
201    F_530 = ("fault_530", 530)
202    F_531 = ("fault_531", 531)
203    F_532 = ("fault_532", 532)
204    F_533 = ("long_sleep", 533)  # About to shut down after a long time of sleep. Charge the robot.
205    F_534 = (
206        "low_battery_shutdown",
207        534,
208    )  # Low battery. Turning off. About to shut down due to low battery. Charge the robot.
209    F_535 = ("fault_535", 535)
210    F_536 = ("fault_536", 536)
211    F_540 = ("fault_540", 540)
212    F_541 = ("fault_541", 541)
213    F_542 = ("fault_542", 542)
214    F_550 = ("fault_550", 550)
215    F_551 = ("fault_551", 551)
216    F_559 = ("fault_559", 559)
217    F_560 = ("side_brush_entangled", 560)  # Side brush entangled. Remove and clean it.
218    F_561 = ("fault_561", 561)
219    F_562 = ("fault_562", 562)
220    F_563 = ("fault_563", 563)
221    F_564 = ("fault_564", 564)
222    F_565 = ("fault_565", 565)
223    F_566 = ("fault_566", 566)
224    F_567 = ("fault_567", 567)
225    F_568 = ("main_wheels_entangled", 568)  # Clean main wheels, move the robot away and restart.
226    F_569 = ("main_wheels_entangled", 569)  # Clean main wheels, move the robot away and restart.
227    F_570 = ("main_brush_entangled", 570)  # Main brush entangled. Remove and clean it and its bearing.
228    F_571 = ("fault_571", 571)
229    F_572 = ("main_brush_entangled", 572)  # Main brush entangled. Remove and clean it and its bearing.
230    F_573 = ("fault_573", 573)
231    F_574 = ("fault_574", 574)
232    F_580 = ("fault_580", 580)
233    F_581 = ("fault_581", 581)
234    F_582 = ("fault_582", 582)
235    F_583 = ("fault_583", 583)
236    F_584 = ("fault_584", 584)
237    F_585 = ("fault_585", 585)
238    F_586 = ("fault_586", 586)
239    F_587 = ("fault_587", 587)
240    F_588 = ("fault_588", 588)
241    F_589 = ("fault_589", 589)
242    F_590 = ("fault_590", 590)
243    F_591 = ("fault_591", 591)
244    F_592 = ("fault_592", 592)
245    F_593 = ("fault_593", 593)
246    F_594 = (
247        "dust_bag_not_installed",
248        594,
249    )  # Make sure the dust bag is properly installed. Dust bag not installed. Check that it is installed properly.
250    F_601 = ("fault_601", 601)
251    F_602 = ("fault_602", 602)
252    F_603 = ("fault_603", 603)
253    F_604 = ("fault_604", 604)
254    F_605 = ("fault_605", 605)
255    F_611 = ("positioning_failed", 611)  # Positioning failed. Move the robot back to the dock and remap.
256    F_612 = (
257        "map_changed",
258        612,
259    )  # Map changed. Positioning failed. Try again. New environment detected. Map changed. Positioning failed.
260    # Try again after remapping.
261    F_629 = ("mop_mount_fell_off", 629)  # Mop cloth mount fell off. Reinstall it to resume working.
262    F_668 = (
263        "system_error",
264        668,
265    )  # Robot error. Reset the system. Fan error. Reset the system. If the problem persists, contact customer service.
266    F_2000 = ("fault_2000", 2000)
267    F_2003 = ("low_battery_schedule_canceled", 2003)  # Battery level below 20%. Scheduled task canceled.
268    F_2007 = (
269        "cannot_reach_target",
270        2007,
271    )  # Unable to reach the target. Cleaning ended. Ensure the door to the target area is open or unobstructed.
272    F_2012 = (
273        "cannot_reach_target",
274        2012,
275    )  # Unable to reach the target. Cleaning ended. Ensure the door to the target area is open or unobstructed.
276    F_2013 = ("fault_2013", 2013)
277    F_2015 = ("fault_2015", 2015)
278    F_2017 = ("fault_2017", 2017)
279    F_2100 = (
280        "low_battery_resume_later",
281        2100,
282    )  # Low battery. Resume cleaning after recharging. Low battery. Starting to recharge. Resume cleaning after
283    # charging.
284    F_2101 = ("fault_2101", 2101)
285    F_2102 = ("cleaning_complete", 2102)  # Cleaning completed. Returning to the dock.
286    F_2103 = ("fault_2103", 2103)
287    F_2104 = ("fault_2104", 2104)
288    F_2105 = ("fault_2105", 2105)
289    F_2108 = ("fault_2108", 2108)
290    F_2109 = ("fault_2109", 2109)
291    F_2110 = ("fault_2110", 2110)
292    F_2111 = ("fault_2111", 2111)
293    F_2112 = ("fault_2112", 2112)
294    F_2113 = ("fault_2113", 2113)
295    F_2114 = ("fault_2114", 2114)
296    F_2115 = ("fault_2115", 2115)

B01 fault codes and their descriptions.

F_0 = <B01Fault.F_0: 'fault_0'>
F_407 = <B01Fault.F_407: 'cleaning_in_progress'>
F_500 = <B01Fault.F_500: 'lidar_blocked'>
F_501 = <B01Fault.F_501: 'robot_suspended'>
F_502 = <B01Fault.F_502: 'low_battery'>
F_503 = <B01Fault.F_503: 'dustbin_not_installed'>
F_504 = <B01Fault.F_504: 'fault_504'>
F_505 = <B01Fault.F_505: 'fault_505'>
F_506 = <B01Fault.F_506: 'fault_506'>
F_507 = <B01Fault.F_507: 'fault_507'>
F_508 = <B01Fault.F_508: 'fault_508'>
F_509 = <B01Fault.F_509: 'cliff_sensor_error'>
F_510 = <B01Fault.F_510: 'bumper_stuck'>
F_511 = <B01Fault.F_511: 'docking_error'>
F_512 = <B01Fault.F_511: 'docking_error'>
F_513 = <B01Fault.F_513: 'robot_trapped'>
F_514 = <B01Fault.F_513: 'robot_trapped'>
F_515 = <B01Fault.F_515: 'fault_515'>
F_517 = <B01Fault.F_517: 'fault_517'>
F_518 = <B01Fault.F_502: 'low_battery'>
F_519 = <B01Fault.F_519: 'fault_519'>
F_520 = <B01Fault.F_520: 'fault_520'>
F_521 = <B01Fault.F_521: 'fault_521'>
F_522 = <B01Fault.F_522: 'mop_not_installed'>
F_523 = <B01Fault.F_523: 'fault_523'>
F_525 = <B01Fault.F_525: 'fault_525'>
F_526 = <B01Fault.F_526: 'fault_526'>
F_527 = <B01Fault.F_527: 'fault_527'>
F_528 = <B01Fault.F_528: 'fault_528'>
F_529 = <B01Fault.F_529: 'fault_529'>
F_530 = <B01Fault.F_530: 'fault_530'>
F_531 = <B01Fault.F_531: 'fault_531'>
F_532 = <B01Fault.F_532: 'fault_532'>
F_533 = <B01Fault.F_533: 'long_sleep'>
F_534 = <B01Fault.F_534: 'low_battery_shutdown'>
F_535 = <B01Fault.F_535: 'fault_535'>
F_536 = <B01Fault.F_536: 'fault_536'>
F_540 = <B01Fault.F_540: 'fault_540'>
F_541 = <B01Fault.F_541: 'fault_541'>
F_542 = <B01Fault.F_542: 'fault_542'>
F_550 = <B01Fault.F_550: 'fault_550'>
F_551 = <B01Fault.F_551: 'fault_551'>
F_559 = <B01Fault.F_559: 'fault_559'>
F_560 = <B01Fault.F_560: 'side_brush_entangled'>
F_561 = <B01Fault.F_561: 'fault_561'>
F_562 = <B01Fault.F_562: 'fault_562'>
F_563 = <B01Fault.F_563: 'fault_563'>
F_564 = <B01Fault.F_564: 'fault_564'>
F_565 = <B01Fault.F_565: 'fault_565'>
F_566 = <B01Fault.F_566: 'fault_566'>
F_567 = <B01Fault.F_567: 'fault_567'>
F_568 = <B01Fault.F_568: 'main_wheels_entangled'>
F_569 = <B01Fault.F_568: 'main_wheels_entangled'>
F_570 = <B01Fault.F_570: 'main_brush_entangled'>
F_571 = <B01Fault.F_571: 'fault_571'>
F_572 = <B01Fault.F_570: 'main_brush_entangled'>
F_573 = <B01Fault.F_573: 'fault_573'>
F_574 = <B01Fault.F_574: 'fault_574'>
F_580 = <B01Fault.F_580: 'fault_580'>
F_581 = <B01Fault.F_581: 'fault_581'>
F_582 = <B01Fault.F_582: 'fault_582'>
F_583 = <B01Fault.F_583: 'fault_583'>
F_584 = <B01Fault.F_584: 'fault_584'>
F_585 = <B01Fault.F_585: 'fault_585'>
F_586 = <B01Fault.F_586: 'fault_586'>
F_587 = <B01Fault.F_587: 'fault_587'>
F_588 = <B01Fault.F_588: 'fault_588'>
F_589 = <B01Fault.F_589: 'fault_589'>
F_590 = <B01Fault.F_590: 'fault_590'>
F_591 = <B01Fault.F_591: 'fault_591'>
F_592 = <B01Fault.F_592: 'fault_592'>
F_593 = <B01Fault.F_593: 'fault_593'>
F_594 = <B01Fault.F_594: 'dust_bag_not_installed'>
F_601 = <B01Fault.F_601: 'fault_601'>
F_602 = <B01Fault.F_602: 'fault_602'>
F_603 = <B01Fault.F_603: 'fault_603'>
F_604 = <B01Fault.F_604: 'fault_604'>
F_605 = <B01Fault.F_605: 'fault_605'>
F_611 = <B01Fault.F_611: 'positioning_failed'>
F_612 = <B01Fault.F_612: 'map_changed'>
F_629 = <B01Fault.F_629: 'mop_mount_fell_off'>
F_668 = <B01Fault.F_668: 'system_error'>
F_2000 = <B01Fault.F_2000: 'fault_2000'>
F_2003 = <B01Fault.F_2003: 'low_battery_schedule_canceled'>
F_2007 = <B01Fault.F_2007: 'cannot_reach_target'>
F_2012 = <B01Fault.F_2007: 'cannot_reach_target'>
F_2013 = <B01Fault.F_2013: 'fault_2013'>
F_2015 = <B01Fault.F_2015: 'fault_2015'>
F_2017 = <B01Fault.F_2017: 'fault_2017'>
F_2100 = <B01Fault.F_2100: 'low_battery_resume_later'>
F_2101 = <B01Fault.F_2101: 'fault_2101'>
F_2102 = <B01Fault.F_2102: 'cleaning_complete'>
F_2103 = <B01Fault.F_2103: 'fault_2103'>
F_2104 = <B01Fault.F_2104: 'fault_2104'>
F_2105 = <B01Fault.F_2105: 'fault_2105'>
F_2108 = <B01Fault.F_2108: 'fault_2108'>
F_2109 = <B01Fault.F_2109: 'fault_2109'>
F_2110 = <B01Fault.F_2110: 'fault_2110'>
F_2111 = <B01Fault.F_2111: 'fault_2111'>
F_2112 = <B01Fault.F_2112: 'fault_2112'>
F_2113 = <B01Fault.F_2113: 'fault_2113'>
F_2114 = <B01Fault.F_2114: 'fault_2114'>
F_2115 = <B01Fault.F_2115: 'fault_2115'>