roborock.data.v1.v1_code_mappings

  1from ..code_mappings import RoborockEnum
  2
  3
  4class RoborockFinishReason(RoborockEnum):
  5    manual_interrupt = 21  # Cleaning interrupted by user
  6    cleanup_interrupted = 24  # Cleanup interrupted
  7    manual_interrupt_2 = 21
  8    manual_interrupt_12 = 29
  9    breakpoint = 32  # Could not continue cleaning
 10    breakpoint_2 = 33
 11    cleanup_interrupted_2 = 34
 12    manual_interrupt_3 = 35
 13    manual_interrupt_4 = 36
 14    manual_interrupt_5 = 37
 15    manual_interrupt_6 = 43
 16    locate_fail = 45  # Positioning Failed
 17    cleanup_interrupted_3 = 64
 18    locate_fail_2 = 65
 19    manual_interrupt_7 = 48
 20    manual_interrupt_8 = 49
 21    manual_interrupt_9 = 50
 22    cleanup_interrupted_4 = 51
 23    finished_cleaning = 52  # Finished cleaning
 24    finished_cleaning_2 = 54
 25    finished_cleaning_3 = 55
 26    finished_cleaning_4 = 56
 27    finished_clenaing_5 = 57
 28    manual_interrupt_10 = 60
 29    area_unreachable = 61  # Area unreachable
 30    area_unreachable_2 = 62
 31    washing_error = 67  # Washing error
 32    back_to_wash_failure = 68  # Failed to return to the dock
 33    cleanup_interrupted_5 = 101
 34    breakpoint_4 = 102
 35    manual_interrupt_11 = 103
 36    cleanup_interrupted_6 = 104
 37    cleanup_interrupted_7 = 105
 38    cleanup_interrupted_8 = 106
 39    cleanup_interrupted_9 = 107
 40    cleanup_interrupted_10 = 109
 41    cleanup_interrupted_11 = 110
 42    patrol_success = 114  # Cruise completed
 43    patrol_fail = 115  # Cruise failed
 44    pet_patrol_success = 116  # Pet found
 45    pet_patrol_fail = 117  # Pet found failed
 46
 47
 48class RoborockInCleaning(RoborockEnum):
 49    complete = 0
 50    global_clean_not_complete = 1
 51    zone_clean_not_complete = 2
 52    segment_clean_not_complete = 3
 53
 54
 55class RoborockCleanType(RoborockEnum):
 56    all_zone = 1
 57    draw_zone = 2
 58    select_zone = 3
 59    quick_build = 4
 60    video_patrol = 5
 61    pet_patrol = 6
 62
 63
 64class RoborockStartType(RoborockEnum):
 65    button = 1
 66    app = 2
 67    schedule = 3
 68    mi_home = 4
 69    quick_start = 5
 70    voice_control = 13
 71    routines = 101
 72    alexa = 801
 73    google = 802
 74    ifttt = 803
 75    yandex = 804
 76    homekit = 805
 77    xiaoai = 806
 78    tmall_genie = 807
 79    duer = 808
 80    dingdong = 809
 81    siri = 810
 82    clova = 811
 83    wechat = 901
 84    alipay = 902
 85    aqara = 903
 86    hisense = 904
 87    huawei = 905
 88    widget_launch = 820
 89    smart_watch = 821
 90
 91
 92class RoborockDssCodes(RoborockEnum):
 93    @classmethod
 94    def _missing_(cls: type[RoborockEnum], key) -> RoborockEnum:
 95        # If the calculated value is not provided, then it should be viewed as okay.
 96        # As the math will sometimes result in you getting numbers that don't matter.
 97        return cls.okay  # type: ignore
 98
 99
