roborock.data.v1.v1_containers
1import datetime 2import logging 3from dataclasses import dataclass, field 4from enum import StrEnum 5from typing import Any 6 7from roborock.const import ( 8 CLEANING_BRUSH_REPLACE_TIME, 9 DUST_COLLECTION_REPLACE_TIME, 10 FILTER_REPLACE_TIME, 11 MAIN_BRUSH_REPLACE_TIME, 12 MOP_ROLLER_REPLACE_TIME, 13 NO_MAP, 14 ROBOROCK_G10S_PRO, 15 ROBOROCK_P10, 16 ROBOROCK_Q7_MAX, 17 ROBOROCK_QREVO_CURV, 18 ROBOROCK_QREVO_MASTER, 19 ROBOROCK_QREVO_MAXV, 20 ROBOROCK_QREVO_PRO, 21 ROBOROCK_QREVO_S, 22 ROBOROCK_S4_MAX, 23 ROBOROCK_S5_MAX, 24 ROBOROCK_S6, 25 ROBOROCK_S6_MAXV, 26 ROBOROCK_S6_PURE, 27 ROBOROCK_S7, 28 ROBOROCK_S7_MAXV, 29 ROBOROCK_S8, 30 ROBOROCK_S8_MAXV_ULTRA, 31 ROBOROCK_S8_PRO_ULTRA, 32 ROBOROCK_SAROS_10, 33 ROBOROCK_SAROS_10R, 34 SENSOR_DIRTY_REPLACE_TIME, 35 SIDE_BRUSH_REPLACE_TIME, 36 STRAINER_REPLACE_TIME, 37 ROBOROCK_G20S_Ultra, 38) 39from roborock.exceptions import RoborockException 40 41from ..containers import RoborockBase, RoborockBaseTimer, _attr_repr 42from .v1_code_mappings import ( 43 CleanFluidStatus, 44 ClearWaterBoxStatus, 45 DirtyWaterBoxStatus, 46 DustBagStatus, 47 RoborockCleanType, 48 RoborockDockDustCollectionModeCode, 49 RoborockDockErrorCode, 50 RoborockDockTypeCode, 51 RoborockDockWashTowelModeCode, 52 RoborockErrorCode, 53 RoborockFanPowerCode, 54 RoborockFanSpeedP10, 55 RoborockFanSpeedQ7Max, 56 RoborockFanSpeedQRevoCurv, 57 RoborockFanSpeedQRevoMaster, 58 RoborockFanSpeedQRevoMaxV, 59 RoborockFanSpeedS6Pure, 60 RoborockFanSpeedS7, 61 RoborockFanSpeedS7MaxV, 62 RoborockFanSpeedS8MaxVUltra, 63 RoborockFanSpeedSaros10, 64 RoborockFanSpeedSaros10R, 65 RoborockFinishReason, 66 RoborockInCleaning, 67 RoborockMopIntensityCode, 68 RoborockMopIntensityP10, 69 RoborockMopIntensityQ7Max, 70 RoborockMopIntensityQRevoCurv, 71 RoborockMopIntensityQRevoMaster, 72 RoborockMopIntensityQRevoMaxV, 73 RoborockMopIntensityS5Max, 74 RoborockMopIntensityS6MaxV, 75 RoborockMopIntensityS7, 76 RoborockMopIntensityS8MaxVUltra, 77 RoborockMopIntensitySaros10, 78 RoborockMopIntensitySaros10R, 79 RoborockMopModeCode, 80 RoborockMopModeQRevoCurv, 81 RoborockMopModeQRevoMaster, 82 RoborockMopModeQRevoMaxV, 83 RoborockMopModeS7, 84 RoborockMopModeS8MaxVUltra, 85 RoborockMopModeS8ProUltra, 86 RoborockMopModeSaros10, 87 RoborockMopModeSaros10R, 88 RoborockStartType, 89 RoborockStateCode, 90) 91 92_LOGGER = logging.getLogger(__name__) 93 94 95class FieldNameBase(StrEnum): 96 """A base enum class that represents a field name in a RoborockBase dataclass.""" 97 98 99class StatusField(FieldNameBase): 100 """An enum that represents a field in the `Status` class. 101 102 This is used with `roborock.devices.traits.v1.status.DeviceFeaturesTrait` 103 to understand if a feature is supported by the device using `is_field_supported`. 104 105 The enum values are names of fields in the `Status` class. Each field is 106 annotated with `requires_schema_code` metadata to map the field to a schema 107 code in the product schema, which may have a different name than the field/attribute name. 108 """ 109 110 STATE = "state" 111 BATTERY = "battery" 112 FAN_POWER = "fan_power" 113 WATER_BOX_MODE = "water_box_mode" 114 CHARGE_STATUS = "charge_status" 115 DRY_STATUS = "dry_status" 116 117 118def _requires_schema_code(requires_schema_code: str, default=None) -> Any: 119 return field(metadata={"requires_schema_code": requires_schema_code}, default=default) 120 121 122@dataclass 123class Status(RoborockBase): 124 msg_ver: int | None = None 125 msg_seq: int | None = None 126 state: RoborockStateCode | None = _requires_schema_code("state", default=None) 127 battery: int | None = _requires_schema_code("battery", default=None) 128 clean_time: int | None = None 129 clean_area: int | None = None 130 error_code: RoborockErrorCode | None = None 131 map_present: int | None = None 132 in_cleaning: RoborockInCleaning | None = None 133 in_returning: int | None = None 134 in_fresh_state: int | None = None 135 lab_status: int | None = None 136 water_box_status: int | None = None 137 back_type: int | None = None 138 wash_phase: int | None = None 139 wash_ready: int | None = None 140 fan_power: RoborockFanPowerCode | None = _requires_schema_code("fan_power", default=None) 141 dnd_enabled: int | None = None 142 map_status: int | None = None 143 is_locating: int | None = None 144 lock_status: int | None = None 145 water_box_mode: RoborockMopIntensityCode | None = _requires_schema_code("water_box_mode", default=None) 146 water_box_carriage_status: int | None = None 147 mop_forbidden_enable: int | None = None 148 camera_status: int | None = None 149 is_exploring: int | None = None 150 home_sec_status: int | None = None 151 home_sec_enable_password: int | None = None 152 adbumper_status: list[int] | None = None 153 water_shortage_status: int | None = None 154 dock_type: RoborockDockTypeCode | None = None 155 dust_collection_status: int | None = None 156 auto_dust_collection: int | None = None 157 avoid_count: int | None = None 158 mop_mode: RoborockMopModeCode | None = None 159 debug_mode: int | None = None 160 collision_avoid_status: int | None = None 161 switch_map_mode: int | None = None 162 dock_error_status: RoborockDockErrorCode | None = None 163 charge_status: int | None = _requires_schema_code("charge_status", default=None) 164 unsave_map_reason: int | None = None 165 unsave_map_flag: int | None = None 166 wash_status: int | None = None 167 distance_off: int | None = None 168 in_warmup: int | None = None 169 dry_status: int | None = _requires_schema_code("drying_status", default=None) 170 rdt: int | None = None 171 clean_percent: int | None = None 172 rss: int | None = None 173 dss: int | None = None 174 common_status: int | None = None 175 corner_clean_mode: int | None = None 176 last_clean_t: int | None = None 177 replenish_mode: int | None = None 178 repeat: int | None = None 179 kct: int | None = None 180 subdivision_sets: int | None = None 181 182 @property 183 def square_meter_clean_area(self) -> float | None: 184 return round(self.clean_area / 1000000, 1) if self.clean_area is not None else None 185 186 @property 187 def error_code_name(self) -> str | None: 188 return self.error_code.name if self.error_code is not None else None 189 190 @property 191 def state_name(self) -> str | None: 192 return self.state.name if self.state is not None else None 193 194 @property 195 def water_box_mode_name(self) -> str | None: 196 return self.water_box_mode.name if self.water_box_mode is not None else None 197 198 @property 199 def fan_power_options(self) -> list[str]: 200 if self.fan_power is None: 201 return [] 202 return list(self.fan_power.keys()) 203 204 @property 205 def fan_power_name(self) -> str | None: 206 return self.fan_power.name if self.fan_power is not None else None 207 208 @property 209 def mop_mode_name(self) -> str | None: 210 return self.mop_mode.name if self.mop_mode is not None else None 211 212 def get_fan_speed_code(self, fan_speed: str) -> int: 213 if self.fan_power is None: 214 raise RoborockException("Attempted to get fan speed before status has been updated.") 215 return self.fan_power.as_dict().get(fan_speed) 216 217 def get_mop_intensity_code(self, mop_intensity: str) -> int: 218 if self.water_box_mode is None: 219 raise RoborockException("Attempted to get mop_intensity before status has been updated.") 220 return self.water_box_mode.as_dict().get(mop_intensity) 221 222 def get_mop_mode_code(self, mop_mode: str) -> int: 223 if self.mop_mode is None: 224 raise RoborockException("Attempted to get mop_mode before status has been updated.") 225 return self.mop_mode.as_dict().get(mop_mode) 226 227 @property 228 def current_map(self) -> int | None: 229 """Returns the current map ID if the map is present.""" 230 if self.map_status is not None: 231 map_flag = self.map_status >> 2 232 if map_flag != NO_MAP: 233 return map_flag 234 return None 235 236 @property 237 def clear_water_box_status(self) -> ClearWaterBoxStatus | None: 238 if self.dss: 239 return ClearWaterBoxStatus((self.dss >> 2) & 3) 240 return None 241 242 @property 243 def dirty_water_box_status(self) -> DirtyWaterBoxStatus | None: 244 if self.dss: 245 return DirtyWaterBoxStatus((self.dss >> 4) & 3) 246 return None 247 248 @property 249 def dust_bag_status(self) -> DustBagStatus | None: 250 if self.dss: 251 return DustBagStatus((self.dss >> 6) & 3) 252 return None 253 254 @property 255 def water_box_filter_status(self) -> int | None: 256 if self.dss: 257 return (self.dss >> 8) & 3 258 return None 259 260 @property 261 def clean_fluid_status(self) -> CleanFluidStatus | None: 262 if self.dss: 263 value = (self.dss >> 10) & 3 264 if value == 0: 265 return None # Feature not supported by this device 266 return CleanFluidStatus(value) 267 return None 268 269 @property 270 def hatch_door_status(self) -> int | None: 271 if self.dss: 272 return (self.dss >> 12) & 7 273 return None 274 275 @property 276 def dock_cool_fan_status(self) -> int | None: 277 if self.dss: 278 return (self.dss >> 15) & 3 279 return None 280 281 def __repr__(self) -> str: 282 return _attr_repr(self) 283 284 285@dataclass 286class S4MaxStatus(Status): 287 fan_power: RoborockFanSpeedS6Pure | None = None 288 water_box_mode: RoborockMopIntensityS7 | None = None 289 mop_mode: RoborockMopModeS7 | None = None 290 291 292@dataclass 293class S5MaxStatus(Status): 294 fan_power: RoborockFanSpeedS6Pure | None = None 295 water_box_mode: RoborockMopIntensityS5Max | None = None 296 297 298@dataclass 299class Q7MaxStatus(Status): 300 fan_power: RoborockFanSpeedQ7Max | None = None 301 water_box_mode: RoborockMopIntensityQ7Max | None = None 302 303 304@dataclass 305class QRevoMasterStatus(Status): 306 fan_power: RoborockFanSpeedQRevoMaster | None = None 307 water_box_mode: RoborockMopIntensityQRevoMaster | None = None 308 mop_mode: RoborockMopModeQRevoMaster | None = None 309 310 311@dataclass 312class QRevoCurvStatus(Status): 313 fan_power: RoborockFanSpeedQRevoCurv | None = None 314 water_box_mode: RoborockMopIntensityQRevoCurv | None = None 315 mop_mode: RoborockMopModeQRevoCurv | None = None 316 317 318@dataclass 319class QRevoMaxVStatus(Status): 320 fan_power: RoborockFanSpeedQRevoMaxV | None = None 321 water_box_mode: RoborockMopIntensityQRevoMaxV | None = None 322 mop_mode: RoborockMopModeQRevoMaxV | None = None 323 324 325@dataclass 326class S6MaxVStatus(Status): 327 fan_power: RoborockFanSpeedS7MaxV | None = None 328 water_box_mode: RoborockMopIntensityS6MaxV | None = None 329 330 331@dataclass 332class S6PureStatus(Status): 333 fan_power: RoborockFanSpeedS6Pure | None = None 334 335 336@dataclass 337class S7MaxVStatus(Status): 338 fan_power: RoborockFanSpeedS7MaxV | None = None 339 water_box_mode: RoborockMopIntensityS7 | None = None 340 mop_mode: RoborockMopModeS7 | None = None 341 342 343@dataclass 344class S7Status(Status): 345 fan_power: RoborockFanSpeedS7 | None = None 346 water_box_mode: RoborockMopIntensityS7 | None = None 347 mop_mode: RoborockMopModeS7 | None = None 348 349 350@dataclass 351class S8ProUltraStatus(Status): 352 fan_power: RoborockFanSpeedS7MaxV | None = None 353 water_box_mode: RoborockMopIntensityS7 | None = None 354 mop_mode: RoborockMopModeS8ProUltra | None = None 355 356 357@dataclass 358class S8Status(Status): 359 fan_power: RoborockFanSpeedS7MaxV | None = None 360 water_box_mode: RoborockMopIntensityS7 | None = None 361 mop_mode: RoborockMopModeS8ProUltra | None = None 362 363 364@dataclass 365class P10Status(Status): 366 fan_power: RoborockFanSpeedP10 | None = None 367 water_box_mode: RoborockMopIntensityP10 | None = None 368 mop_mode: RoborockMopModeS8ProUltra | None = None 369 370 371@dataclass 372class S8MaxvUltraStatus(Status): 373 fan_power: RoborockFanSpeedS8MaxVUltra | None = None 374 water_box_mode: RoborockMopIntensityS8MaxVUltra | None = None 375 mop_mode: RoborockMopModeS8MaxVUltra | None = None 376 377 378@dataclass 379class Saros10RStatus(Status): 380 fan_power: RoborockFanSpeedSaros10R | None = None 381 water_box_mode: RoborockMopIntensitySaros10R | None = None 382 mop_mode: RoborockMopModeSaros10R | None = None 383 384 385@dataclass 386class Saros10Status(Status): 387 fan_power: RoborockFanSpeedSaros10 | None = None 388 water_box_mode: RoborockMopIntensitySaros10 | None = None 389 mop_mode: RoborockMopModeSaros10 | None = None 390 391 392ModelStatus: dict[str, type[Status]] = { 393 ROBOROCK_S4_MAX: S4MaxStatus, 394 ROBOROCK_S5_MAX: S5MaxStatus, 395 ROBOROCK_Q7_MAX: Q7MaxStatus, 396 ROBOROCK_QREVO_MASTER: QRevoMasterStatus, 397 ROBOROCK_QREVO_CURV: QRevoCurvStatus, 398 ROBOROCK_S6: S6PureStatus, 399 ROBOROCK_S6_MAXV: S6MaxVStatus, 400 ROBOROCK_S6_PURE: S6PureStatus, 401 ROBOROCK_S7_MAXV: S7MaxVStatus, 402 ROBOROCK_S7: S7Status, 403 ROBOROCK_S8: S8Status, 404 ROBOROCK_S8_PRO_ULTRA: S8ProUltraStatus, 405 ROBOROCK_G10S_PRO: S7MaxVStatus, 406 ROBOROCK_G20S_Ultra: QRevoMasterStatus, 407 ROBOROCK_P10: P10Status, 408 # These likely are not correct, 409 # but i am currently unable to do my typical reverse engineering/ get any data from users on this, 410 # so this will be here in the mean time. 411 ROBOROCK_QREVO_S: P10Status, 412 ROBOROCK_QREVO_MAXV: QRevoMaxVStatus, 413 ROBOROCK_QREVO_PRO: P10Status, 414 ROBOROCK_S8_MAXV_ULTRA: S8MaxvUltraStatus, 415 ROBOROCK_SAROS_10R: Saros10RStatus, 416 ROBOROCK_SAROS_10: Saros10Status, 417} 418 419 420@dataclass 421class DnDTimer(RoborockBaseTimer): 422 """DnDTimer""" 423 424 425@dataclass 426class ValleyElectricityTimer(RoborockBaseTimer): 427 """ValleyElectricityTimer""" 428 429 430@dataclass 431class CleanSummary(RoborockBase): 432 clean_time: int | None = None 433 clean_area: int | None = None 434 clean_count: int | None = None 435 dust_collection_count: int | None = None 436 records: list[int] | None = None 437 last_clean_t: int | None = None 438 439 @property 440 def square_meter_clean_area(self) -> float | None: 441 """Returns the clean area in square meters.""" 442 if isinstance(self.clean_area, list | str): 443 _LOGGER.warning(f"Clean area is a unexpected type! Please give the following in a issue: {self.clean_area}") 444 return None 445 return round(self.clean_area / 1000000, 1) if self.clean_area is not None else None 446 447 def __repr__(self) -> str: 448 """Return a string representation of the object including all attributes.""" 449 return _attr_repr(self) 450 451 452@dataclass 453class CleanRecord(RoborockBase): 454 begin: int | None = None 455 end: int | None = None 456 duration: int | None = None 457 area: int | None = None 458 error: int | None = None 459 complete: int | None = None 460 start_type: RoborockStartType | None = None 461 clean_type: RoborockCleanType | None = None 462 finish_reason: RoborockFinishReason | None = None 463 dust_collection_status: int | None = None 464 avoid_count: int | None = None 465 wash_count: int | None = None 466 map_flag: int | None = None 467 468 @property 469 def square_meter_area(self) -> float | None: 470 return round(self.area / 1000000, 1) if self.area is not None else None 471 472 @property 473 def begin_datetime(self) -> datetime.datetime | None: 474 return datetime.datetime.fromtimestamp(self.begin).astimezone(datetime.UTC) if self.begin else None 475 476 @property 477 def end_datetime(self) -> datetime.datetime | None: 478 return datetime.datetime.fromtimestamp(self.end).astimezone(datetime.UTC) if self.end else None 479 480 def __repr__(self) -> str: 481 return _attr_repr(self) 482 483 484class CleanSummaryWithDetail(CleanSummary): 485 """CleanSummary with the last CleanRecord included.""" 486 487 last_clean_record: CleanRecord | None = None 488 489 490@dataclass 491class Consumable(RoborockBase): 492 main_brush_work_time: int | None = None 493 side_brush_work_time: int | None = None 494 filter_work_time: int | None = None 495 filter_element_work_time: int | None = None 496 sensor_dirty_time: int | None = None 497 strainer_work_times: int | None = None 498 dust_collection_work_times: int | None = None 499 cleaning_brush_work_times: int | None = None 500 moproller_work_time: int | None = None 501 502 @property 503 def main_brush_time_left(self) -> int | None: 504 return MAIN_BRUSH_REPLACE_TIME - self.main_brush_work_time if self.main_brush_work_time is not None else None 505 506 @property 507 def side_brush_time_left(self) -> int | None: 508 return SIDE_BRUSH_REPLACE_TIME - self.side_brush_work_time if self.side_brush_work_time is not None else None 509 510 @property 511 def filter_time_left(self) -> int | None: 512 return FILTER_REPLACE_TIME - self.filter_work_time if self.filter_work_time is not None else None 513 514 @property 515 def sensor_time_left(self) -> int | None: 516 return SENSOR_DIRTY_REPLACE_TIME - self.sensor_dirty_time if self.sensor_dirty_time is not None else None 517 518 @property 519 def strainer_time_left(self) -> int | None: 520 return STRAINER_REPLACE_TIME - self.strainer_work_times if self.strainer_work_times is not None else None 521 522 @property 523 def dust_collection_time_left(self) -> int | None: 524 return ( 525 DUST_COLLECTION_REPLACE_TIME - self.dust_collection_work_times 526 if self.dust_collection_work_times is not None 527 else None 528 ) 529 530 @property 531 def cleaning_brush_time_left(self) -> int | None: 532 return ( 533 CLEANING_BRUSH_REPLACE_TIME - self.cleaning_brush_work_times 534 if self.cleaning_brush_work_times is not None 535 else None 536 ) 537 538 @property 539 def mop_roller_time_left(self) -> int | None: 540 return MOP_ROLLER_REPLACE_TIME - self.moproller_work_time if self.moproller_work_time is not None else None 541 542 def __repr__(self) -> str: 543 return _attr_repr(self) 544 545 546@dataclass 547class MultiMapsListRoom(RoborockBase): 548 id: int | None = None 549 tag: int | None = None 550 iot_name_id: str | None = None 551 iot_name: str | None = None 552 553 554@dataclass 555class MultiMapsListMapInfoBakMaps(RoborockBase): 556 mapflag: Any | None = None 557 add_time: Any | None = None 558 559 560@dataclass 561class MultiMapsListMapInfo(RoborockBase): 562 map_flag: int 563 name: str 564 add_time: Any | None = None 565 length: Any | None = None 566 bak_maps: list[MultiMapsListMapInfoBakMaps] | None = None 567 rooms: list[MultiMapsListRoom] | None = None 568 569 @property 570 def mapFlag(self) -> int: 571 """Alias for map_flag, returns the map flag as an integer.""" 572 return self.map_flag 573 574 575@dataclass 576class MultiMapsList(RoborockBase): 577 max_multi_map: int | None = None 578 max_bak_map: int | None = None 579 multi_map_count: int | None = None 580 map_info: list[MultiMapsListMapInfo] | None = None 581 582 583@dataclass 584class SmartWashParams(RoborockBase): 585 smart_wash: int | None = None 586 wash_interval: int | None = None 587 588 589@dataclass 590class DustCollectionMode(RoborockBase): 591 mode: RoborockDockDustCollectionModeCode | None = None 592 593 594@dataclass 595class WashTowelMode(RoborockBase): 596 wash_mode: RoborockDockWashTowelModeCode | None = None 597 598 599@dataclass 600class NetworkInfo(RoborockBase): 601 ip: str 602 ssid: str | None = None 603 mac: str | None = None 604 bssid: str | None = None 605 rssi: int | None = None 606 607 608@dataclass 609class AppInitStatusLocalInfo(RoborockBase): 610 location: str 611 bom: str | None = None 612 featureset: int | None = None 613 language: str | None = None 614 logserver: str | None = None 615 wifiplan: str | None = None 616 timezone: str | None = None 617 name: str | None = None 618 619 620@dataclass 621class AppInitStatus(RoborockBase): 622 local_info: AppInitStatusLocalInfo 623 feature_info: list[int] 624 new_feature_info: int 625 new_feature_info_str: str = "" 626 new_feature_info_2: int | None = None 627 carriage_type: int | None = None 628 dsp_version: str | None = None 629 630 631@dataclass 632class ChildLockStatus(RoborockBase): 633 lock_status: int = 0 634 635 636@dataclass 637class FlowLedStatus(RoborockBase): 638 status: int = 0 639 640 641@dataclass 642class LedStatus(RoborockBase): 643 status: int = 0
class
FieldNameBase(enum.StrEnum):
96class FieldNameBase(StrEnum): 97 """A base enum class that represents a field name in a RoborockBase dataclass."""
A base enum class that represents a field name in a RoborockBase dataclass.
100class StatusField(FieldNameBase): 101 """An enum that represents a field in the `Status` class. 102 103 This is used with `roborock.devices.traits.v1.status.DeviceFeaturesTrait` 104 to understand if a feature is supported by the device using `is_field_supported`. 105 106 The enum values are names of fields in the `Status` class. Each field is 107 annotated with `requires_schema_code` metadata to map the field to a schema 108 code in the product schema, which may have a different name than the field/attribute name. 109 """ 110 111 STATE = "state" 112 BATTERY = "battery" 113 FAN_POWER = "fan_power" 114 WATER_BOX_MODE = "water_box_mode" 115 CHARGE_STATUS = "charge_status" 116 DRY_STATUS = "dry_status"
An enum that represents a field in the Status class.
This is used with roborock.devices.traits.v1.status.DeviceFeaturesTrait
to understand if a feature is supported by the device using is_field_supported.
The enum values are names of fields in the Status class. Each field is
annotated with requires_schema_code metadata to map the field to a schema
code in the product schema, which may have a different name than the field/attribute name.
STATE =
<StatusField.STATE: 'state'>
BATTERY =
<StatusField.BATTERY: 'battery'>
FAN_POWER =
<StatusField.FAN_POWER: 'fan_power'>
WATER_BOX_MODE =
<StatusField.WATER_BOX_MODE: 'water_box_mode'>
CHARGE_STATUS =
<StatusField.CHARGE_STATUS: 'charge_status'>
DRY_STATUS =
<StatusField.DRY_STATUS: 'dry_status'>
123@dataclass 124class Status(RoborockBase): 125 msg_ver: int | None = None 126 msg_seq: int | None = None 127 state: RoborockStateCode | None = _requires_schema_code("state", default=None) 128 battery: int | None = _requires_schema_code("battery", default=None) 129 clean_time: int | None = None 130 clean_area: int | None = None 131 error_code: RoborockErrorCode | None = None 132 map_present: int | None = None 133 in_cleaning: RoborockInCleaning | None = None 134 in_returning: int | None = None 135 in_fresh_state: int | None = None 136 lab_status: int | None = None 137 water_box_status: int | None = None 138 back_type: int | None = None 139 wash_phase: int | None = None 140 wash_ready: int | None = None 141 fan_power: RoborockFanPowerCode | None = _requires_schema_code("fan_power", default=None) 142 dnd_enabled: int | None = None 143 map_status: int | None = None 144 is_locating: int | None = None 145 lock_status: int | None = None 146 water_box_mode: RoborockMopIntensityCode | None = _requires_schema_code("water_box_mode", default=None) 147 water_box_carriage_status: int | None = None 148 mop_forbidden_enable: int | None = None 149 camera_status: int | None = None 150 is_exploring: int | None = None 151 home_sec_status: int | None = None 152 home_sec_enable_password: int | None = None 153 adbumper_status: list[int] | None = None 154 water_shortage_status: int | None = None 155 dock_type: RoborockDockTypeCode | None = None 156 dust_collection_status: int | None = None 157 auto_dust_collection: int | None = None 158 avoid_count: int | None = None 159 mop_mode: RoborockMopModeCode | None = None 160 debug_mode: int | None = None 161 collision_avoid_status: int | None = None 162 switch_map_mode: int | None = None 163 dock_error_status: RoborockDockErrorCode | None = None 164 charge_status: int | None = _requires_schema_code("charge_status", default=None) 165 unsave_map_reason: int | None = None 166 unsave_map_flag: int | None = None 167 wash_status: int | None = None 168 distance_off: int | None = None 169 in_warmup: int | None = None 170 dry_status: int | None = _requires_schema_code("drying_status", default=None) 171 rdt: int | None = None 172 clean_percent: int | None = None 173 rss: int | None = None 174 dss: int | None = None 175 common_status: int | None = None 176 corner_clean_mode: int | None = None 177 last_clean_t: int | None = None 178 replenish_mode: int | None = None 179 repeat: int | None = None 180 kct: int | None = None 181 subdivision_sets: int | None = None 182 183 @property 184 def square_meter_clean_area(self) -> float | None: 185 return round(self.clean_area / 1000000, 1) if self.clean_area is not None else None 186 187 @property 188 def error_code_name(self) -> str | None: 189 return self.error_code.name if self.error_code is not None else None 190 191 @property 192 def state_name(self) -> str | None: 193 return self.state.name if self.state is not None else None 194 195 @property 196 def water_box_mode_name(self) -> str | None: 197 return self.water_box_mode.name if self.water_box_mode is not None else None 198 199 @property 200 def fan_power_options(self) -> list[str]: 201 if self.fan_power is None: 202 return [] 203 return list(self.fan_power.keys()) 204 205 @property 206 def fan_power_name(self) -> str | None: 207 return self.fan_power.name if self.fan_power is not None else None 208 209 @property 210 def mop_mode_name(self) -> str | None: 211 return self.mop_mode.name if self.mop_mode is not None else None 212 213 def get_fan_speed_code(self, fan_speed: str) -> int: 214 if self.fan_power is None: 215 raise RoborockException("Attempted to get fan speed before status has been updated.") 216 return self.fan_power.as_dict().get(fan_speed) 217 218 def get_mop_intensity_code(self, mop_intensity: str) -> int: 219 if self.water_box_mode is None: 220 raise RoborockException("Attempted to get mop_intensity before status has been updated.") 221 return self.water_box_mode.as_dict().get(mop_intensity) 222 223 def get_mop_mode_code(self, mop_mode: str) -> int: 224 if self.mop_mode is None: 225 raise RoborockException("Attempted to get mop_mode before status has been updated.") 226 return self.mop_mode.as_dict().get(mop_mode) 227 228 @property 229 def current_map(self) -> int | None: 230 """Returns the current map ID if the map is present.""" 231 if self.map_status is not None: 232 map_flag = self.map_status >> 2 233 if map_flag != NO_MAP: 234 return map_flag 235 return None 236 237 @property 238 def clear_water_box_status(self) -> ClearWaterBoxStatus | None: 239 if self.dss: 240 return ClearWaterBoxStatus((self.dss >> 2) & 3) 241 return None 242 243 @property 244 def dirty_water_box_status(self) -> DirtyWaterBoxStatus | None: 245 if self.dss: 246 return DirtyWaterBoxStatus((self.dss >> 4) & 3) 247 return None 248 249 @property 250 def dust_bag_status(self) -> DustBagStatus | None: 251 if self.dss: 252 return DustBagStatus((self.dss >> 6) & 3) 253 return None 254 255 @property 256 def water_box_filter_status(self) -> int | None: 257 if self.dss: 258 return (self.dss >> 8) & 3 259 return None 260 261 @property 262 def clean_fluid_status(self) -> CleanFluidStatus | None: 263 if self.dss: 264 value = (self.dss >> 10) & 3 265 if value == 0: 266 return None # Feature not supported by this device 267 return CleanFluidStatus(value) 268 return None 269 270 @property 271 def hatch_door_status(self) -> int | None: 272 if self.dss: 273 return (self.dss >> 12) & 7 274 return None 275 276 @property 277 def dock_cool_fan_status(self) -> int | None: 278 if self.dss: 279 return (self.dss >> 15) & 3 280 return None 281 282 def __repr__(self) -> str: 283 return _attr_repr(self)
Status( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanPowerCode | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityCode | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeCode | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
current_map: int | None
228 @property 229 def current_map(self) -> int | None: 230 """Returns the current map ID if the map is present.""" 231 if self.map_status is not None: 232 map_flag = self.map_status >> 2 233 if map_flag != NO_MAP: 234 return map_flag 235 return None
Returns the current map ID if the map is present.
clear_water_box_status: roborock.data.v1.v1_code_mappings.ClearWaterBoxStatus | None
dirty_water_box_status: roborock.data.v1.v1_code_mappings.DirtyWaterBoxStatus | None
dust_bag_status: roborock.data.v1.v1_code_mappings.DustBagStatus | None
clean_fluid_status: roborock.data.v1.v1_code_mappings.CleanFluidStatus | None
Inherited Members
286@dataclass 287class S4MaxStatus(Status): 288 fan_power: RoborockFanSpeedS6Pure | None = None 289 water_box_mode: RoborockMopIntensityS7 | None = None 290 mop_mode: RoborockMopModeS7 | None = None
S4MaxStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS6Pure | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS7 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS7 | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
293@dataclass 294class S5MaxStatus(Status): 295 fan_power: RoborockFanSpeedS6Pure | None = None 296 water_box_mode: RoborockMopIntensityS5Max | None = None
S5MaxStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS6Pure | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS5Max | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeCode | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- mop_mode
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
299@dataclass 300class Q7MaxStatus(Status): 301 fan_power: RoborockFanSpeedQ7Max | None = None 302 water_box_mode: RoborockMopIntensityQ7Max | None = None
Q7MaxStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedQ7Max | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityQ7Max | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeCode | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- mop_mode
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
305@dataclass 306class QRevoMasterStatus(Status): 307 fan_power: RoborockFanSpeedQRevoMaster | None = None 308 water_box_mode: RoborockMopIntensityQRevoMaster | None = None 309 mop_mode: RoborockMopModeQRevoMaster | None = None
QRevoMasterStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedQRevoMaster | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityQRevoMaster | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeQRevoMaster | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
312@dataclass 313class QRevoCurvStatus(Status): 314 fan_power: RoborockFanSpeedQRevoCurv | None = None 315 water_box_mode: RoborockMopIntensityQRevoCurv | None = None 316 mop_mode: RoborockMopModeQRevoCurv | None = None
QRevoCurvStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedQRevoCurv | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityQRevoCurv | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeQRevoCurv | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
319@dataclass 320class QRevoMaxVStatus(Status): 321 fan_power: RoborockFanSpeedQRevoMaxV | None = None 322 water_box_mode: RoborockMopIntensityQRevoMaxV | None = None 323 mop_mode: RoborockMopModeQRevoMaxV | None = None
QRevoMaxVStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedQRevoMaxV | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityQRevoMaxV | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeQRevoMaxV | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
326@dataclass 327class S6MaxVStatus(Status): 328 fan_power: RoborockFanSpeedS7MaxV | None = None 329 water_box_mode: RoborockMopIntensityS6MaxV | None = None
S6MaxVStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS7MaxV | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS6MaxV | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeCode | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- mop_mode
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
S6PureStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS6Pure | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityCode | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeCode | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_mode
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- mop_mode
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
337@dataclass 338class S7MaxVStatus(Status): 339 fan_power: RoborockFanSpeedS7MaxV | None = None 340 water_box_mode: RoborockMopIntensityS7 | None = None 341 mop_mode: RoborockMopModeS7 | None = None
S7MaxVStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS7MaxV | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS7 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS7 | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
344@dataclass 345class S7Status(Status): 346 fan_power: RoborockFanSpeedS7 | None = None 347 water_box_mode: RoborockMopIntensityS7 | None = None 348 mop_mode: RoborockMopModeS7 | None = None
S7Status( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS7 | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS7 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS7 | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
351@dataclass 352class S8ProUltraStatus(Status): 353 fan_power: RoborockFanSpeedS7MaxV | None = None 354 water_box_mode: RoborockMopIntensityS7 | None = None 355 mop_mode: RoborockMopModeS8ProUltra | None = None
S8ProUltraStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS7MaxV | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS7 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS8ProUltra | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
358@dataclass 359class S8Status(Status): 360 fan_power: RoborockFanSpeedS7MaxV | None = None 361 water_box_mode: RoborockMopIntensityS7 | None = None 362 mop_mode: RoborockMopModeS8ProUltra | None = None
S8Status( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS7MaxV | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS7 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS8ProUltra | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
365@dataclass 366class P10Status(Status): 367 fan_power: RoborockFanSpeedP10 | None = None 368 water_box_mode: RoborockMopIntensityP10 | None = None 369 mop_mode: RoborockMopModeS8ProUltra | None = None
P10Status( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedP10 | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityP10 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS8ProUltra | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
372@dataclass 373class S8MaxvUltraStatus(Status): 374 fan_power: RoborockFanSpeedS8MaxVUltra | None = None 375 water_box_mode: RoborockMopIntensityS8MaxVUltra | None = None 376 mop_mode: RoborockMopModeS8MaxVUltra | None = None
S8MaxvUltraStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedS8MaxVUltra | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensityS8MaxVUltra | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeS8MaxVUltra | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
379@dataclass 380class Saros10RStatus(Status): 381 fan_power: RoborockFanSpeedSaros10R | None = None 382 water_box_mode: RoborockMopIntensitySaros10R | None = None 383 mop_mode: RoborockMopModeSaros10R | None = None
Saros10RStatus( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedSaros10R | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensitySaros10R | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeSaros10R | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
386@dataclass 387class Saros10Status(Status): 388 fan_power: RoborockFanSpeedSaros10 | None = None 389 water_box_mode: RoborockMopIntensitySaros10 | None = None 390 mop_mode: RoborockMopModeSaros10 | None = None
Saros10Status( msg_ver: int | None = None, msg_seq: int | None = None, state: roborock.data.v1.v1_code_mappings.RoborockStateCode | None = None, battery: int | None = None, clean_time: int | None = None, clean_area: int | None = None, error_code: roborock.data.v1.v1_code_mappings.RoborockErrorCode | None = None, map_present: int | None = None, in_cleaning: roborock.data.v1.v1_code_mappings.RoborockInCleaning | None = None, in_returning: int | None = None, in_fresh_state: int | None = None, lab_status: int | None = None, water_box_status: int | None = None, back_type: int | None = None, wash_phase: int | None = None, wash_ready: int | None = None, fan_power: roborock.data.v1.v1_code_mappings.RoborockFanSpeedSaros10 | None = None, dnd_enabled: int | None = None, map_status: int | None = None, is_locating: int | None = None, lock_status: int | None = None, water_box_mode: roborock.data.v1.v1_code_mappings.RoborockMopIntensitySaros10 | None = None, water_box_carriage_status: int | None = None, mop_forbidden_enable: int | None = None, camera_status: int | None = None, is_exploring: int | None = None, home_sec_status: int | None = None, home_sec_enable_password: int | None = None, adbumper_status: list[int] | None = None, water_shortage_status: int | None = None, dock_type: roborock.data.v1.v1_code_mappings.RoborockDockTypeCode | None = None, dust_collection_status: int | None = None, auto_dust_collection: int | None = None, avoid_count: int | None = None, mop_mode: roborock.data.v1.v1_code_mappings.RoborockMopModeSaros10 | None = None, debug_mode: int | None = None, collision_avoid_status: int | None = None, switch_map_mode: int | None = None, dock_error_status: roborock.data.v1.v1_code_mappings.RoborockDockErrorCode | None = None, charge_status: int | None = None, unsave_map_reason: int | None = None, unsave_map_flag: int | None = None, wash_status: int | None = None, distance_off: int | None = None, in_warmup: int | None = None, dry_status: int | None = None, rdt: int | None = None, clean_percent: int | None = None, rss: int | None = None, dss: int | None = None, common_status: int | None = None, corner_clean_mode: int | None = None, last_clean_t: int | None = None, replenish_mode: int | None = None, repeat: int | None = None, kct: int | None = None, subdivision_sets: int | None = None)
Inherited Members
- Status
- msg_ver
- msg_seq
- state
- battery
- clean_time
- clean_area
- error_code
- map_present
- in_cleaning
- in_returning
- in_fresh_state
- lab_status
- water_box_status
- back_type
- wash_phase
- wash_ready
- dnd_enabled
- map_status
- is_locating
- lock_status
- water_box_carriage_status
- mop_forbidden_enable
- camera_status
- is_exploring
- home_sec_status
- home_sec_enable_password
- adbumper_status
- water_shortage_status
- dock_type
- dust_collection_status
- auto_dust_collection
- avoid_count
- debug_mode
- collision_avoid_status
- switch_map_mode
- dock_error_status
- charge_status
- unsave_map_reason
- unsave_map_flag
- wash_status
- distance_off
- in_warmup
- dry_status
- rdt
- clean_percent
- rss
- dss
- common_status
- corner_clean_mode
- last_clean_t
- replenish_mode
- repeat
- kct
- subdivision_sets
- square_meter_clean_area
- error_code_name
- state_name
- water_box_mode_name
- fan_power_options
- fan_power_name
- mop_mode_name
- get_fan_speed_code
- get_mop_intensity_code
- get_mop_mode_code
- current_map
- clear_water_box_status
- dirty_water_box_status
- dust_bag_status
- water_box_filter_status
- clean_fluid_status
- hatch_door_status
- dock_cool_fan_status
ModelStatus: dict[str, type[Status]] =
{'roborock.vacuum.a19': <class 'S4MaxStatus'>, 'roborock.vacuum.s5e': <class 'S5MaxStatus'>, 'roborock.vacuum.a38': <class 'Q7MaxStatus'>, 'roborock.vacuum.a117': <class 'QRevoMasterStatus'>, 'roborock.vacuum.a135': <class 'QRevoCurvStatus'>, 'roborock.vacuum.s6': <class 'S6PureStatus'>, 'roborock.vacuum.a10': <class 'S6MaxVStatus'>, 'roborock.vacuum.a08': <class 'S6PureStatus'>, 'roborock.vacuum.a27': <class 'S7MaxVStatus'>, 'roborock.vacuum.a15': <class 'S7Status'>, 'roborock.vacuum.a51': <class 'S8Status'>, 'roborock.vacuum.a70': <class 'S8ProUltraStatus'>, 'roborock.vacuum.a26': <class 'S7MaxVStatus'>, 'roborock.vacuum.a143': <class 'QRevoMasterStatus'>, 'roborock.vacuum.a75': <class 'P10Status'>, 'roborock.vacuum.a104': <class 'P10Status'>, 'roborock.vacuum.a87': <class 'QRevoMaxVStatus'>, 'roborock.vacuum.a101': <class 'P10Status'>, 'roborock.vacuum.a97': <class 'S8MaxvUltraStatus'>, 'roborock.vacuum.a144': <class 'Saros10RStatus'>, 'roborock.vacuum.a147': <class 'Saros10Status'>}
DnDTimer
ValleyElectricityTimer
431@dataclass 432class CleanSummary(RoborockBase): 433 clean_time: int | None = None 434 clean_area: int | None = None 435 clean_count: int | None = None 436 dust_collection_count: int | None = None 437 records: list[int] | None = None 438 last_clean_t: int | None = None 439 440 @property 441 def square_meter_clean_area(self) -> float | None: 442 """Returns the clean area in square meters.""" 443 if isinstance(self.clean_area, list | str): 444 _LOGGER.warning(f"Clean area is a unexpected type! Please give the following in a issue: {self.clean_area}") 445 return None 446 return round(self.clean_area / 1000000, 1) if self.clean_area is not None else None 447 448 def __repr__(self) -> str: 449 """Return a string representation of the object including all attributes.""" 450 return _attr_repr(self)
CleanSummary( clean_time: int | None = None, clean_area: int | None = None, clean_count: int | None = None, dust_collection_count: int | None = None, records: list[int] | None = None, last_clean_t: int | None = None)
square_meter_clean_area: float | None
440 @property 441 def square_meter_clean_area(self) -> float | None: 442 """Returns the clean area in square meters.""" 443 if isinstance(self.clean_area, list | str): 444 _LOGGER.warning(f"Clean area is a unexpected type! Please give the following in a issue: {self.clean_area}") 445 return None 446 return round(self.clean_area / 1000000, 1) if self.clean_area is not None else None
Returns the clean area in square meters.
Inherited Members
453@dataclass 454class CleanRecord(RoborockBase): 455 begin: int | None = None 456 end: int | None = None 457 duration: int | None = None 458 area: int | None = None 459 error: int | None = None 460 complete: int | None = None 461 start_type: RoborockStartType | None = None 462 clean_type: RoborockCleanType | None = None 463 finish_reason: RoborockFinishReason | None = None 464 dust_collection_status: int | None = None 465 avoid_count: int | None = None 466 wash_count: int | None = None 467 map_flag: int | None = None 468 469 @property 470 def square_meter_area(self) -> float | None: 471 return round(self.area / 1000000, 1) if self.area is not None else None 472 473 @property 474 def begin_datetime(self) -> datetime.datetime | None: 475 return datetime.datetime.fromtimestamp(self.begin).astimezone(datetime.UTC) if self.begin else None 476 477 @property 478 def end_datetime(self) -> datetime.datetime | None: 479 return datetime.datetime.fromtimestamp(self.end).astimezone(datetime.UTC) if self.end else None 480 481 def __repr__(self) -> str: 482 return _attr_repr(self)
CleanRecord( begin: int | None = None, end: int | None = None, duration: int | None = None, area: int | None = None, error: int | None = None, complete: int | None = None, start_type: roborock.data.v1.v1_code_mappings.RoborockStartType | None = None, clean_type: roborock.data.v1.v1_code_mappings.RoborockCleanType | None = None, finish_reason: roborock.data.v1.v1_code_mappings.RoborockFinishReason | None = None, dust_collection_status: int | None = None, avoid_count: int | None = None, wash_count: int | None = None, map_flag: int | None = None)
Inherited Members
485class CleanSummaryWithDetail(CleanSummary): 486 """CleanSummary with the last CleanRecord included.""" 487 488 last_clean_record: CleanRecord | None = None
CleanSummary with the last CleanRecord included.
491@dataclass 492class Consumable(RoborockBase): 493 main_brush_work_time: int | None = None 494 side_brush_work_time: int | None = None 495 filter_work_time: int | None = None 496 filter_element_work_time: int | None = None 497 sensor_dirty_time: int | None = None 498 strainer_work_times: int | None = None 499 dust_collection_work_times: int | None = None 500 cleaning_brush_work_times: int | None = None 501 moproller_work_time: int | None = None 502 503 @property 504 def main_brush_time_left(self) -> int | None: 505 return MAIN_BRUSH_REPLACE_TIME - self.main_brush_work_time if self.main_brush_work_time is not None else None 506 507 @property 508 def side_brush_time_left(self) -> int | None: 509 return SIDE_BRUSH_REPLACE_TIME - self.side_brush_work_time if self.side_brush_work_time is not None else None 510 511 @property 512 def filter_time_left(self) -> int | None: 513 return FILTER_REPLACE_TIME - self.filter_work_time if self.filter_work_time is not None else None 514 515 @property 516 def sensor_time_left(self) -> int | None: 517 return SENSOR_DIRTY_REPLACE_TIME - self.sensor_dirty_time if self.sensor_dirty_time is not None else None 518 519 @property 520 def strainer_time_left(self) -> int | None: 521 return STRAINER_REPLACE_TIME - self.strainer_work_times if self.strainer_work_times is not None else None 522 523 @property 524 def dust_collection_time_left(self) -> int | None: 525 return ( 526 DUST_COLLECTION_REPLACE_TIME - self.dust_collection_work_times 527 if self.dust_collection_work_times is not None 528 else None 529 ) 530 531 @property 532 def cleaning_brush_time_left(self) -> int | None: 533 return ( 534 CLEANING_BRUSH_REPLACE_TIME - self.cleaning_brush_work_times 535 if self.cleaning_brush_work_times is not None 536 else None 537 ) 538 539 @property 540 def mop_roller_time_left(self) -> int | None: 541 return MOP_ROLLER_REPLACE_TIME - self.moproller_work_time if self.moproller_work_time is not None else None 542 543 def __repr__(self) -> str: 544 return _attr_repr(self)
Consumable( main_brush_work_time: int | None = None, side_brush_work_time: int | None = None, filter_work_time: int | None = None, filter_element_work_time: int | None = None, sensor_dirty_time: int | None = None, strainer_work_times: int | None = None, dust_collection_work_times: int | None = None, cleaning_brush_work_times: int | None = None, moproller_work_time: int | None = None)
Inherited Members
547@dataclass 548class MultiMapsListRoom(RoborockBase): 549 id: int | None = None 550 tag: int | None = None 551 iot_name_id: str | None = None 552 iot_name: str | None = None
MultiMapsListRoom( id: int | None = None, tag: int | None = None, iot_name_id: str | None = None, iot_name: str | None = None)
Inherited Members
555@dataclass 556class MultiMapsListMapInfoBakMaps(RoborockBase): 557 mapflag: Any | None = None 558 add_time: Any | None = None
Inherited Members
561@dataclass 562class MultiMapsListMapInfo(RoborockBase): 563 map_flag: int 564 name: str 565 add_time: Any | None = None 566 length: Any | None = None 567 bak_maps: list[MultiMapsListMapInfoBakMaps] | None = None 568 rooms: list[MultiMapsListRoom] | None = None 569 570 @property 571 def mapFlag(self) -> int: 572 """Alias for map_flag, returns the map flag as an integer.""" 573 return self.map_flag
MultiMapsListMapInfo( map_flag: int, name: str, add_time: typing.Any | None = None, length: typing.Any | None = None, bak_maps: list[MultiMapsListMapInfoBakMaps] | None = None, rooms: list[MultiMapsListRoom] | None = None)
mapFlag: int
570 @property 571 def mapFlag(self) -> int: 572 """Alias for map_flag, returns the map flag as an integer.""" 573 return self.map_flag
Alias for map_flag, returns the map flag as an integer.
Inherited Members
576@dataclass 577class MultiMapsList(RoborockBase): 578 max_multi_map: int | None = None 579 max_bak_map: int | None = None 580 multi_map_count: int | None = None 581 map_info: list[MultiMapsListMapInfo] | None = None
MultiMapsList( max_multi_map: int | None = None, max_bak_map: int | None = None, multi_map_count: int | None = None, map_info: list[MultiMapsListMapInfo] | None = None)
Inherited Members
584@dataclass 585class SmartWashParams(RoborockBase): 586 smart_wash: int | None = None 587 wash_interval: int | None = None
Inherited Members
590@dataclass 591class DustCollectionMode(RoborockBase): 592 mode: RoborockDockDustCollectionModeCode | None = None
DustCollectionMode( mode: roborock.data.v1.v1_code_mappings.RoborockDockDustCollectionModeCode | None = None)
Inherited Members
595@dataclass 596class WashTowelMode(RoborockBase): 597 wash_mode: RoborockDockWashTowelModeCode | None = None
WashTowelMode( wash_mode: roborock.data.v1.v1_code_mappings.RoborockDockWashTowelModeCode | None = None)
Inherited Members
600@dataclass 601class NetworkInfo(RoborockBase): 602 ip: str 603 ssid: str | None = None 604 mac: str | None = None 605 bssid: str | None = None 606 rssi: int | None = None
NetworkInfo( ip: str, ssid: str | None = None, mac: str | None = None, bssid: str | None = None, rssi: int | None = None)
Inherited Members
609@dataclass 610class AppInitStatusLocalInfo(RoborockBase): 611 location: str 612 bom: str | None = None 613 featureset: int | None = None 614 language: str | None = None 615 logserver: str | None = None 616 wifiplan: str | None = None 617 timezone: str | None = None 618 name: str | None = None
AppInitStatusLocalInfo( location: str, bom: str | None = None, featureset: int | None = None, language: str | None = None, logserver: str | None = None, wifiplan: str | None = None, timezone: str | None = None, name: str | None = None)
Inherited Members
621@dataclass 622class AppInitStatus(RoborockBase): 623 local_info: AppInitStatusLocalInfo 624 feature_info: list[int] 625 new_feature_info: int 626 new_feature_info_str: str = "" 627 new_feature_info_2: int | None = None 628 carriage_type: int | None = None 629 dsp_version: str | None = None
AppInitStatus( local_info: AppInitStatusLocalInfo, feature_info: list[int], new_feature_info: int, new_feature_info_str: str = '', new_feature_info_2: int | None = None, carriage_type: int | None = None, dsp_version: str | None = None)
local_info: AppInitStatusLocalInfo