roborock.data.v1.v1_code_mappings
1from enum import StrEnum 2from typing import Self 3 4from ..code_mappings import RoborockEnum 5 6 7class RoborockFinishReason(RoborockEnum): 8 manual_interrupt = 21 # Cleaning interrupted by user 9 cleanup_interrupted = 24 # Cleanup interrupted 10 manual_interrupt_2 = 21 11 manual_interrupt_12 = (29, "manual_interrupt") 12 breakpoint = 32 # Could not continue cleaning 13 breakpoint_2 = (33, "breakpoint") 14 cleanup_interrupted_2 = (34, "cleanup_interrupted") 15 manual_interrupt_3 = (35, "manual_interrupt") 16 manual_interrupt_4 = (36, "manual_interrupt") 17 manual_interrupt_5 = (37, "manual_interrupt") 18 manual_interrupt_6 = (43, "manual_interrupt") 19 locate_fail = 45 # Positioning Failed 20 cleanup_interrupted_3 = (64, "cleanup_interrupted") 21 locate_fail_2 = (65, "locate_fail") 22 manual_interrupt_7 = (48, "manual_interrupt") 23 manual_interrupt_8 = (49, "manual_interrupt") 24 manual_interrupt_9 = (50, "manual_interrupt") 25 cleanup_interrupted_4 = (51, "cleanup_interrupted") 26 finished_cleaning = 52 # Finished cleaning 27 finished_cleaning_2 = (54, "finished_cleaning") 28 finished_cleaning_3 = (55, "finished_cleaning") 29 finished_cleaning_4 = (56, "finished_cleaning") 30 finished_clenaing_5 = (57, "finished_cleaning") 31 manual_interrupt_10 = (60, "manual_interrupt") 32 area_unreachable = 61 # Area unreachable 33 area_unreachable_2 = (62, "area_unreachable") 34 washing_error = 67 # Washing error 35 back_to_wash_failure = 68 # Failed to return to the dock 36 cleanup_interrupted_5 = (101, "cleanup_interrupted") 37 breakpoint_4 = (102, "breakpoint") 38 manual_interrupt_11 = (103, "manual_interrupt") 39 cleanup_interrupted_6 = (104, "cleanup_interrupted") 40 cleanup_interrupted_7 = (105, "cleanup_interrupted") 41 cleanup_interrupted_8 = (106, "cleanup_interrupted") 42 cleanup_interrupted_9 = (107, "cleanup_interrupted") 43 cleanup_interrupted_10 = (109, "cleanup_interrupted") 44 cleanup_interrupted_11 = (110, "cleanup_interrupted") 45 patrol_success = 114 # Cruise completed 46 patrol_fail = 115 # Cruise failed 47 pet_patrol_success = 116 # Pet found 48 pet_patrol_fail = 117 # Pet found failed 49 50 51class RoborockInCleaning(RoborockEnum): 52 complete = 0 53 global_clean_not_complete = 1 54 zone_clean_not_complete = 2 55 segment_clean_not_complete = 3 56 57 58class RoborockCleanType(RoborockEnum): 59 all_zone = 1 60 draw_zone = 2 61 select_zone = 3 62 quick_build = 4 63 video_patrol = 5 64 pet_patrol = 6 65 66 67class RoborockChargeStatus(RoborockEnum): 68 """Describes the charging status of the device.""" 69 70 unknown = -1 71 charge_waiting = 0 72 charging = 1 73 74 75class RoborockDockState(StrEnum): 76 """Synthesized high-level dock and power state of the device. 77 78 This enum represents a unified "UI-level" state that combines multiple raw 79 device data points (`state`, `charge_status`, `battery`) into a single, 80 human-readable status that accurately reflects what the vacuum is doing 81 relative to the dock. 82 83 It is highly recommended for consumers of this API 84 to use this synthesized state to determine if the vacuum is charging or 85 docked, rather than attempting to parse the raw integer data points, as 86 this safely handles backward compatibility for older models that lack 87 explicit off-peak schedule reporting. 88 """ 89 90 unknown = "unknown" 91 """The dock state could not be determined or is unmapped.""" 92 93 idle = "idle" 94 """The vacuum is away from the dock (e.g., cleaning, paused, or errored). 95 In the official app, this state presents the 'Return to Dock' or 'Recharge' action.""" 96 97 returning = "returning" 98 """The vacuum is actively navigating its way back to the dock. 99 In the official app, this state presents the 'Stop' or 'Pause' action.""" 100 101 charging = "charging" 102 """The vacuum is on the dock and actively receiving electricity. 103 In the official app, this state is displayed as 'Charging'.""" 104 105 off_peak_waiting = "off_peak_waiting" 106 """The vacuum is on the dock but charging is paused. It is waiting for the 107 user's scheduled 'Valley Electricity' off-peak hours to begin before 108 drawing power. 109 In the official app, this state is displayed as 'Charging paused during peak hours'.""" 110 111 full = "full" 112 """The vacuum is on the dock and the battery is at 100% capacity. 113 In the official app, this state is displayed as 'Fully charged'.""" 114 115 dusting = "dusting" 116 """The vacuum is on the dock and is currently being evacuated by the 117 auto-empty base. 118 In the official app, this state is displayed as 'Emptying dustbin'.""" 119 120 121class RoborockStartType(RoborockEnum): 122 button = 1 123 app = 2 124 schedule = 3 125 mi_home = 4 126 quick_start = 5 127 voice_control = 13 128 routines = 101 129 alexa = 801 130 google = 802 131 ifttt = 803 132 yandex = 804 133 homekit = 805 134 xiaoai = 806 135 tmall_genie = 807 136 duer = 808 137 dingdong = 809 138 siri = 810 139 clova = 811 140 wechat = 901 141 alipay = 902 142 aqara = 903 143 hisense = 904 144 huawei = 905 145 widget_launch = 820 146 smart_watch = 821 147 148 149class RoborockDssCodes(RoborockEnum): 150 @classmethod 151 def _missing_(cls: type[Self], key) -> Self: 152 # If the calculated value is not provided, then it should be viewed as okay. 153 # As the math will sometimes result in you getting numbers that don't matter. 154 return cls.okay # type: ignore 155 156 157class ClearWaterBoxStatus(RoborockDssCodes): 158 """Status of the clear water box.""" 159 160 okay = 0 161 out_of_water = 1 162 out_of_water_2 = (38, "out_of_water") 163 refill_error = 48 164 165 166class DirtyWaterBoxStatus(RoborockDssCodes): 167 """Status of the dirty water box.""" 168 169 okay = 0 170 full_not_installed = 1 171 full_not_installed_2 = (39, "full_not_installed") 172 drain_error = 49 173 174 175class DustBagStatus(RoborockDssCodes): 176 """Status of the dust bag.""" 177 178 okay = 0 179 not_installed = 1 180 full = 34 181 182 183class CleanFluidStatus(RoborockDssCodes): 184 """Status of the cleaning fluid container.""" 185 186 empty_not_installed = 1 187 okay = 2 188 189 190class RoborockErrorCode(RoborockEnum): 191 none = 0 192 lidar_blocked = 1 193 bumper_stuck = 2 194 wheels_suspended = 3 195 cliff_sensor_error = 4 196 main_brush_jammed = 5 197 side_brush_jammed = 6 198 wheels_jammed = 7 199 robot_trapped = 8 200 no_dustbin = 9 201 strainer_error = 10 # Filter is wet or blocked 202 compass_error = 11 # Strong magnetic field detected 203 low_battery = 12 204 charging_error = 13 205 battery_error = 14 206 wall_sensor_dirty = 15 207 robot_tilted = 16 208 side_brush_error = 17 209 fan_error = 18 210 dock = 19 # Dock not connected to power 211 optical_flow_sensor_dirt = 20 212 vertical_bumper_pressed = 21 213 dock_locator_error = 22 214 return_to_dock_fail = 23 215 nogo_zone_detected = 24 216 visual_sensor = 25 # Camera error 217 light_touch = 26 # Wall sensor error 218 vibrarise_jammed = 27 219 robot_on_carpet = 28 220 filter_blocked = 29 221 invisible_wall_detected = 30 222 cannot_cross_carpet = 31 223 internal_error = 32 224 collect_dust_error_3 = 34 # Clean auto-empty dock 225 collect_dust_error_4 = 35 # Auto empty dock voltage error 226 mopping_roller_1 = 36 # Wash roller may be jammed 227 mopping_roller_error_2 = 37 # wash roller not lowered properly 228 clear_water_box_hoare = 38 # Check the clean water tank 229 dirty_water_box_hoare = 39 # Check the dirty water tank 230 sink_strainer_hoare = 40 # Reinstall the water filter 231 clear_water_box_exception = 41 # Clean water tank empty 232 clear_brush_exception = 42 # Check that the water filter has been correctly installed 233 clear_brush_exception_2 = 43 # Positioning button error 234 filter_screen_exception = 44 # Clean the dock water filter 235 mopping_roller_2 = (45, "mopping_roller_1") # Wash roller may be jammed 236 up_water_exception = 48 237 drain_water_exception = 49 238 temperature_protection = 51 # Unit temperature protection 239 clean_carousel_exception = 52 240 clean_carousel_water_full = 53 241 water_carriage_drop = 54 242 check_clean_carouse = 55 243 audio_error = 56 244 245 246class RoborockFanPowerCode(RoborockEnum): 247 """Describes the fan power of the vacuum cleaner.""" 248 249 # Fan speeds should have the first letter capitalized - as there is no way to change the name in translations as 250 # far as I am aware 251 252 253class RoborockFanSpeedV1(RoborockFanPowerCode): 254 silent = 38 255 standard = 60 256 medium = 77 257 turbo = 90 258 259 260class RoborockFanSpeedV2(RoborockFanPowerCode): 261 silent = 101 262 balanced = 102 263 turbo = 103 264 max = 104 265 gentle = 105 266 auto = 106 267 268 269class RoborockFanSpeedV3(RoborockFanPowerCode): 270 silent = 38 271 standard = 60 272 medium = 75 273 turbo = 100 274 275 276class RoborockFanSpeedE2(RoborockFanPowerCode): 277 gentle = 41 278 silent = 50 279 standard = 68 280 medium = 79 281 turbo = 100 282 283 284class RoborockMopIntensityCode(RoborockEnum): 285 """Describes the mop intensity of the vacuum cleaner.""" 286 287 288class RoborockMopIntensityV2(RoborockMopIntensityCode): 289 """Describes the mop intensity of the vacuum cleaner.""" 290 291 off = 200 292 low = 201 293 medium = 202 294 high = 203 295 custom = 207 296 297 298class RoborockDockErrorCode(RoborockEnum): 299 """Describes the error code of the dock.""" 300 301 ok = 0 302 """No error condition.""" 303 304 no_dustbin_or_filter = 32 305 """No dock dustbin or filter installed. 306 307 This error message applies to auto-empty docks. 308 """ 309 310 auto_empty_dock_fan_error = 33 311 """Auto-Empty Dock fan error: Dock dustbin or filter out of place.""" 312 313 duct_blockage = 34 314 """Auto-Empty Dock jammed: Dock dustbin, filter, or air duct jammed, check and clean it.""" 315 316 auto_empty_dock_voltage_error = 35 317 """Auto-Empty Dock voltage error: Unable to empty the dustbin.""" 318 319 water_empty = 38 320 """Clean water tank empty: Check tank placement or refill as required.""" 321 322 waste_water_tank_full = 39 323 """Check the dirty water tank: Check tank placement or empty as required.""" 324 325 maintenance_brush_jammed = 42 326 """Self-cleaning roller error: Maintenance brush jammed. Remove and clean.""" 327 328 dirty_tank_latch_open = 44 329 """Water filter blocked: Clean and reinstall. 330 331 Make sure that the dirty water tank cover is closed and the latch is secured. 332 """ 333 334 no_dustbin = 46 335 """Dustbin not installed (Standard error for missing dustbin). 336 337 This error message applies to larger wash docks. 338 """ 339 340 cleaning_tank_full_or_blocked = 53 341 """Cleaning tank full or blocked (Water filter or sink strainer blocked/not installed).""" 342 343 344class RoborockDockTypeCode(RoborockEnum): 345 unknown = -9999 346 o0_dock = 0 347 o1_dock = 1 348 o2_dock = 2 349 o3_dock = 3 350 oc_dock = 5 351 o3_plus_dock = 6 352 o4_dock = 7 353 pearl_dock = 8 354 pearl_plus_dock = 9 355 o5_dock = 10 356 shell_2s_dock = 11 357 couple_dock = 13 358 shell_3_dock = 14 359 shell_2c_dock = 15 360 shell_3s_dock = 16 361 k1_dock = 17 362 o6_dock = 18 363 k1c_dock = 19 364 k1s_dock = 20 365 shell_e_dock = 21 366 shell_2e_dock = 22 367 shell_3c_dock = 23 368 hera_dock = 24 369 k1s_pro_dock = 26 370 type_27_dock = 27 371 k1c_lite_dock = 28 372 k1r_dock = 29 373 shell_2e_lite_dock = 30 374 shell_4rc_dock = 31 375 shell_4r_dock = 32 376 shell_4p_dock = 33 377 shell_4s_dock = 34 378 o7_dock = 35 379 k1d_dock = 37 380 shell_3p_dock = 38 381 shell_4d_dock = 39 382 shell_2e_heat_dock = 40 383 f1_dock = 41 384 f1r_dock = 42 385 f2r_dock = 43 386 f1s_dock = 44 387 o7h_dock = 45 388 f1c_dock = 46 389 390 391class RoborockDockDustCollectionModeCode(RoborockEnum): 392 """Describes the dust collection mode of the vacuum cleaner.""" 393 394 # TODO: Get the correct values for various different docks 395 unknown = -9999 396 smart = 0 397 light = 1 398 balanced = 2 399 max = 4 400 401 402class RoborockStateCode(RoborockEnum): 403 unknown = 0 404 starting = 1 405 charger_disconnected = 2 406 idle = 3 407 remote_control_active = 4 408 cleaning = 5 409 returning_home = 6 410 manual_mode = 7 411 charging = 8 412 charging_problem = 9 413 paused = 10 414 spot_cleaning = 11 415 error = 12 416 shutting_down = 13 417 updating = 14 418 docking = 15 419 going_to_target = 16 420 zoned_cleaning = 17 421 segment_cleaning = 18 422 emptying_the_bin = 22 # on s7+ 423 washing_the_mop = 23 # on a46 424 washing_the_mop_2 = (25, "washing_the_mop") 425 going_to_wash_the_mop = 26 # on a46 426 in_call = 28 427 mapping = 29 428 egg_attack = 30 429 patrol = 32 430 attaching_the_mop = 33 # on g20s ultra 431 detaching_the_mop = 34 # on g20s ultra 432 charging_complete = 100 433 device_offline = 101 434 locked = 103 435 air_drying_stopping = 202 436 robot_status_mopping = 6301 437 clean_mop_cleaning = 6302 438 clean_mop_mopping = 6303 439 segment_mopping = 6304 440 segment_clean_mop_cleaning = 6305 441 segment_clean_mop_mopping = 6306 442 zoned_mopping = 6307 443 zoned_clean_mop_cleaning = 6308 444 zoned_clean_mop_mopping = 6309 445 back_to_dock_washing_duster = 6310
8class RoborockFinishReason(RoborockEnum): 9 manual_interrupt = 21 # Cleaning interrupted by user 10 cleanup_interrupted = 24 # Cleanup interrupted 11 manual_interrupt_2 = 21 12 manual_interrupt_12 = (29, "manual_interrupt") 13 breakpoint = 32 # Could not continue cleaning 14 breakpoint_2 = (33, "breakpoint") 15 cleanup_interrupted_2 = (34, "cleanup_interrupted") 16 manual_interrupt_3 = (35, "manual_interrupt") 17 manual_interrupt_4 = (36, "manual_interrupt") 18 manual_interrupt_5 = (37, "manual_interrupt") 19 manual_interrupt_6 = (43, "manual_interrupt") 20 locate_fail = 45 # Positioning Failed 21 cleanup_interrupted_3 = (64, "cleanup_interrupted") 22 locate_fail_2 = (65, "locate_fail") 23 manual_interrupt_7 = (48, "manual_interrupt") 24 manual_interrupt_8 = (49, "manual_interrupt") 25 manual_interrupt_9 = (50, "manual_interrupt") 26 cleanup_interrupted_4 = (51, "cleanup_interrupted") 27 finished_cleaning = 52 # Finished cleaning 28 finished_cleaning_2 = (54, "finished_cleaning") 29 finished_cleaning_3 = (55, "finished_cleaning") 30 finished_cleaning_4 = (56, "finished_cleaning") 31 finished_clenaing_5 = (57, "finished_cleaning") 32 manual_interrupt_10 = (60, "manual_interrupt") 33 area_unreachable = 61 # Area unreachable 34 area_unreachable_2 = (62, "area_unreachable") 35 washing_error = 67 # Washing error 36 back_to_wash_failure = 68 # Failed to return to the dock 37 cleanup_interrupted_5 = (101, "cleanup_interrupted") 38 breakpoint_4 = (102, "breakpoint") 39 manual_interrupt_11 = (103, "manual_interrupt") 40 cleanup_interrupted_6 = (104, "cleanup_interrupted") 41 cleanup_interrupted_7 = (105, "cleanup_interrupted") 42 cleanup_interrupted_8 = (106, "cleanup_interrupted") 43 cleanup_interrupted_9 = (107, "cleanup_interrupted") 44 cleanup_interrupted_10 = (109, "cleanup_interrupted") 45 cleanup_interrupted_11 = (110, "cleanup_interrupted") 46 patrol_success = 114 # Cruise completed 47 patrol_fail = 115 # Cruise failed 48 pet_patrol_success = 116 # Pet found 49 pet_patrol_fail = 117 # Pet found failed
Roborock Enum for codes with int values
Inherited Members
52class RoborockInCleaning(RoborockEnum): 53 complete = 0 54 global_clean_not_complete = 1 55 zone_clean_not_complete = 2 56 segment_clean_not_complete = 3
Roborock Enum for codes with int values
Inherited Members
59class RoborockCleanType(RoborockEnum): 60 all_zone = 1 61 draw_zone = 2 62 select_zone = 3 63 quick_build = 4 64 video_patrol = 5 65 pet_patrol = 6
Roborock Enum for codes with int values
Inherited Members
68class RoborockChargeStatus(RoborockEnum): 69 """Describes the charging status of the device.""" 70 71 unknown = -1 72 charge_waiting = 0 73 charging = 1
Describes the charging status of the device.
Inherited Members
76class RoborockDockState(StrEnum): 77 """Synthesized high-level dock and power state of the device. 78 79 This enum represents a unified "UI-level" state that combines multiple raw 80 device data points (`state`, `charge_status`, `battery`) into a single, 81 human-readable status that accurately reflects what the vacuum is doing 82 relative to the dock. 83 84 It is highly recommended for consumers of this API 85 to use this synthesized state to determine if the vacuum is charging or 86 docked, rather than attempting to parse the raw integer data points, as 87 this safely handles backward compatibility for older models that lack 88 explicit off-peak schedule reporting. 89 """ 90 91 unknown = "unknown" 92 """The dock state could not be determined or is unmapped.""" 93 94 idle = "idle" 95 """The vacuum is away from the dock (e.g., cleaning, paused, or errored). 96 In the official app, this state presents the 'Return to Dock' or 'Recharge' action.""" 97 98 returning = "returning" 99 """The vacuum is actively navigating its way back to the dock. 100 In the official app, this state presents the 'Stop' or 'Pause' action.""" 101 102 charging = "charging" 103 """The vacuum is on the dock and actively receiving electricity. 104 In the official app, this state is displayed as 'Charging'.""" 105 106 off_peak_waiting = "off_peak_waiting" 107 """The vacuum is on the dock but charging is paused. It is waiting for the 108 user's scheduled 'Valley Electricity' off-peak hours to begin before 109 drawing power. 110 In the official app, this state is displayed as 'Charging paused during peak hours'.""" 111 112 full = "full" 113 """The vacuum is on the dock and the battery is at 100% capacity. 114 In the official app, this state is displayed as 'Fully charged'.""" 115 116 dusting = "dusting" 117 """The vacuum is on the dock and is currently being evacuated by the 118 auto-empty base. 119 In the official app, this state is displayed as 'Emptying dustbin'."""
Synthesized high-level dock and power state of the device.
This enum represents a unified "UI-level" state that combines multiple raw
device data points (state, charge_status, battery) into a single,
human-readable status that accurately reflects what the vacuum is doing
relative to the dock.
It is highly recommended for consumers of this API to use this synthesized state to determine if the vacuum is charging or docked, rather than attempting to parse the raw integer data points, as this safely handles backward compatibility for older models that lack explicit off-peak schedule reporting.
The dock state could not be determined or is unmapped.
The vacuum is away from the dock (e.g., cleaning, paused, or errored). In the official app, this state presents the 'Return to Dock' or 'Recharge' action.
The vacuum is actively navigating its way back to the dock. In the official app, this state presents the 'Stop' or 'Pause' action.
The vacuum is on the dock and actively receiving electricity. In the official app, this state is displayed as 'Charging'.
The vacuum is on the dock but charging is paused. It is waiting for the user's scheduled 'Valley Electricity' off-peak hours to begin before drawing power. In the official app, this state is displayed as 'Charging paused during peak hours'.
The vacuum is on the dock and the battery is at 100% capacity. In the official app, this state is displayed as 'Fully charged'.
The vacuum is on the dock and is currently being evacuated by the auto-empty base. In the official app, this state is displayed as 'Emptying dustbin'.
122class RoborockStartType(RoborockEnum): 123 button = 1 124 app = 2 125 schedule = 3 126 mi_home = 4 127 quick_start = 5 128 voice_control = 13 129 routines = 101 130 alexa = 801 131 google = 802 132 ifttt = 803 133 yandex = 804 134 homekit = 805 135 xiaoai = 806 136 tmall_genie = 807 137 duer = 808 138 dingdong = 809 139 siri = 810 140 clova = 811 141 wechat = 901 142 alipay = 902 143 aqara = 903 144 hisense = 904 145 huawei = 905 146 widget_launch = 820 147 smart_watch = 821
Roborock Enum for codes with int values
Inherited Members
150class RoborockDssCodes(RoborockEnum): 151 @classmethod 152 def _missing_(cls: type[Self], key) -> Self: 153 # If the calculated value is not provided, then it should be viewed as okay. 154 # As the math will sometimes result in you getting numbers that don't matter. 155 return cls.okay # type: ignore
Roborock Enum for codes with int values
Inherited Members
158class ClearWaterBoxStatus(RoborockDssCodes): 159 """Status of the clear water box.""" 160 161 okay = 0 162 out_of_water = 1 163 out_of_water_2 = (38, "out_of_water") 164 refill_error = 48
Status of the clear water box.
Inherited Members
167class DirtyWaterBoxStatus(RoborockDssCodes): 168 """Status of the dirty water box.""" 169 170 okay = 0 171 full_not_installed = 1 172 full_not_installed_2 = (39, "full_not_installed") 173 drain_error = 49
Status of the dirty water box.
Inherited Members
176class DustBagStatus(RoborockDssCodes): 177 """Status of the dust bag.""" 178 179 okay = 0 180 not_installed = 1 181 full = 34
Status of the dust bag.
Inherited Members
184class CleanFluidStatus(RoborockDssCodes): 185 """Status of the cleaning fluid container.""" 186 187 empty_not_installed = 1 188 okay = 2
Status of the cleaning fluid container.
Inherited Members
191class RoborockErrorCode(RoborockEnum): 192 none = 0 193 lidar_blocked = 1 194 bumper_stuck = 2 195 wheels_suspended = 3 196 cliff_sensor_error = 4 197 main_brush_jammed = 5 198 side_brush_jammed = 6 199 wheels_jammed = 7 200 robot_trapped = 8 201 no_dustbin = 9 202 strainer_error = 10 # Filter is wet or blocked 203 compass_error = 11 # Strong magnetic field detected 204 low_battery = 12 205 charging_error = 13 206 battery_error = 14 207 wall_sensor_dirty = 15 208 robot_tilted = 16 209 side_brush_error = 17 210 fan_error = 18 211 dock = 19 # Dock not connected to power 212 optical_flow_sensor_dirt = 20 213 vertical_bumper_pressed = 21 214 dock_locator_error = 22 215 return_to_dock_fail = 23 216 nogo_zone_detected = 24 217 visual_sensor = 25 # Camera error 218 light_touch = 26 # Wall sensor error 219 vibrarise_jammed = 27 220 robot_on_carpet = 28 221 filter_blocked = 29 222 invisible_wall_detected = 30 223 cannot_cross_carpet = 31 224 internal_error = 32 225 collect_dust_error_3 = 34 # Clean auto-empty dock 226 collect_dust_error_4 = 35 # Auto empty dock voltage error 227 mopping_roller_1 = 36 # Wash roller may be jammed 228 mopping_roller_error_2 = 37 # wash roller not lowered properly 229 clear_water_box_hoare = 38 # Check the clean water tank 230 dirty_water_box_hoare = 39 # Check the dirty water tank 231 sink_strainer_hoare = 40 # Reinstall the water filter 232 clear_water_box_exception = 41 # Clean water tank empty 233 clear_brush_exception = 42 # Check that the water filter has been correctly installed 234 clear_brush_exception_2 = 43 # Positioning button error 235 filter_screen_exception = 44 # Clean the dock water filter 236 mopping_roller_2 = (45, "mopping_roller_1") # Wash roller may be jammed 237 up_water_exception = 48 238 drain_water_exception = 49 239 temperature_protection = 51 # Unit temperature protection 240 clean_carousel_exception = 52 241 clean_carousel_water_full = 53 242 water_carriage_drop = 54 243 check_clean_carouse = 55 244 audio_error = 56
Roborock Enum for codes with int values
Inherited Members
247class RoborockFanPowerCode(RoborockEnum): 248 """Describes the fan power of the vacuum cleaner.""" 249 250 # Fan speeds should have the first letter capitalized - as there is no way to change the name in translations as 251 # far as I am aware
Describes the fan power of the vacuum cleaner.
Inherited Members
254class RoborockFanSpeedV1(RoborockFanPowerCode): 255 silent = 38 256 standard = 60 257 medium = 77 258 turbo = 90
Describes the fan power of the vacuum cleaner.
Inherited Members
261class RoborockFanSpeedV2(RoborockFanPowerCode): 262 silent = 101 263 balanced = 102 264 turbo = 103 265 max = 104 266 gentle = 105 267 auto = 106
Describes the fan power of the vacuum cleaner.
Inherited Members
270class RoborockFanSpeedV3(RoborockFanPowerCode): 271 silent = 38 272 standard = 60 273 medium = 75 274 turbo = 100
Describes the fan power of the vacuum cleaner.
Inherited Members
277class RoborockFanSpeedE2(RoborockFanPowerCode): 278 gentle = 41 279 silent = 50 280 standard = 68 281 medium = 79 282 turbo = 100
Describes the fan power of the vacuum cleaner.
Inherited Members
285class RoborockMopIntensityCode(RoborockEnum): 286 """Describes the mop intensity of the vacuum cleaner."""
Describes the mop intensity of the vacuum cleaner.
Inherited Members
289class RoborockMopIntensityV2(RoborockMopIntensityCode): 290 """Describes the mop intensity of the vacuum cleaner.""" 291 292 off = 200 293 low = 201 294 medium = 202 295 high = 203 296 custom = 207
Describes the mop intensity of the vacuum cleaner.
Inherited Members
299class RoborockDockErrorCode(RoborockEnum): 300 """Describes the error code of the dock.""" 301 302 ok = 0 303 """No error condition.""" 304 305 no_dustbin_or_filter = 32 306 """No dock dustbin or filter installed. 307 308 This error message applies to auto-empty docks. 309 """ 310 311 auto_empty_dock_fan_error = 33 312 """Auto-Empty Dock fan error: Dock dustbin or filter out of place.""" 313 314 duct_blockage = 34 315 """Auto-Empty Dock jammed: Dock dustbin, filter, or air duct jammed, check and clean it.""" 316 317 auto_empty_dock_voltage_error = 35 318 """Auto-Empty Dock voltage error: Unable to empty the dustbin.""" 319 320 water_empty = 38 321 """Clean water tank empty: Check tank placement or refill as required.""" 322 323 waste_water_tank_full = 39 324 """Check the dirty water tank: Check tank placement or empty as required.""" 325 326 maintenance_brush_jammed = 42 327 """Self-cleaning roller error: Maintenance brush jammed. Remove and clean.""" 328 329 dirty_tank_latch_open = 44 330 """Water filter blocked: Clean and reinstall. 331 332 Make sure that the dirty water tank cover is closed and the latch is secured. 333 """ 334 335 no_dustbin = 46 336 """Dustbin not installed (Standard error for missing dustbin). 337 338 This error message applies to larger wash docks. 339 """ 340 341 cleaning_tank_full_or_blocked = 53 342 """Cleaning tank full or blocked (Water filter or sink strainer blocked/not installed)."""
Describes the error code of the dock.
No dock dustbin or filter installed.
This error message applies to auto-empty docks.
Auto-Empty Dock fan error: Dock dustbin or filter out of place.
Auto-Empty Dock jammed: Dock dustbin, filter, or air duct jammed, check and clean it.
Auto-Empty Dock voltage error: Unable to empty the dustbin.
Clean water tank empty: Check tank placement or refill as required.
Check the dirty water tank: Check tank placement or empty as required.
Self-cleaning roller error: Maintenance brush jammed. Remove and clean.
Water filter blocked: Clean and reinstall.
Make sure that the dirty water tank cover is closed and the latch is secured.
Dustbin not installed (Standard error for missing dustbin).
This error message applies to larger wash docks.
Cleaning tank full or blocked (Water filter or sink strainer blocked/not installed).
Inherited Members
345class RoborockDockTypeCode(RoborockEnum): 346 unknown = -9999 347 o0_dock = 0 348 o1_dock = 1 349 o2_dock = 2 350 o3_dock = 3 351 oc_dock = 5 352 o3_plus_dock = 6 353 o4_dock = 7 354 pearl_dock = 8 355 pearl_plus_dock = 9 356 o5_dock = 10 357 shell_2s_dock = 11 358 couple_dock = 13 359 shell_3_dock = 14 360 shell_2c_dock = 15 361 shell_3s_dock = 16 362 k1_dock = 17 363 o6_dock = 18 364 k1c_dock = 19 365 k1s_dock = 20 366 shell_e_dock = 21 367 shell_2e_dock = 22 368 shell_3c_dock = 23 369 hera_dock = 24 370 k1s_pro_dock = 26 371 type_27_dock = 27 372 k1c_lite_dock = 28 373 k1r_dock = 29 374 shell_2e_lite_dock = 30 375 shell_4rc_dock = 31 376 shell_4r_dock = 32 377 shell_4p_dock = 33 378 shell_4s_dock = 34 379 o7_dock = 35 380 k1d_dock = 37 381 shell_3p_dock = 38 382 shell_4d_dock = 39 383 shell_2e_heat_dock = 40 384 f1_dock = 41 385 f1r_dock = 42 386 f2r_dock = 43 387 f1s_dock = 44 388 o7h_dock = 45 389 f1c_dock = 46
Roborock Enum for codes with int values
Inherited Members
392class RoborockDockDustCollectionModeCode(RoborockEnum): 393 """Describes the dust collection mode of the vacuum cleaner.""" 394 395 # TODO: Get the correct values for various different docks 396 unknown = -9999 397 smart = 0 398 light = 1 399 balanced = 2 400 max = 4
Describes the dust collection mode of the vacuum cleaner.
Inherited Members
403class RoborockStateCode(RoborockEnum): 404 unknown = 0 405 starting = 1 406 charger_disconnected = 2 407 idle = 3 408 remote_control_active = 4 409 cleaning = 5 410 returning_home = 6 411 manual_mode = 7 412 charging = 8 413 charging_problem = 9 414 paused = 10 415 spot_cleaning = 11 416 error = 12 417 shutting_down = 13 418 updating = 14 419 docking = 15 420 going_to_target = 16 421 zoned_cleaning = 17 422 segment_cleaning = 18 423 emptying_the_bin = 22 # on s7+ 424 washing_the_mop = 23 # on a46 425 washing_the_mop_2 = (25, "washing_the_mop") 426 going_to_wash_the_mop = 26 # on a46 427 in_call = 28 428 mapping = 29 429 egg_attack = 30 430 patrol = 32 431 attaching_the_mop = 33 # on g20s ultra 432 detaching_the_mop = 34 # on g20s ultra 433 charging_complete = 100 434 device_offline = 101 435 locked = 103 436 air_drying_stopping = 202 437 robot_status_mopping = 6301 438 clean_mop_cleaning = 6302 439 clean_mop_mopping = 6303 440 segment_mopping = 6304 441 segment_clean_mop_cleaning = 6305 442 segment_clean_mop_mopping = 6306 443 zoned_mopping = 6307 444 zoned_clean_mop_cleaning = 6308 445 zoned_clean_mop_mopping = 6309 446 back_to_dock_washing_duster = 6310
Roborock Enum for codes with int values