100class ClearWaterBoxStatus(RoborockDssCodes):
101    """Status of the clear water box."""
102
103    okay = 0
104    out_of_water = 1
105    out_of_water_2 = 38
106    refill_error = 48
107
108
109class DirtyWaterBoxStatus(RoborockDssCodes):
110    """Status of the dirty water box."""
111
112    okay = 0
113    full_not_installed = 1
114    full_not_installed_2 = 39
115    drain_error = 49
116
117
118class DustBagStatus(RoborockDssCodes):
119    """Status of the dust bag."""
120
121    okay = 0
122    not_installed = 1
123    full = 34
124
125
126class CleanFluidStatus(RoborockDssCodes):
127    """Status of the cleaning fluid container."""
128
129    empty_not_installed = 1
130    okay = 2
131
132
133class RoborockErrorCode(RoborockEnum):
134    none = 0
135    lidar_blocked = 1
136    bumper_stuck = 2
137    wheels_suspended = 3
138    cliff_sensor_error = 4
139    main_brush_jammed = 5
140    side_brush_jammed = 6
141    wheels_jammed = 7
142    robot_trapped = 8
143    no_dustbin = 9
144    strainer_error = 10  # Filter is wet or blocked
145    compass_error = 11  # Strong magnetic field detected
146    low_battery = 12
147    charging_error = 13
148    battery_error = 14
149    wall_sensor_dirty = 15
150    robot_tilted = 16
151    side_brush_error = 17
152    fan_error = 18
153    dock = 19  # Dock not connected to power
154    optical_flow_sensor_dirt = 20
155    vertical_bumper_pressed = 21
156    dock_locator_error = 22
157    return_to_dock_fail = 23
158    nogo_zone_detected = 24
159    visual_sensor = 25  # Camera error
160    light_touch = 26  # Wall sensor error
161    vibrarise_jammed = 27
162    robot_on_carpet = 28
163    filter_blocked = 29
164    invisible_wall_detected = 30
165    cannot_cross_carpet = 31
166    internal_error = 32
167    collect_dust_error_3 = 34  # Clean auto-empty dock
168    collect_dust_error_4 = 35  # Auto empty dock voltage error
169    mopping_roller_1 = 36  # Wash roller may be jammed
170    mopping_roller_error_2 = 37  # wash roller not lowered properly
171    clear_water_box_hoare = 38  # Check the clean water tank
172    dirty_water_box_hoare = 39  # Check the dirty water tank
173    sink_strainer_hoare = 40  # Reinstall the water filter
174    clear_water_box_exception = 41  # Clean water tank empty
175    clear_brush_exception = 42  # Check that the water filter has been correctly installed
176    clear_brush_exception_2 = 43  # Positioning button error
177    filter_screen_exception = 44  # Clean the dock water filter
178    mopping_roller_2 = 45  # Wash roller may be jammed
179    up_water_exception = 48
180    drain_water_exception = 49
181    temperature_protection = 51  # Unit temperature protection
182    clean_carousel_exception = 52
183    clean_carousel_water_full = 53
184    water_carriage_drop = 54
185    check_clean_carouse = 55
186    audio_error = 56
187
188
189class RoborockFanPowerCode(RoborockEnum):
190    """Describes the fan power of the vacuum cleaner."""
191
192    # Fan speeds should have the first letter capitalized - as there is no way to change the name in translations as
193    # far as I am aware
194
195
196class RoborockFanSpeedV1(RoborockFanPowerCode):
197    silent = 38
198    standard = 60
199    medium = 77
200    turbo = 90
201
202
203class RoborockFanSpeedV2(RoborockFanPowerCode):
204    silent = 101
205    balanced = 102
206    turbo = 103
207    max = 104
208    gentle = 105
209    auto = 106
210
211
212class RoborockFanSpeedV3(RoborockFanPowerCode):
213    silent = 38
214    standard = 60
215    medium = 75
216    turbo = 100
217
218
219class RoborockFanSpeedE2(RoborockFanPowerCode):
220    gentle = 41
221    silent = 50
222    standard = 68
223    medium = 79
224    turbo = 100
225
226
227class RoborockFanSpeedS7(RoborockFanPowerCode):
228    off = 105
229    quiet = 101
230    balanced = 102
231    turbo = 103
232    max = 104
233    custom = 106
234
235
236class RoborockFanSpeedS7MaxV(RoborockFanPowerCode):
237    off = 105
238    quiet = 101
239    balanced = 102
240    turbo = 103
241    max = 104
242    custom = 106
243    max_plus = 108
244
245
246class RoborockFanSpeedS6Pure(RoborockFanPowerCode):
247    gentle = 105
248    quiet = 101
249    balanced = 102
250    turbo = 103
251    max = 104
252    custom = 106
253
254
255class RoborockFanSpeedQ7Max(RoborockFanPowerCode):
256    quiet = 101
257    balanced = 102
258    turbo = 103
259    max = 104
260
261
262class RoborockFanSpeedQRevoMaster(RoborockFanPowerCode):
263    off = 105
264    quiet = 101
265    balanced = 102
266    turbo = 103
267    max = 104
268    custom = 106
269    max_plus = 108
270    smart_mode = 110
271
272
273class RoborockFanSpeedQRevoCurv(RoborockFanPowerCode):
274    quiet = 101
275    balanced = 102
276    turbo = 103
277    max = 104
278    off = 105
279    custom = 106
280    max_plus = 108
281    smart_mode = 110
282
283
284class RoborockFanSpeedQRevoMaxV(RoborockFanPowerCode):
285    off = 105
286    quiet = 101
287    balanced = 102
288    turbo = 103
289    max = 104
290    custom = 106
291    max_plus = 108
292    smart_mode = 110
293
294
295class RoborockFanSpeedP10(RoborockFanPowerCode):
296    off = 105
297    quiet = 101
298    balanced = 102
299    turbo = 103
300    max = 104
301    custom = 106
302    max_plus = 108
303    smart_mode = 110
304
305
306class RoborockFanSpeedS8MaxVUltra(RoborockFanPowerCode):
307    off = 105
308    quiet = 101
309    balanced = 102
310    turbo = 103
311    max = 104
312    custom = 106
313    max_plus = 108
314    smart_mode = 110
315
316
317class RoborockFanSpeedSaros10(RoborockFanPowerCode):
318    off = 105
319    quiet = 101
320    balanced = 102
321    turbo = 103
322    max = 104
323    custom = 106
324    max_plus = 108
325    smart_mode = 110
326
327
328class RoborockFanSpeedSaros10R(RoborockFanPowerCode):
329    off = 105
330    quiet = 101
331    balanced = 102
332    turbo = 103
333    max = 104
334    custom = 106
335    max_plus = 108
336    smart_mode = 110
337
338
339class RoborockMopModeCode(RoborockEnum):
340    """Describes the mop mode of the vacuum cleaner."""
341
342
343class RoborockMopModeQRevoCurv(RoborockMopModeCode):
344    standard = 300
345    deep = 301
346    custom = 302
347    deep_plus = 303
348    fast = 304
349    smart_mode = 306
350
351
352class RoborockMopModeS7(RoborockMopModeCode):
353    """Describes the mop mode of the vacuum cleaner."""
354
355    standard = 300
356    deep = 301
357    custom = 302
358    deep_plus = 303
359
360
361class RoborockMopModeS8ProUltra(RoborockMopModeCode):
362    standard = 300
363    deep = 301
364    deep_plus = 303
365    fast = 304
366    custom = 302
367    smart_mode = 306
368
369
370class RoborockMopModeS8MaxVUltra(RoborockMopModeCode):
371    standard = 300
372    deep = 301
373    custom = 302
374    deep_plus = 303
375    fast = 304
376    deep_plus_pearl = 305
377    smart_mode = 306
378
379
380class RoborockMopModeSaros10R(RoborockMopModeCode):
381    standard = 300
382    deep = 301
383    custom = 302
384    deep_plus = 303
385    fast = 304
386    smart_mode = 306
387
388
389class RoborockMopModeQRevoMaster(RoborockMopModeCode):
390    standard = 300
391    deep = 301
392    custom = 302
393    deep_plus = 303
394    fast = 304
395    smart_mode = 306
396
397
398class RoborockMopModeQRevoMaxV(RoborockMopModeCode):
399    standard = 300
400    deep = 301
401    custom = 302
402    deep_plus = 303
403    fast = 304
404    smart_mode = 306
405
406
407class RoborockMopModeSaros10(RoborockMopModeCode):
408    standard = 300
409    deep = 301
410    custom = 302
411    deep_plus = 303
412    fast = 304
413    smart_mode = 306
414
415
416class RoborockMopIntensityCode(RoborockEnum):
417    """Describes the mop intensity of the vacuum cleaner."""
418
419
420class RoborockMopIntensityS7(RoborockMopIntensityCode):
421    """Describes the mop intensity of the vacuum cleaner."""
422
423    off = 200
424    mild = 201
425    moderate = 202
426    intense = 203
427    custom = 204
428
429
430class RoborockMopIntensityV2(RoborockMopIntensityCode):
431    """Describes the mop intensity of the vacuum cleaner."""
432
433    off = 200
434    low = 201
435    medium = 202
436    high = 203
437    custom = 207
438
439
440class RoborockMopIntensityQRevoMaster(RoborockMopIntensityCode):
441    """Describes the mop intensity of the vacuum cleaner."""
442
443    off = 200
444    low = 201
445    medium = 202
446    high = 203
447    custom = 204
448    custom_water_flow = 207
449    smart_mode = 209
450
451
452class RoborockMopIntensityQRevoCurv(RoborockMopIntensityCode):
453    off = 200
454    low = 201
455    medium = 202
456    high = 203
457    custom = 204
458    custom_water_flow = 207
459    smart_mode = 209
460
461
462class RoborockMopIntensityQRevoMaxV(RoborockMopIntensityCode):
463    off = 200
464    low = 201
465    medium = 202
466    high = 203
467    custom = 204
468    custom_water_flow = 207
469    smart_mode = 209
470
471
472class RoborockMopIntensityP10(RoborockMopIntensityCode):
473    """Describes the mop intensity of the vacuum cleaner."""
474
475    off = 200
476    low = 201
477    medium = 202
478    high = 203
479    custom = 204
480    custom_water_flow = 207
481    smart_mode = 209
482
483
484class RoborockMopIntensityS8MaxVUltra(RoborockMopIntensityCode):
485    off = 200
486    low = 201
487    medium = 202
488    high = 203
489    custom = 204
490    max = 208
491    smart_mode = 209
492    custom_water_flow = 207
493
494
495class RoborockMopIntensitySaros10(RoborockMopIntensityCode):
496    off = 200
497    mild = 201
498    standard = 202
499    intense = 203
500    extreme = 208
501    custom = 204
502    smart_mode = 209
503
504
505class RoborockMopIntensitySaros10R(RoborockMopIntensityCode):
506    off = 200
507    low = 201
508    medium = 202
509    high = 203
510    custom = 204
511    extreme = 250
512    vac_followed_by_mop = 235
513    smart_mode = 209
514
515
516class RoborockMopIntensityS5Max(RoborockMopIntensityCode):
517    """Describes the mop intensity of the vacuum cleaner."""
518
519    off = 200
520    low = 201
521    medium = 202
522    high = 203
523    custom = 204
524    custom_water_flow = 207
525
526
527class RoborockMopIntensityS6MaxV(RoborockMopIntensityCode):
528    """Describes the mop intensity of the vacuum cleaner."""
529
530    off = 200
531    low = 201
532    medium = 202
533    high = 203
534    custom = 204
535    custom_water_flow = 207
536
537
538class RoborockMopIntensityQ7Max(RoborockMopIntensityCode):
539    """Describes the mop intensity of the vacuum cleaner."""
540
541    off = 200
542    low = 201
543    medium = 202
544    high = 203
545    custom_water_flow = 207
546
547
548class RoborockDockErrorCode(RoborockEnum):
549    """Describes the error code of the dock."""
550
551    ok = 0
552    duct_blockage = 34
553    water_empty = 38
554    waste_water_tank_full = 39
555    maintenance_brush_jammed = 42
556    dirty_tank_latch_open = 44
557    no_dustbin = 46
558    cleaning_tank_full_or_blocked = 53
559
560
561class RoborockDockTypeCode(RoborockEnum):
562    unknown = -9999
563    no_dock = 0
564    auto_empty_dock = 1
565    empty_wash_fill_dock = 3
566    auto_empty_dock_pure = 5
567    s7_max_ultra_dock = 6
568    s8_dock = 7
569    p10_dock = 8
570    p10_pro_dock = 9
571    s8_maxv_ultra_dock = 10
572    qrevo_master_dock = 14
573    qrevo_s_dock = 15
574    saros_r10_dock = 16
575    qrevo_curv_dock = 17
576    saros_10_dock = 18
577
578
579class RoborockDockDustCollectionModeCode(RoborockEnum):
580    """Describes the dust collection mode of the vacuum cleaner."""
581
582    # TODO: Get the correct values for various different docks
583    unknown = -9999
584    smart = 0
585    light = 1
586    balanced = 2
587    max = 4
588
589
590class RoborockDockWashTowelModeCode(RoborockEnum):
591    """Describes the wash towel mode of the vacuum cleaner."""
592
593    # TODO: Get the correct values for various different docks
594    unknown = -9999
595    light = 0
596    balanced = 1
597    deep = 2
598    smart = 10
599
600
601class RoborockStateCode(RoborockEnum):
602    unknown = 0
603    starting = 1
604    charger_disconnected = 2
605    idle = 3
606    remote_control_active = 4
607    cleaning = 5
608    returning_home = 6
609    manual_mode = 7
610    charging = 8
611    charging_problem = 9
612    paused = 10
613    spot_cleaning = 11
614    error = 12
615    shutting_down = 13
616    updating = 14
617    docking = 15
618    going_to_target = 16
619    zoned_cleaning = 17
620    segment_cleaning = 18
621    emptying_the_bin = 22  # on s7+
622    washing_the_mop = 23  # on a46
623    washing_the_mop_2 = 25
624    going_to_wash_the_mop = 26  # on a46
625    in_call = 28
626    mapping = 29
627    egg_attack = 30
628    patrol = 32
629    attaching_the_mop = 33  # on g20s ultra
630    detaching_the_mop = 34  # on g20s ultra
631    charging_complete = 100
632    device_offline = 101
633    locked = 103
634    air_drying_stopping = 202
635    robot_status_mopping = 6301
636    clean_mop_cleaning = 6302
637    clean_mop_mopping = 6303
638    segment_mopping = 6304
639    segment_clean_mop_cleaning = 6305
640    segment_clean_mop_mopping = 6306
641    zoned_mopping = 6307
642    zoned_clean_mop_cleaning = 6308
643    zoned_clean_mop_mopping = 6309
644    back_to_dock_washing_duster = 6310
class RoborockFinishReason(roborock.data.code_mappings.RoborockEnum):
 5class RoborockFinishReason(RoborockEnum):
 6    manual_interrupt = 21  # Cleaning interrupted by user
 7    cleanup_interrupted = 24  # Cleanup interrupted
 8    manual_interrupt_2 = 21
 9    manual_interrupt_12 = 29
