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

Maps suction power levels.

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

Maps water flow levels.

LOW = <WaterLevelMapping.LOW: 'low'>
MEDIUM = <WaterLevelMapping.MEDIUM: 'medium'>
HIGH = <WaterLevelMapping.HIGH: 'high'>
class CleanTypeMapping(roborock.data.code_mappings.RoborockModeEnum):
39class CleanTypeMapping(RoborockModeEnum):
40    """Maps the type of cleaning (Vacuum, Mop, or both)."""
41
42    VACUUM = ("vacuum", 0)
43    VAC_AND_MOP = ("vac_and_mop", 1)
44    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):
47class CleanRepeatMapping(RoborockModeEnum):
48    """Maps the cleaning repeat parameter."""
49
50    ONE = ("one", 0)
51    TWO = ("two", 1)

Maps the cleaning repeat parameter.

ONE = <CleanRepeatMapping.ONE: 'one'>
TWO = <CleanRepeatMapping.TWO: 'two'>
class CleanPathPreferenceMapping(roborock.data.code_mappings.RoborockModeEnum):
54class CleanPathPreferenceMapping(RoborockModeEnum):
55    """Maps the cleaning path preference parameter."""
56
57    BALANCED = ("balanced", 0)
58    DEEP = ("deep", 1)

Maps the cleaning path preference parameter.

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