roborock.data.b01_q10.b01_q10_containers

Data container classes for Q10 B01 devices.

Many of these classes use the field(metadata={"dps": ...}) convention to map dataclass fields to device Data Points (DPS). This metadata is utilized by the update_from_dps helper in roborock.devices.traits.b01.q10.common to automatically update objects from raw device responses.

  1"""Data container classes for Q10 B01 devices.
  2
  3Many of these classes use the `field(metadata={"dps": ...})` convention to map
  4dataclass fields to device Data Points (DPS). This metadata is utilized by the
  5`update_from_dps` helper in `roborock.devices.traits.b01.q10.common` to
  6automatically update objects from raw device responses.
  7"""
  8
  9from dataclasses import dataclass, field
 10
 11from ..containers import RoborockBase
 12from .b01_q10_code_mappings import (
 13    B01_Q10_DP,
 14    YXBackType,
 15    YXDeviceCleanTask,
 16    YXDeviceState,
 17    YXDeviceWorkMode,
 18    YXFanLevel,
 19    YXWaterLevel,
 20)
 21
 22
 23@dataclass
 24class dpCleanRecord(RoborockBase):
 25    op: str
 26    result: int
 27    id: str
 28    data: list
 29
 30
 31@dataclass
 32class dpMultiMap(RoborockBase):
 33    op: str
 34    result: int
 35    data: list
 36
 37
 38@dataclass
 39class dpGetCarpet(RoborockBase):
 40    op: str
 41    result: int
 42    data: str
 43
 44
 45@dataclass
 46class dpSelfIdentifyingCarpet(RoborockBase):
 47    op: str
 48    result: int
 49    data: str
 50
 51
 52@dataclass
 53class dpNetInfo(RoborockBase):
 54    wifiName: str
 55    ipAdress: str
 56    mac: str
 57    signal: int
 58
 59
 60@dataclass
 61class dpNotDisturbExpand(RoborockBase):
 62    disturb_dust_enable: int
 63    disturb_light: int
 64    disturb_resume_clean: int
 65    disturb_voice: int
 66
 67
 68@dataclass
 69class dpCurrentCleanRoomIds(RoborockBase):
 70    room_id_list: list
 71
 72
 73@dataclass
 74class dpVoiceVersion(RoborockBase):
 75    version: int
 76
 77
 78@dataclass
 79class dpTimeZone(RoborockBase):
 80    timeZoneCity: str
 81    timeZoneSec: int
 82
 83
 84@dataclass
 85class Q10Status(RoborockBase):
 86    """Status for Q10 devices.
 87
 88    Fields are mapped to DPS values using metadata. Objects of this class can be
 89    automatically updated using the `update_from_dps` helper.
 90    """
 91
 92    clean_time: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TIME})
 93    clean_area: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_AREA})
 94    battery: int | None = field(default=None, metadata={"dps": B01_Q10_DP.BATTERY})
 95    status: YXDeviceState | None = field(default=None, metadata={"dps": B01_Q10_DP.STATUS})
 96    fan_level: YXFanLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.FAN_LEVEL})
 97    water_level: YXWaterLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.WATER_LEVEL})
 98    clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_COUNT})
 99    total_clean_area: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_AREA})