10    breakpoint = 32  # Could not continue cleaning
11    breakpoint_2 = 33
12    cleanup_interrupted_2 = 34
13    manual_interrupt_3 = 35
14    manual_interrupt_4 = 36
15    manual_interrupt_5 = 37
16    manual_interrupt_6 = 43
17    locate_fail = 45  # Positioning Failed
18    cleanup_interrupted_3 = 64
19    locate_fail_2 = 65
20    manual_interrupt_7 = 48
21    manual_interrupt_8 = 49
22    manual_interrupt_9 = 50
23    cleanup_interrupted_4 = 51
24    finished_cleaning = 52  # Finished cleaning
25    finished_cleaning_2 = 54
26    finished_cleaning_3 = 55
27    finished_cleaning_4 = 56
28    finished_clenaing_5 = 57
29    manual_interrupt_10 = 60
30    area_unreachable = 61  # Area unreachable
31    area_unreachable_2 = 62
32    washing_error = 67  # Washing error
33    back_to_wash_failure = 68  # Failed to return to the dock
34    cleanup_interrupted_5 = 101
35    breakpoint_4 = 102
36    manual_interrupt_11 = 103
37    cleanup_interrupted_6 = 104
38    cleanup_interrupted_7 = 105
39    cleanup_interrupted_8 = 106
40    cleanup_interrupted_9 = 107
41    cleanup_interrupted_10 = 109
42    cleanup_interrupted_11 = 110
43    patrol_success = 114  # Cruise completed
44    patrol_fail = 115  # Cruise failed
45    pet_patrol_success = 116  # Pet found
46    pet_patrol_fail = 117  # Pet found failed

Roborock Enum for codes with int values

manual_interrupt = <RoborockFinishReason.manual_interrupt: 21>
cleanup_interrupted = <RoborockFinishReason.cleanup_interrupted: 24>
manual_interrupt_2 = <RoborockFinishReason.manual_interrupt: 21>
manual_interrupt_12 = <RoborockFinishReason.manual_interrupt_12: 29>
breakpoint = <RoborockFinishReason.breakpoint: 32>
breakpoint_2 = <RoborockFinishReason.breakpoint_2: 33>
cleanup_interrupted_2 = <RoborockFinishReason.cleanup_interrupted_2: 34>
manual_interrupt_3 = <RoborockFinishReason.manual_interrupt_3: 35>
manual_interrupt_4 = <RoborockFinishReason.manual_interrupt_4: 36>
manual_interrupt_5 = <RoborockFinishReason.manual_interrupt_5: 37>
manual_interrupt_6 = <RoborockFinishReason.manual_interrupt_6: 43>
locate_fail = <RoborockFinishReason.locate_fail: 45>
cleanup_interrupted_3 = <RoborockFinishReason.cleanup_interrupted_3: 64>
locate_fail_2 = <RoborockFinishReason.locate_fail_2: 65>
manual_interrupt_7 = <RoborockFinishReason.manual_interrupt_7: 48>
manual_interrupt_8 = <RoborockFinishReason.manual_interrupt_8: 49>
manual_interrupt_9 = <RoborockFinishReason.manual_interrupt_9: 50>
cleanup_interrupted_4 = <RoborockFinishReason.cleanup_interrupted_4: 51>
finished_cleaning = <RoborockFinishReason.finished_cleaning: 52>
finished_cleaning_2 = <RoborockFinishReason.finished_cleaning_2: 54>
finished_cleaning_3 = <RoborockFinishReason.finished_cleaning_3: 55>
finished_cleaning_4 = <RoborockFinishReason.finished_cleaning_4: 56>
finished_clenaing_5 = <RoborockFinishReason.finished_clenaing_5: 57>
manual_interrupt_10 = <RoborockFinishReason.manual_interrupt_10: 60>
area_unreachable = <RoborockFinishReason.area_unreachable: 61>
area_unreachable_2 = <RoborockFinishReason.area_unreachable_2: 62>
washing_error = <RoborockFinishReason.washing_error: 67>
back_to_wash_failure = <RoborockFinishReason.back_to_wash_failure: 68>
cleanup_interrupted_5 = <RoborockFinishReason.cleanup_interrupted_5: 101>
breakpoint_4 = <RoborockFinishReason.breakpoint_4: 102>
manual_interrupt_11 = <RoborockFinishReason.manual_interrupt_11: 103>
cleanup_interrupted_6 = <RoborockFinishReason.cleanup_interrupted_6: 104>
cleanup_interrupted_7 = <RoborockFinishReason.cleanup_interrupted_7: 105>
cleanup_interrupted_8 = <RoborockFinishReason.cleanup_interrupted_8: 106>
cleanup_interrupted_9 = <RoborockFinishReason.cleanup_interrupted_9: 107>
cleanup_interrupted_10 = <RoborockFinishReason.cleanup_interrupted_10: 109>
cleanup_interrupted_11 = <RoborockFinishReason.cleanup_interrupted_11: 110>
patrol_success = <RoborockFinishReason.patrol_success: 114>
patrol_fail = <RoborockFinishReason.patrol_fail: 115>
pet_patrol_success = <RoborockFinishReason.pet_patrol_success: 116>
pet_patrol_fail = <RoborockFinishReason.pet_patrol_fail: 117>
class RoborockInCleaning(roborock.data.code_mappings.RoborockEnum):
49class RoborockInCleaning(RoborockEnum):
50    complete = 0
51    global_clean_not_complete = 1
52    zone_clean_not_complete = 2
53    segment_clean_not_complete = 3

Roborock Enum for codes with int values

complete = <RoborockInCleaning.complete: 0>
global_clean_not_complete = <RoborockInCleaning.global_clean_not_complete: 1>
zone_clean_not_complete = <RoborockInCleaning.zone_clean_not_complete: 2>
segment_clean_not_complete = <RoborockInCleaning.segment_clean_not_complete: 3>
class RoborockCleanType(roborock.data.code_mappings.RoborockEnum):
56class RoborockCleanType(RoborockEnum):
57    all_zone = 1
58    draw_zone = 2
59    select_zone = 3
60    quick_build = 4
61    video_patrol = 5
62    pet_patrol = 6

Roborock Enum for codes with int values

all_zone = <RoborockCleanType.all_zone: 1>
draw_zone = <RoborockCleanType.draw_zone: 2>
select_zone = <RoborockCleanType.select_zone: 3>
quick_build = <RoborockCleanType.quick_build: 4>
video_patrol = <RoborockCleanType.video_patrol: 5>
pet_patrol = <RoborockCleanType.pet_patrol: 6>
class RoborockStartType(roborock.data.code_mappings.RoborockEnum):
65class RoborockStartType(RoborockEnum):
66    button = 1
67    app = 2
68    schedule = 3
69    mi_home = 4
70    quick_start = 5
71    voice_control = 13
72    routines = 101
73    alexa = 801
74    google = 802
75    ifttt = 803
76    yandex = 804
77    homekit = 805
78    xiaoai = 806
79    tmall_genie = 807
80    duer = 808
81    dingdong = 809
82    siri = 810
83    clova = 811
84    wechat = 901
85    alipay = 902
86    aqara = 903
87    hisense = 904
88    huawei = 905
89    widget_launch = 820
90    smart_watch = 821

Roborock Enum for codes with int values

button = <RoborockStartType.button: 1>
schedule = <RoborockStartType.schedule: 3>
mi_home = <RoborockStartType.mi_home: 4>
quick_start = <RoborockStartType.quick_start: 5>
voice_control = <RoborockStartType.voice_control: 13>
routines = <RoborockStartType.routines: 101>
alexa = <RoborockStartType.alexa: 801>
google = <RoborockStartType.google: 802>
ifttt = <RoborockStartType.ifttt: 803>
yandex = <RoborockStartType.yandex: 804>
homekit = <RoborockStartType.homekit: 805>
xiaoai = <RoborockStartType.xiaoai: 806>
tmall_genie = <RoborockStartType.tmall_genie: 807>
duer = <RoborockStartType.duer: 808>
dingdong = <RoborockStartType.dingdong: 809>
siri = <RoborockStartType.siri: 810>
clova = <RoborockStartType.clova: 811>
wechat = <RoborockStartType.wechat: 901>
alipay = <RoborockStartType.alipay: 902>
aqara = <RoborockStartType.aqara: 903>
hisense = <RoborockStartType.hisense: 904>
huawei = <RoborockStartType.huawei: 905>
widget_launch = <RoborockStartType.widget_launch: 820>
smart_watch = <RoborockStartType.smart_watch: 821>
class RoborockDssCodes(roborock.data.code_mappings.RoborockEnum):
93class RoborockDssCodes(RoborockEnum):
94    @classmethod
95    def _missing_(cls: type[RoborockEnum], key) -> RoborockEnum:
96        # If the calculated value is not provided, then it should be viewed as okay.
97        # As the math will sometimes result in you getting numbers that don't matter.
98        return cls.okay  # type: ignore

Roborock Enum for codes with int values

class ClearWaterBoxStatus(RoborockDssCodes):
101class ClearWaterBoxStatus(RoborockDssCodes):
102    """Status of the clear water box."""
103
104    okay = 0
105    out_of_water = 1
106    out_of_water_2 = 38
107    refill_error = 48

Status of the clear water box.

out_of_water = <ClearWaterBoxStatus.out_of_water: 1>
out_of_water_2 = <ClearWaterBoxStatus.out_of_water_2: 38>
refill_error = <ClearWaterBoxStatus.refill_error: 48>
class DirtyWaterBoxStatus(RoborockDssCodes):
110class DirtyWaterBoxStatus(RoborockDssCodes):
111    """Status of the dirty water box."""
112
113    okay = 0
114    full_not_installed = 1
115    full_not_installed_2 = 39
116    drain_error = 49

Status of the dirty water box.

full_not_installed = <DirtyWaterBoxStatus.full_not_installed: 1>
full_not_installed_2 = <DirtyWaterBoxStatus.full_not_installed_2: 39>
drain_error = <DirtyWaterBoxStatus.drain_error: 49>
class DustBagStatus(RoborockDssCodes):
119class DustBagStatus(RoborockDssCodes):
120    """Status of the dust bag."""
121
122    okay = 0
123    not_installed = 1
124    full = 34