100    total_clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_COUNT})
101    total_clean_time: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_TIME})
102    main_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.MAIN_BRUSH_LIFE})
103    side_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SIDE_BRUSH_LIFE})
104    filter_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FILTER_LIFE})
105    sensor_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SENSOR_LIFE})
106    clean_mode: YXDeviceWorkMode | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_MODE})
107    clean_task_type: YXDeviceCleanTask | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TASK_TYPE})
108    back_type: YXBackType | None = field(default=None, metadata={"dps": B01_Q10_DP.BACK_TYPE})
109    cleaning_progress: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_PROGRESS})
110    fault: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FAULT})
@dataclass
class dpCleanRecord(roborock.data.containers.RoborockBase):
24@dataclass
25class dpCleanRecord(RoborockBase):
26    op: str
27    result: int
28    id: str
29    data: list
dpCleanRecord(op: str, result: int, id: str, data: list)
op: str
result: int
id: str
data: list
@dataclass
class dpMultiMap(roborock.data.containers.RoborockBase):
32@dataclass
33class dpMultiMap(RoborockBase):
34    op: str
35    result: int
36    data: list
dpMultiMap(op: str, result: int, data: list)
op: str
result: int
data: list
@dataclass
class dpGetCarpet(roborock.data.containers.RoborockBase):
39@dataclass
40class dpGetCarpet(RoborockBase):
41    op: str
42    result: int
43    data: str
dpGetCarpet(op: str, result: int, data: str)
op: str
result: int
data: str
@dataclass
class dpSelfIdentifyingCarpet(roborock.data.containers.RoborockBase):
46@dataclass
47class dpSelfIdentifyingCarpet(RoborockBase):
48    op: str
49    result: int
50    data: str
dpSelfIdentifyingCarpet(op: str, result: int, data: str)
op: str
result: int
data: str
@dataclass
class dpNetInfo(roborock.data.containers.RoborockBase):
53@dataclass
54class dpNetInfo(RoborockBase):
55    wifiName: str
56    ipAdress: str
57    mac: str
58    signal: int
dpNetInfo(wifiName: str, ipAdress: str, mac: str, signal: int)
wifiName: str
ipAdress: str
mac: str
signal: int
@dataclass
class dpNotDisturbExpand(roborock.data.containers.RoborockBase):
61@dataclass
62class dpNotDisturbExpand(RoborockBase):
63    disturb_dust_enable: int
64    disturb_light: int
65    disturb_resume_clean: int
66    disturb_voice: int
dpNotDisturbExpand( disturb_dust_enable: int, disturb_light: int, disturb_resume_clean: int, disturb_voice: int)
disturb_dust_enable: int
disturb_light: int
disturb_resume_clean: int
disturb_voice: int
@dataclass
class dpCurrentCleanRoomIds(roborock.data.containers.RoborockBase):
69@dataclass
70class dpCurrentCleanRoomIds(RoborockBase):
71    room_id_list: list
dpCurrentCleanRoomIds(room_id_list: list)
room_id_list: list
@dataclass
class dpVoiceVersion(roborock.data.containers.RoborockBase):
74@dataclass
75class dpVoiceVersion(RoborockBase):
76    version: int
dpVoiceVersion(version: int)
version: int
@dataclass
class dpTimeZone(roborock.data.containers.RoborockBase):
79@dataclass
80class dpTimeZone(RoborockBase):
81    timeZoneCity: str
82    timeZoneSec: int
dpTimeZone(timeZoneCity: str, timeZoneSec: int)
timeZoneCity: str
timeZoneSec: int
@dataclass
class Q10Status(roborock.data.containers.RoborockBase):
 85@dataclass
 86class Q10Status(RoborockBase):
 87    """Status for Q10 devices.
 88
 89    Fields are mapped to DPS values using metadata. Objects of this class can be
 90    automatically updated using the `update_from_dps` helper.
 91    """
 92
 93    clean_time: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TIME})
 94    clean_area: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_AREA})
 95    battery: int | None = field(default=None, metadata={"dps": B01_Q10_DP.BATTERY})
 96    status: YXDeviceState | None = field(default=None, metadata={"dps": B01_Q10_DP.STATUS})
 97    fan_level: YXFanLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.FAN_LEVEL})
 98    water_level: YXWaterLevel | None = field(default=None, metadata={"dps": B01_Q10_DP.WATER_LEVEL})
 99    clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_COUNT})
100    total_clean_area: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_AREA})
101    total_clean_count: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_COUNT})
102    total_clean_time: int | None = field(default=None, metadata={"dps": B01_Q10_DP.TOTAL_CLEAN_TIME})
103    main_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.MAIN_BRUSH_LIFE})
104    side_brush_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SIDE_BRUSH_LIFE})
105    filter_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FILTER_LIFE})
106    sensor_life: int | None = field(default=None, metadata={"dps": B01_Q10_DP.SENSOR_LIFE})
107    clean_mode: YXDeviceWorkMode | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_MODE})
108    clean_task_type: YXDeviceCleanTask | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_TASK_TYPE})
109    back_type: YXBackType | None = field(default=None, metadata={"dps": B01_Q10_DP.BACK_TYPE})
110    cleaning_progress: int | None = field(default=None, metadata={"dps": B01_Q10_DP.CLEAN_PROGRESS})
111    fault: int | None = field(default=None, metadata={"dps": B01_Q10_DP.FAULT})

Status for Q10 devices.

Fields are mapped to DPS values using metadata. Objects of this class can be automatically updated using the update_from_dps helper.

Q10Status( clean_time: int | None = None, clean_area: int | None = None, battery: int | None = None, status: roborock.data.b01_q10.b01_q10_code_mappings.YXDeviceState | None = None, fan_level: roborock.data.b01_q10.b01_q10_code_mappings.YXFanLevel | None = None, water_level: roborock.data.b01_q10.b01_q10_code_mappings.YXWaterLevel | None = None, clean_count: int | None = None, total_clean_area: int | None = None, total_clean_count: int | None = None, total_clean_time: int | None = None, main_brush_life: int | None = None, side_brush_life: int | None = None, filter_life: int | None = None, sensor_life: int | None = None, clean_mode: roborock.data.b01_q10.b01_q10_code_mappings.YXDeviceWorkMode | None = None, clean_task_type: roborock.data.b01_q10.b01_q10_code_mappings.YXDeviceCleanTask | None = None, back_type: roborock.data.b01_q10.b01_q10_code_mappings.YXBackType | None = None, cleaning_progress: int | None = None, fault: int | None = None)
clean_time: int | None = None
clean_area: int | None = None
battery: int | None = None
clean_count: int | None = None
total_clean_area: int | None = None
total_clean_count: int | None = None
total_clean_time: int | None = None
main_brush_life: int | None = None
side_brush_life: int | None = None
filter_life: int | None = None
sensor_life: int | None = None
cleaning_progress: int | None = None
fault: int | None = None