Status of the dust bag.

okay = <DustBagStatus.okay: 0>
not_installed = <DustBagStatus.not_installed: 1>
full = <DustBagStatus.full: 34>
class CleanFluidStatus(RoborockDssCodes):
127class CleanFluidStatus(RoborockDssCodes):
128    """Status of the cleaning fluid container."""
129
130    empty_not_installed = 1
131    okay = 2

Status of the cleaning fluid container.

empty_not_installed = <CleanFluidStatus.empty_not_installed: 1>
okay = <CleanFluidStatus.okay: 2>
class RoborockErrorCode(roborock.data.code_mappings.RoborockEnum):
134class RoborockErrorCode(RoborockEnum):
135    none = 0
136    lidar_blocked = 1
137    bumper_stuck = 2
138    wheels_suspended = 3
139    cliff_sensor_error = 4
140    main_brush_jammed = 5
141    side_brush_jammed = 6
142    wheels_jammed = 7
143    robot_trapped = 8
144    no_dustbin = 9
145    strainer_error = 10  # Filter is wet or blocked
146    compass_error = 11  # Strong magnetic field detected
147    low_battery = 12
148    charging_error = 13
149    battery_error = 14
150    wall_sensor_dirty = 15
151    robot_tilted = 16
152    side_brush_error = 17
153    fan_error = 18
154    dock = 19  # Dock not connected to power
155    optical_flow_sensor_dirt = 20
156    vertical_bumper_pressed = 21
157    dock_locator_error = 22
158    return_to_dock_fail = 23
159    nogo_zone_detected = 24
160    visual_sensor = 25  # Camera error
161    light_touch = 26  # Wall sensor error
162    vibrarise_jammed = 27
163    robot_on_carpet = 28
164    filter_blocked = 29
165    invisible_wall_detected = 30
166    cannot_cross_carpet = 31
167    internal_error = 32
168    collect_dust_error_3 = 34  # Clean auto-empty dock
169    collect_dust_error_4 = 35  # Auto empty dock voltage error
170    mopping_roller_1 = 36  # Wash roller may be jammed
171    mopping_roller_error_2 = 37  # wash roller not lowered properly
172    clear_water_box_hoare = 38  # Check the clean water tank
173    dirty_water_box_hoare = 39  # Check the dirty water tank
174    sink_strainer_hoare = 40  # Reinstall the water filter
175    clear_water_box_exception = 41  # Clean water tank empty
176    clear_brush_exception = 42  # Check that the water filter has been correctly installed
177    clear_brush_exception_2 = 43  # Positioning button error
178    filter_screen_exception = 44  # Clean the dock water filter
179    mopping_roller_2 = 45  # Wash roller may be jammed
180    up_water_exception = 48
181    drain_water_exception = 49
182    temperature_protection = 51  # Unit temperature protection
183    clean_carousel_exception = 52
184    clean_carousel_water_full = 53
185    water_carriage_drop = 54
186    check_clean_carouse = 55
187    audio_error = 56

Roborock Enum for codes with int values

lidar_blocked = <RoborockErrorCode.lidar_blocked: 1>
bumper_stuck = <RoborockErrorCode.bumper_stuck: 2>
wheels_suspended = <RoborockErrorCode.wheels_suspended: 3>
cliff_sensor_error = <RoborockErrorCode.cliff_sensor_error: 4>
main_brush_jammed = <RoborockErrorCode.main_brush_jammed: 5>
side_brush_jammed = <RoborockErrorCode.side_brush_jammed: 6>
wheels_jammed = <RoborockErrorCode.wheels_jammed: 7>
robot_trapped = <RoborockErrorCode.robot_trapped: 8>
no_dustbin = <RoborockErrorCode.no_dustbin: 9>
strainer_error = <RoborockErrorCode.strainer_error: 10>
compass_error = <RoborockErrorCode.compass_error: 11>
low_battery = <RoborockErrorCode.low_battery: 12>
charging_error = <RoborockErrorCode.charging_error: 13>
battery_error = <RoborockErrorCode.battery_error: 14>
wall_sensor_dirty = <RoborockErrorCode.wall_sensor_dirty: 15>
robot_tilted = <RoborockErrorCode.robot_tilted: 16>
side_brush_error = <RoborockErrorCode.side_brush_error: 17>
fan_error = <RoborockErrorCode.fan_error: 18>
dock = <RoborockErrorCode.dock: 19>
optical_flow_sensor_dirt = <RoborockErrorCode.optical_flow_sensor_dirt: 20>
vertical_bumper_pressed = <RoborockErrorCode.vertical_bumper_pressed: 21>
dock_locator_error = <RoborockErrorCode.dock_locator_error: 22>
return_to_dock_fail = <RoborockErrorCode.return_to_dock_fail: 23>
nogo_zone_detected = <RoborockErrorCode.nogo_zone_detected: 24>
visual_sensor = <RoborockErrorCode.visual_sensor: 25>
light_touch = <RoborockErrorCode.light_touch: 26>
vibrarise_jammed = <RoborockErrorCode.vibrarise_jammed: 27>
robot_on_carpet = <RoborockErrorCode.robot_on_carpet: 28>
filter_blocked = <RoborockErrorCode.filter_blocked: 29>
invisible_wall_detected = <RoborockErrorCode.invisible_wall_detected: 30>
cannot_cross_carpet = <RoborockErrorCode.cannot_cross_carpet: 31>
internal_error = <RoborockErrorCode.internal_error: 32>
collect_dust_error_3 = <RoborockErrorCode.collect_dust_error_3: 34>
collect_dust_error_4 = <RoborockErrorCode.collect_dust_error_4: 35>
mopping_roller_1 = <RoborockErrorCode.mopping_roller_1: 36>
mopping_roller_error_2 = <RoborockErrorCode.mopping_roller_error_2: 37>
clear_water_box_hoare = <RoborockErrorCode.clear_water_box_hoare: 38>
dirty_water_box_hoare = <RoborockErrorCode.dirty_water_box_hoare: 39>
sink_strainer_hoare = <RoborockErrorCode.sink_strainer_hoare: 40>
clear_water_box_exception = <RoborockErrorCode.clear_water_box_exception: 41>
clear_brush_exception = <RoborockErrorCode.clear_brush_exception: 42>
clear_brush_exception_2 = <RoborockErrorCode.clear_brush_exception_2: 43>
filter_screen_exception = <RoborockErrorCode.filter_screen_exception: 44>
mopping_roller_2 = <RoborockErrorCode.mopping_roller_2: 45>
up_water_exception = <RoborockErrorCode.up_water_exception: 48>
drain_water_exception = <RoborockErrorCode.drain_water_exception: 49>
temperature_protection = <RoborockErrorCode.temperature_protection: 51>
water_carriage_drop = <RoborockErrorCode.water_carriage_drop: 54>
check_clean_carouse = <RoborockErrorCode.check_clean_carouse: 55>
audio_error = <RoborockErrorCode.audio_error: 56>
class RoborockFanPowerCode(roborock.data.code_mappings.RoborockEnum):
190class RoborockFanPowerCode(RoborockEnum):
191    """Describes the fan power of the vacuum cleaner."""
192
193    # Fan speeds should have the first letter capitalized - as there is no way to change the name in translations as
194    # far as I am aware

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedV1(RoborockFanPowerCode):
197class RoborockFanSpeedV1(RoborockFanPowerCode):
198    silent = 38
199    standard = 60
200    medium = 77
201    turbo = 90

Describes the fan power of the vacuum cleaner.

silent = <RoborockFanSpeedV1.silent: 38>
standard = <RoborockFanSpeedV1.standard: 60>
medium = <RoborockFanSpeedV1.medium: 77>
turbo = <RoborockFanSpeedV1.turbo: 90>
class RoborockFanSpeedV2(RoborockFanPowerCode):
204class RoborockFanSpeedV2(RoborockFanPowerCode):
205    silent = 101
206    balanced = 102
207    turbo = 103
208    max = 104
209    gentle = 105
210    auto = 106

Describes the fan power of the vacuum cleaner.

silent = <RoborockFanSpeedV2.silent: 101>
balanced = <RoborockFanSpeedV2.balanced: 102>
turbo = <RoborockFanSpeedV2.turbo: 103>
max = <RoborockFanSpeedV2.max: 104>
gentle = <RoborockFanSpeedV2.gentle: 105>
auto = <RoborockFanSpeedV2.auto: 106>
class RoborockFanSpeedV3(RoborockFanPowerCode):
213class RoborockFanSpeedV3(RoborockFanPowerCode):
214    silent = 38
215    standard = 60
216    medium = 75
217    turbo = 100

Describes the fan power of the vacuum cleaner.

silent = <RoborockFanSpeedV3.silent: 38>
standard = <RoborockFanSpeedV3.standard: 60>
medium = <RoborockFanSpeedV3.medium: 75>
turbo = <RoborockFanSpeedV3.turbo: 100>
class RoborockFanSpeedE2(RoborockFanPowerCode):
220class RoborockFanSpeedE2(RoborockFanPowerCode):
221    gentle = 41
222    silent = 50
223    standard = 68
224    medium = 79
225    turbo = 100

Describes the fan power of the vacuum cleaner.

gentle = <RoborockFanSpeedE2.gentle: 41>
silent = <RoborockFanSpeedE2.silent: 50>
standard = <RoborockFanSpeedE2.standard: 68>
medium = <RoborockFanSpeedE2.medium: 79>
turbo = <RoborockFanSpeedE2.turbo: 100>
class RoborockFanSpeedS7(RoborockFanPowerCode):
228class RoborockFanSpeedS7(RoborockFanPowerCode):
229    off = 105
230    quiet = 101
231    balanced = 102
232    turbo = 103
233    max = 104
234    custom = 106

Describes the fan power of the vacuum cleaner.

off = <RoborockFanSpeedS7.off: 105>
quiet = <RoborockFanSpeedS7.quiet: 101>
balanced = <RoborockFanSpeedS7.balanced: 102>
turbo = <RoborockFanSpeedS7.turbo: 103>
max = <RoborockFanSpeedS7.max: 104>
custom = <RoborockFanSpeedS7.custom: 106>
class RoborockFanSpeedS7MaxV(RoborockFanPowerCode):
237class RoborockFanSpeedS7MaxV(RoborockFanPowerCode):
238    off = 105
239    quiet = 101
240    balanced = 102
241    turbo = 103
242    max = 104
243    custom = 106
244    max_plus = 108

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedS6Pure(RoborockFanPowerCode):
247class RoborockFanSpeedS6Pure(RoborockFanPowerCode):
248    gentle = 105
249    quiet = 101
250    balanced = 102
251    turbo = 103
252    max = 104
253    custom = 106

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedQ7Max(RoborockFanPowerCode):
256class RoborockFanSpeedQ7Max(RoborockFanPowerCode):
257    quiet = 101
258    balanced = 102
259    turbo = 103
260    max = 104

Describes the fan power of the vacuum cleaner.

balanced = <RoborockFanSpeedQ7Max.balanced: 102>
class RoborockFanSpeedQRevoMaster(RoborockFanPowerCode):
263class RoborockFanSpeedQRevoMaster(RoborockFanPowerCode):
264    off = 105
265    quiet = 101
266    balanced = 102
267    turbo = 103
268    max = 104
269    custom = 106
270    max_plus = 108
271    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedQRevoCurv(RoborockFanPowerCode):
274class RoborockFanSpeedQRevoCurv(RoborockFanPowerCode):
275    quiet = 101
276    balanced = 102
277    turbo = 103
278    max = 104
279    off = 105
280    custom = 106
281    max_plus = 108
282    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedQRevoMaxV(RoborockFanPowerCode):
285class RoborockFanSpeedQRevoMaxV(RoborockFanPowerCode):
286    off = 105
287    quiet = 101
288    balanced = 102
289    turbo = 103
290    max = 104
291    custom = 106
292    max_plus = 108
293    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedP10(RoborockFanPowerCode):
296class RoborockFanSpeedP10(RoborockFanPowerCode):
297    off = 105
298    quiet = 101
299    balanced = 102
300    turbo = 103
301    max = 104
302    custom = 106
303    max_plus = 108
304    smart_mode = 110

Describes the fan power of the vacuum cleaner.

quiet = <RoborockFanSpeedP10.quiet: 101>
balanced = <RoborockFanSpeedP10.balanced: 102>
turbo = <RoborockFanSpeedP10.turbo: 103>
custom = <RoborockFanSpeedP10.custom: 106>
max_plus = <RoborockFanSpeedP10.max_plus: 108>
smart_mode = <RoborockFanSpeedP10.smart_mode: 110>
class RoborockFanSpeedS8MaxVUltra(RoborockFanPowerCode):
307class RoborockFanSpeedS8MaxVUltra(RoborockFanPowerCode):
308    off = 105
309    quiet = 101
310    balanced = 102
311    turbo = 103
312    max = 104
313    custom = 106
314    max_plus = 108
315    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedSaros10(RoborockFanPowerCode):
318class RoborockFanSpeedSaros10(RoborockFanPowerCode):
319    off = 105
320    quiet = 101
321    balanced = 102
322    turbo = 103
323    max = 104
324    custom = 106
325    max_plus = 108
326    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockFanSpeedSaros10R(RoborockFanPowerCode):
329class RoborockFanSpeedSaros10R(RoborockFanPowerCode):
330    off = 105
331    quiet = 101
332    balanced = 102
333    turbo = 103
334    max = 104
335    custom = 106
336    max_plus = 108
337    smart_mode = 110

Describes the fan power of the vacuum cleaner.

class RoborockMopModeCode(roborock.data.code_mappings.RoborockEnum):
340class RoborockMopModeCode(RoborockEnum):
341    """Describes the mop mode of the vacuum cleaner."""

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeQRevoCurv(RoborockMopModeCode):
344class RoborockMopModeQRevoCurv(RoborockMopModeCode):
345    standard = 300
346    deep = 301
347    custom = 302
348    deep_plus = 303
349    fast = 304
350    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeS7(RoborockMopModeCode):
353class RoborockMopModeS7(RoborockMopModeCode):
354    """Describes the mop mode of the vacuum cleaner."""
355
356    standard = 300
357    deep = 301
358    custom = 302
359    deep_plus = 303

Describes the mop mode of the vacuum cleaner.

standard = <RoborockMopModeS7.standard: 300>
deep = <RoborockMopModeS7.deep: 301>
custom = <RoborockMopModeS7.custom: 302>
deep_plus = <RoborockMopModeS7.deep_plus: 303>
class RoborockMopModeS8ProUltra(RoborockMopModeCode):
362class RoborockMopModeS8ProUltra(RoborockMopModeCode):
363    standard = 300
364    deep = 301
365    deep_plus = 303
366    fast = 304
367    custom = 302
368    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeS8MaxVUltra(RoborockMopModeCode):
371class RoborockMopModeS8MaxVUltra(RoborockMopModeCode):
372    standard = 300
373    deep = 301
374    custom = 302
375    deep_plus = 303
376    fast = 304
377    deep_plus_pearl = 305
378    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeSaros10R(RoborockMopModeCode):
381class RoborockMopModeSaros10R(RoborockMopModeCode):
382    standard = 300
383    deep = 301
384    custom = 302
385    deep_plus = 303
386    fast = 304
387    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeQRevoMaster(RoborockMopModeCode):
390class RoborockMopModeQRevoMaster(RoborockMopModeCode):
391    standard = 300
392    deep = 301
393    custom = 302
394    deep_plus = 303
395    fast = 304
396    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeQRevoMaxV(RoborockMopModeCode):
399class RoborockMopModeQRevoMaxV(RoborockMopModeCode):
400    standard = 300
401    deep = 301
402    custom = 302
403    deep_plus = 303
404    fast = 304
405    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

class RoborockMopModeSaros10(RoborockMopModeCode):
408class RoborockMopModeSaros10(RoborockMopModeCode):
409    standard = 300
410    deep = 301
411    custom = 302
412    deep_plus = 303
413    fast = 304
414    smart_mode = 306

Describes the mop mode of the vacuum cleaner.

smart_mode = <RoborockMopModeSaros10.smart_mode: 306>
class RoborockMopIntensityCode(roborock.data.code_mappings.RoborockEnum):
417class RoborockMopIntensityCode(RoborockEnum):
418    """Describes the mop intensity of the vacuum cleaner."""

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityS7(RoborockMopIntensityCode):
421class RoborockMopIntensityS7(RoborockMopIntensityCode):
422    """Describes the mop intensity of the vacuum cleaner."""
423
424    off = 200
425    mild = 201
426    moderate = 202
427    intense = 203
428    custom = 204

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityV2(RoborockMopIntensityCode):
431class RoborockMopIntensityV2(RoborockMopIntensityCode):
432    """Describes the mop intensity of the vacuum cleaner."""
433
434    off = 200
435    low = 201
436    medium = 202
437    high = 203
438    custom = 207

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityQRevoMaster(RoborockMopIntensityCode):
441class RoborockMopIntensityQRevoMaster(RoborockMopIntensityCode):
442    """Describes the mop intensity of the vacuum cleaner."""
443
444    off = 200
445    low = 201
446    medium = 202
447    high = 203
448    custom = 204
449    custom_water_flow = 207
450    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityQRevoCurv(RoborockMopIntensityCode):
453class RoborockMopIntensityQRevoCurv(RoborockMopIntensityCode):
454    off = 200
455    low = 201
456    medium = 202
457    high = 203
458    custom = 204
459    custom_water_flow = 207
460    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityQRevoMaxV(RoborockMopIntensityCode):
463class RoborockMopIntensityQRevoMaxV(RoborockMopIntensityCode):
464    off = 200
465    low = 201
466    medium = 202
467    high = 203
468    custom = 204
469    custom_water_flow = 207
470    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityP10(RoborockMopIntensityCode):
473class RoborockMopIntensityP10(RoborockMopIntensityCode):
474    """Describes the mop intensity of the vacuum cleaner."""
475
476    off = 200
477    low = 201
478    medium = 202
479    high = 203
480    custom = 204
481    custom_water_flow = 207
482    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

custom_water_flow = <RoborockMopIntensityP10.custom_water_flow: 207>
class RoborockMopIntensityS8MaxVUltra(RoborockMopIntensityCode):
485class RoborockMopIntensityS8MaxVUltra(RoborockMopIntensityCode):
486    off = 200
487    low = 201
488    medium = 202
489    high = 203
490    custom = 204
491    max = 208
492    smart_mode = 209
493    custom_water_flow = 207

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensitySaros10(RoborockMopIntensityCode):
496class RoborockMopIntensitySaros10(RoborockMopIntensityCode):
497    off = 200
498    mild = 201
499    standard = 202
500    intense = 203
501    extreme = 208
502    custom = 204
503    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensitySaros10R(RoborockMopIntensityCode):
506class RoborockMopIntensitySaros10R(RoborockMopIntensityCode):
507    off = 200
508    low = 201
509    medium = 202
510    high = 203
511    custom = 204
512    extreme = 250
513    vac_followed_by_mop = 235
514    smart_mode = 209

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityS5Max(RoborockMopIntensityCode):
517class RoborockMopIntensityS5Max(RoborockMopIntensityCode):
518    """Describes the mop intensity of the vacuum cleaner."""
519
520    off = 200
521    low = 201
522    medium = 202
523    high = 203
524    custom = 204
525    custom_water_flow = 207

Describes the mop intensity of the vacuum cleaner.

custom_water_flow = <RoborockMopIntensityS5Max.custom_water_flow: 207>
class RoborockMopIntensityS6MaxV(RoborockMopIntensityCode):
528class RoborockMopIntensityS6MaxV(RoborockMopIntensityCode):
529    """Describes the mop intensity of the vacuum cleaner."""
530
531    off = 200
532    low = 201
533    medium = 202
534    high = 203
535    custom = 204
536    custom_water_flow = 207

Describes the mop intensity of the vacuum cleaner.

class RoborockMopIntensityQ7Max(RoborockMopIntensityCode):
539class RoborockMopIntensityQ7Max(RoborockMopIntensityCode):
540    """Describes the mop intensity of the vacuum cleaner."""
541
542    off = 200
543    low = 201
544    medium = 202
545    high = 203
546    custom_water_flow = 207

Describes the mop intensity of the vacuum cleaner.

custom_water_flow = <RoborockMopIntensityQ7Max.custom_water_flow: 207>
class RoborockDockErrorCode(roborock.data.code_mappings.RoborockEnum):
549class RoborockDockErrorCode(RoborockEnum):
550    """Describes the error code of the dock."""
551
552    ok = 0
553    duct_blockage = 34
554    water_empty = 38
555    waste_water_tank_full = 39
556    maintenance_brush_jammed = 42
557    dirty_tank_latch_open = 44
558    no_dustbin = 46
559    cleaning_tank_full_or_blocked = 53

Describes the error code of the dock.

duct_blockage = <RoborockDockErrorCode.duct_blockage: 34>
water_empty = <RoborockDockErrorCode.water_empty: 38>
waste_water_tank_full = <RoborockDockErrorCode.waste_water_tank_full: 39>
maintenance_brush_jammed = <RoborockDockErrorCode.maintenance_brush_jammed: 42>
dirty_tank_latch_open = <RoborockDockErrorCode.dirty_tank_latch_open: 44>
cleaning_tank_full_or_blocked = <RoborockDockErrorCode.cleaning_tank_full_or_blocked: 53>
class RoborockDockTypeCode(roborock.data.code_mappings.RoborockEnum):
562class RoborockDockTypeCode(RoborockEnum):
563    unknown = -9999
564    no_dock = 0
565    auto_empty_dock = 1
566    empty_wash_fill_dock = 3
567    auto_empty_dock_pure = 5
568    s7_max_ultra_dock = 6
569    s8_dock = 7
570    p10_dock = 8
571    p10_pro_dock = 9
572    s8_maxv_ultra_dock = 10
573    qrevo_master_dock = 14
574    qrevo_s_dock = 15
575    saros_r10_dock = 16
576    qrevo_curv_dock = 17
577    saros_10_dock = 18

Roborock Enum for codes with int values

unknown = <RoborockDockTypeCode.unknown: -9999>
auto_empty_dock = <RoborockDockTypeCode.auto_empty_dock: 1>
empty_wash_fill_dock = <RoborockDockTypeCode.empty_wash_fill_dock: 3>
auto_empty_dock_pure = <RoborockDockTypeCode.auto_empty_dock_pure: 5>
s7_max_ultra_dock = <RoborockDockTypeCode.s7_max_ultra_dock: 6>
p10_pro_dock = <RoborockDockTypeCode.p10_pro_dock: 9>
s8_maxv_ultra_dock = <RoborockDockTypeCode.s8_maxv_ultra_dock: 10>
qrevo_master_dock = <RoborockDockTypeCode.qrevo_master_dock: 14>
qrevo_s_dock = <RoborockDockTypeCode.qrevo_s_dock: 15>
saros_r10_dock = <RoborockDockTypeCode.saros_r10_dock: 16>
qrevo_curv_dock = <RoborockDockTypeCode.qrevo_curv_dock: 17>
saros_10_dock = <RoborockDockTypeCode.saros_10_dock: 18>
class RoborockDockDustCollectionModeCode(roborock.data.code_mappings.RoborockEnum):
580class RoborockDockDustCollectionModeCode(RoborockEnum):
581    """Describes the dust collection mode of the vacuum cleaner."""
582
583    # TODO: Get the correct values for various different docks
584    unknown = -9999
585    smart = 0
586    light = 1
587    balanced = 2
588    max = 4

Describes the dust collection mode of the vacuum cleaner.

class RoborockDockWashTowelModeCode(roborock.data.code_mappings.RoborockEnum):
591class RoborockDockWashTowelModeCode(RoborockEnum):
592    """Describes the wash towel mode of the vacuum cleaner."""
593
594    # TODO: Get the correct values for various different docks
595    unknown = -9999
596    light = 0
597    balanced = 1
598    deep = 2
599    smart = 10

Describes the wash towel mode of the vacuum cleaner.

class RoborockStateCode(roborock.data.code_mappings.RoborockEnum):
602class RoborockStateCode(RoborockEnum):
603    unknown = 0
604    starting = 1
605    charger_disconnected = 2
606    idle = 3
607    remote_control_active = 4
608    cleaning = 5
609    returning_home = 6
610    manual_mode = 7
611    charging = 8
612    charging_problem = 9
613    paused = 10
614    spot_cleaning = 11
615    error = 12
616    shutting_down = 13
617    updating = 14
618    docking = 15
619    going_to_target = 16
620    zoned_cleaning = 17
621    segment_cleaning = 18
622    emptying_the_bin = 22  # on s7+
623    washing_the_mop = 23  # on a46
624    washing_the_mop_2 = 25
625    going_to_wash_the_mop = 26  # on a46
626    in_call = 28
627    mapping = 29
628    egg_attack = 30
629    patrol = 32
630    attaching_the_mop = 33  # on g20s ultra
631    detaching_the_mop = 34  # on g20s ultra
632    charging_complete = 100
633    device_offline = 101
634    locked = 103
635    air_drying_stopping = 202
636    robot_status_mopping = 6301
637    clean_mop_cleaning = 6302
638    clean_mop_mopping = 6303
639    segment_mopping = 6304
640    segment_clean_mop_cleaning = 6305
641    segment_clean_mop_mopping = 6306
642    zoned_mopping = 6307
643    zoned_clean_mop_cleaning = 6308
644    zoned_clean_mop_mopping = 6309
645    back_to_dock_washing_duster = 6310

Roborock Enum for codes with int values

unknown = <RoborockStateCode.unknown: 0>
starting = <RoborockStateCode.starting: 1>
charger_disconnected = <RoborockStateCode.charger_disconnected: 2>
remote_control_active = <RoborockStateCode.remote_control_active: 4>
cleaning = <RoborockStateCode.cleaning: 5>
returning_home = <RoborockStateCode.returning_home: 6>
manual_mode = <RoborockStateCode.manual_mode: 7>
charging = <RoborockStateCode.charging: 8>
charging_problem = <RoborockStateCode.charging_problem: 9>
paused = <RoborockStateCode.paused: 10>
spot_cleaning = <RoborockStateCode.spot_cleaning: 11>
error = <RoborockStateCode.error: 12>
shutting_down = <RoborockStateCode.shutting_down: 13>
updating = <RoborockStateCode.updating: 14>
docking = <RoborockStateCode.docking: 15>
going_to_target = <RoborockStateCode.going_to_target: 16>
zoned_cleaning = <RoborockStateCode.zoned_cleaning: 17>
segment_cleaning = <RoborockStateCode.segment_cleaning: 18>
emptying_the_bin = <RoborockStateCode.emptying_the_bin: 22>
washing_the_mop = <RoborockStateCode.washing_the_mop: 23>
washing_the_mop_2 = <RoborockStateCode.washing_the_mop_2: 25>
going_to_wash_the_mop = <RoborockStateCode.going_to_wash_the_mop: 26>
in_call = <RoborockStateCode.in_call: 28>
mapping = <RoborockStateCode.mapping: 29>
egg_attack = <RoborockStateCode.egg_attack: 30>
patrol = <RoborockStateCode.patrol: 32>
attaching_the_mop = <RoborockStateCode.attaching_the_mop: 33>
detaching_the_mop = <RoborockStateCode.detaching_the_mop: 34>
charging_complete = <RoborockStateCode.charging_complete: 100>
device_offline = <RoborockStateCode.device_offline: 101>
locked = <RoborockStateCode.locked: 103>
air_drying_stopping = <RoborockStateCode.air_drying_stopping: 202>
robot_status_mopping = <RoborockStateCode.robot_status_mopping: 6301>
clean_mop_cleaning = <RoborockStateCode.clean_mop_cleaning: 6302>
clean_mop_mopping = <RoborockStateCode.clean_mop_mopping: 6303>
segment_mopping = <RoborockStateCode.segment_mopping: 6304>
segment_clean_mop_cleaning = <RoborockStateCode.segment_clean_mop_cleaning: 6305>
segment_clean_mop_mopping = <RoborockStateCode.segment_clean_mop_mopping: 6306>
zoned_mopping = <RoborockStateCode.zoned_mopping: 6307>
zoned_clean_mop_cleaning = <RoborockStateCode.zoned_clean_mop_cleaning: 6308>
zoned_clean_mop_mopping = <RoborockStateCode.zoned_clean_mop_mopping: 6309>
back_to_dock_washing_duster = <RoborockStateCode.back_to_dock_washing_duster: 6310>