roborock.roborock_typing

  1from __future__ import annotations
  2
  3from dataclasses import dataclass, field
  4from enum import Enum, StrEnum
  5
  6from .data import (
  7    CleanRecord,
  8    CleanSummary,
  9    Consumable,
 10    DustCollectionMode,
 11    RoborockBase,
 12    SmartWashParams,
 13    Status,
 14    WashTowelMode,
 15)
 16
 17
 18class RoborockCommand(str, Enum):
 19    """Enum of all known Roborock V1 protocol commands.
 20
 21    These commands can be sent to a device using the `CommandTrait`.
 22    For example: `device.v1_properties.command.send(RoborockCommand.APP_START)`.
 23    """
 24
 25    ADD_MOP_TEMPLATE_PARAMS = "add_mop_template_params"
 26    APP_AMETHYST_SELF_CHECK = "app_amethyst_self_check"
 27    APP_CHARGE = "app_charge"
 28    APP_DELETE_WIFI = "app_delete_wifi"
 29    APP_GET_AMETHYST_STATUS = "app_get_amethyst_status"
 30    APP_GET_CARPET_DEEP_CLEAN_STATUS = "app_get_carpet_deep_clean_status"
 31    APP_GET_CLEAN_ESTIMATE_INFO = "app_get_clean_estimate_info"
 32    APP_GET_DRYER_SETTING = "app_get_dryer_setting"
 33    APP_GET_INIT_STATUS = "app_get_init_status"
 34    APP_GET_LOCALE = "app_get_locale"
 35    APP_GET_WIFI_LIST = "app_get_wifi_list"
 36    APP_GOTO_TARGET = "app_goto_target"
 37    APP_KEEP_EASTER_EGG = "app_keep_easter_egg"
 38    APP_PAUSE = "app_pause"
 39    APP_RC_END = "app_rc_end"
 40    APP_RC_MOVE = "app_rc_move"
 41    APP_RC_START = "app_rc_start"
 42    APP_RC_STOP = "app_rc_stop"
 43    APP_RESUME_BUILD_MAP = "app_resume_build_map"
 44    APP_RESUME_PATROL = "app_resume_patrol"
 45    APP_SEGMENT_CLEAN = "app_segment_clean"
 46    APP_SET_AMETHYST_STATUS = "app_set_amethyst_status"
 47    APP_SET_CARPET_DEEP_CLEAN_STATUS = "app_set_carpet_deep_clean_status"
 48    APP_SET_CROSS_CARPET_CLEANING_STATUS = "app_set_cross_carpet_cleaning_status"
 49    APP_SET_DOOR_SILL_BLOCKS = "app_set_door_sill_blocks"
 50    APP_SET_DIRTY_REPLENISH_CLEAN_STATUS = "app_set_dirty_replenish_clean_status"
 51    APP_SET_DRYER_SETTING = "app_set_dryer_setting"
 52    APP_SET_DRYER_STATUS = "app_set_dryer_status"
 53    APP_SET_DYNAMIC_CONFIG = "app_set_dynamic_config"
 54    APP_SET_IGNORE_STUCK_POINT = "app_set_ignore_stuck_point"
 55    APP_SET_SMART_CLIFF_FORBIDDEN = "app_set_smart_cliff_forbidden"
 56    APP_SET_SMART_DOOR_SILL = "app_set_smart_door_sill"
 57    APP_SPOT = "app_spot"
 58    APP_START = "app_start"
 59    APP_START_BUILD_MAP = "app_start_build_map"
 60    APP_START_COLLECT_DUST = "app_start_collect_dust"
 61    APP_START_EASTER_EGG = "app_start_easter_egg"
 62    APP_START_PATROL = "app_start_patrol"
 63    APP_START_PET_PATROL = "app_start_pet_patrol"
 64    APP_START_WASH = "app_start_wash"
 65    APP_STAT = "app_stat"
 66    APP_STOP = "app_stop"
 67    APP_STOP_COLLECT_DUST = "app_stop_collect_dust"
 68    APP_STOP_WASH = "app_stop_wash"
 69    APP_UPDATE_UNSAVE_MAP = "app_update_unsave_map"
 70    APP_WAKEUP_ROBOT = "app_wakeup_robot"
 71    APP_ZONED_CLEAN = "app_zoned_clean"
 72    CHANGE_SOUND_VOLUME = "change_sound_volume"
 73    CHECK_HOMESEC_PASSWORD = "check_homesec_password"
 74    CLOSE_DND_TIMER = "close_dnd_timer"
 75    CLOSE_VALLEY_ELECTRICITY_TIMER = "close_valley_electricity_timer"
 76    DEL_CLEAN_RECORD = "del_clean_record"
 77    DEL_CLEAN_RECORD_MAP_V2 = "del_clean_record_map_v2"
 78    DEL_MAP = "del_map"
 79    DEL_MOP_TEMPLATE_PARAMS = "del_mop_template_params"
 80    DEL_SERVER_TIMER = "del_server_timer"
 81    DEL_TIMER = "del_timer"
 82    DNLD_INSTALL_SOUND = "dnld_install_sound"
 83    ENABLE_HOMESEC_VOICE = "enable_homesec_voice"
 84    ENABLE_LOG_UPLOAD = "enable_log_upload"
 85    END_EDIT_MAP = "end_edit_map"
 86    FIND_ME = "find_me"
 87    GET_AUTO_DELIVERY_CLEANING_FLUID = "get_auto_delivery_cleaning_fluid"
 88    GET_CAMERA_STATUS = "get_camera_status"
 89    GET_CARPET_CLEAN_MODE = "get_carpet_clean_mode"
 90    GET_CARPET_MODE = "get_carpet_mode"
 91    GET_CHILD_LOCK_STATUS = "get_child_lock_status"
 92    GET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = "get_clean_follow_ground_material_status"
 93    GET_CLEAN_MOTOR_MODE = "get_clean_motor_mode"
 94    GET_CLEAN_RECORD = "get_clean_record"
 95    GET_CLEAN_RECORD_MAP = "get_clean_record_map"
 96    GET_CLEAN_SEQUENCE = "get_clean_sequence"
 97    GET_CLEAN_SUMMARY = "get_clean_summary"
 98    GET_COLLISION_AVOID_STATUS = "get_collision_avoid_status"
 99    GET_CONSUMABLE = "get_consumable"
100    GET_CURRENT_SOUND = "get_current_sound"
101    GET_CUSTOM_MODE = "get_custom_mode"
102    GET_CUSTOMIZE_CLEAN_MODE = "get_customize_clean_mode"
103    GET_DEVICE_ICE = "get_device_ice"
104    GET_DEVICE_SDP = "get_device_sdp"
105    GET_DND_TIMER = "get_dnd_timer"
106    GET_DOCK_INFO = "get_dock_info"
107    GET_DUST_COLLECTION_MODE = "get_dust_collection_mode"
108    GET_DUST_COLLECTION_SWITCH_STATUS = "get_dust_collection_switch_status"
109    GET_DYNAMIC_DATA = "get_dynamic_data"
110    GET_DYNAMIC_MAP_DIFF = "get_dynamic_map_diff"
111    GET_FAN_MOTOR_WORK_TIMEOUT = "get_fan_motor_work_timeout"
112    GET_FLOW_LED_STATUS = "get_flow_led_status"
113    GET_FRESH_MAP = "get_fresh_map"
114    GET_FW_FEATURES = "get_fw_features"
115    GET_HOMESEC_CONNECT_STATUS = "get_homesec_connect_status"
116    GET_IDENTIFY_FURNITURE_STATUS = "get_identify_furniture_status"
117    GET_IDENTIFY_GROUND_MATERIAL_STATUS = "get_identify_ground_material_status"
118    GET_LED_STATUS = "get_led_status"
119    GET_LOG_UPLOAD_STATUS = "get_log_upload_status"
120    GET_MAP = "get_map"
121    GET_MAP_BEAUTIFICATION_STATUS = "get_map_beautification_status"
122    GET_MAP_STATUS = "get_map_status"
123    GET_MAP_V1 = "get_map_v1"
124    GET_MAP_V2 = "get_map_v2"
125    GET_MAP_CALIBRATION = "get_map_calibration"  # Custom command
126    GET_MOP_MOTOR_STATUS = "get_mop_motor_status"
127    GET_MOP_TEMPLATE_PARAMS_BY_ID = "get_mop_template_params_by_id"
128    GET_MOP_TEMPLATE_PARAMS_SUMMARY = "get_mop_template_params_summary"
129    GET_MULTI_MAP = "get_multi_map"
130    GET_MULTI_MAPS_LIST = "get_multi_maps_list"
131    GET_NETWORK_INFO = "get_network_info"
132    GET_OFFLINE_MAP_STATUS = "get_offline_map_status"
133    GET_PERSIST = "get_persist_map"
134    GET_PROP = "get_prop"
135    GET_RANDOM_PKEY = "get_random_pkey"
136    GET_RECOVER_MAP = "get_recover_map"
137    GET_RECOVER_MAPS = "get_recover_maps"
138    GET_ROOM_MAPPING = "get_room_mapping"
139    GET_SCENES_VALID_TIDS = "get_scenes_valid_tids"
140    GET_SEGMENT_STATUS = "get_segment_status"
141    GET_SERIAL_NUMBER = "get_serial_number"
142    GET_SERVER_TIMER = "get_server_timer"
143    GET_SMART_WASH_PARAMS = "get_smart_wash_params"
144    GET_SOUND_PROGRESS = "get_sound_progress"
145    GET_SOUND_VOLUME = "get_sound_volume"
146    GET_STATUS = "get_status"
147    GET_TESTID = "get_testid"
148    GET_TIMER = "get_timer"
149    GET_TIMER_DETAIL = "get_timer_detail"
150    GET_TIMER_SUMMARY = "get_timer_summary"
151    GET_TIMEZONE = "get_timezone"
152    GET_TURN_SERVER = "get_turn_server"
153    GET_VALLEY_ELECTRICITY_TIMER = "get_valley_electricity_timer"
154    GET_WASH_DEBUG_PARAMS = "get_wash_debug_params"
155    GET_WASH_TOWEL_MODE = "get_wash_towel_mode"
156    GET_WASH_TOWEL_PARAMS = "get_wash_towel_params"
157    GET_WATER_BOX_CUSTOM_MODE = "get_water_box_custom_mode"
158    LOAD_MULTI_MAP = "load_multi_map"
159    MANUAL_BAK_MAP = "manual_bak_map"
160    MANUAL_SEGMENT_MAP = "manual_segment_map"
161    MERGE_SEGMENT = "merge_segment"
162    MOP_MODE = "mop_mode"
163    MOP_TEMPLATE_ID = "mop_template_id"
164    NAME_MULTI_MAP = "name_multi_map"
165    NAME_SEGMENT = "name_segment"
166    PLAY_AUDIO = "play_audio"
167    RECOVER_MAP = "recover_map"
168    RECOVER_MULTI_MAP = "recover_multi_map"
169    RESET_CONSUMABLE = "reset_consumable"
170    RESET_HOMESEC_PASSWORD = "reset_homesec_password"
171    RESET_MAP = "reset_map"
172    RESOLVE_ERROR = "resolve_error"
173    RESUME_SEGMENT_CLEAN = "resume_segment_clean"
174    RESUME_ZONED_CLEAN = "resume_zoned_clean"
175    RETRY_REQUEST = "retry_request"
176    REUNION_SCENES = "reunion_scenes"
177    SAVE_FURNITURES = "save_furnitures"
178    SAVE_MAP = "save_map"
179    SEND_ICE_TO_ROBOT = "send_ice_to_robot"
180    SEND_SDP_TO_ROBOT = "send_sdp_to_robot"
181    SET_AIRDRY_HOURS = "set_airdry_hours"
182    SET_APP_TIMEZONE = "set_app_timezone"
183    SET_AUTO_DELIVERY_CLEANING_FLUID = "set_auto_delivery_cleaning_fluid"
184    SET_CAMERA_STATUS = "set_camera_status"
185    SET_CARPET_AREA = "set_carpet_area"
186    SET_CARPET_CLEAN_MODE = "set_carpet_clean_mode"
187    SET_CARPET_MODE = "set_carpet_mode"
188    SET_CHILD_LOCK_STATUS = "set_child_lock_status"
189    SET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = "set_clean_follow_ground_material_status"
190    SET_CLEAN_MOTOR_MODE = "set_clean_motor_mode"
191    SET_CLEAN_SEQUENCE = "set_clean_sequence"
192    SET_CLEAN_REPEAT_TIMES = "set_clean_repeat_times"
193    SET_COLLISION_AVOID_STATUS = "set_collision_avoid_status"
194    SET_CUSTOM_MODE = "set_custom_mode"
195    SET_CUSTOMIZE_CLEAN_MODE = "set_customize_clean_mode"
196    SET_DND_TIMER = "set_dnd_timer"
197    SET_DND_TIMER_ACTIONS = "set_dnd_timer_actions"
198    SET_DUST_COLLECTION_MODE = "set_dust_collection_mode"
199    SET_DUST_COLLECTION_SWITCH_STATUS = "set_dust_collection_switch_status"
200    SET_FAN_MOTOR_WORK_TIMEOUT = "set_fan_motor_work_timeout"
201    SET_FDS_ENDPOINT = "set_fds_endpoint"
202    SET_FLOW_LED_STATUS = "set_flow_led_status"
203    SET_HOMESEC_PASSWORD = "set_homesec_password"
204    SET_IDENTIFY_FURNITURE_STATUS = "set_identify_furniture_status"
205    SET_IDENTIFY_GROUND_MATERIAL_STATUS = "set_identify_ground_material_status"
206    SET_IGNORE_CARPET_ZONE = "set_ignore_carpet_zone"
207    SET_IGNORE_IDENTIFY_AREA = "set_ignore_identify_area"
208    SET_LAB_STATUS = "set_lab_status"
209    SET_LED_STATUS = "set_led_status"
210    SET_MAP_BEAUTIFICATION_STATUS = "set_map_beautification_status"
211    SET_MOP_MODE = "set_mop_mode"
212    SET_MOP_MOTOR_STATUS = "set_mop_motor_status"
213    SET_MOP_TEMPLATE_ID = "set_mop_template_id"
214    SET_OFFLINE_MAP_STATUS = "set_offline_map_status"
215    SET_SCENES_SEGMENTS = "set_scenes_segments"
216    SET_SCENES_ZONES = "set_scenes_zones"
217    SET_SEGMENT_GROUND_MATERIAL = "set_segment_ground_material"
218    SET_SERVER_TIMER = "set_server_timer"
219    SET_SMART_WASH_PARAMS = "set_smart_wash_params"
220    SET_SWITCH_MOP_MODE = "set_switch_map_mode"
221    SET_TIMER = "set_timer"
222    SET_TIMEZONE = "set_timezone"
223    SET_VALLEY_ELECTRICITY_TIMER = "set_valley_electricity_timer"
224    SET_VOICE_CHAT_VOLUME = "set_voice_chat_volume"
225    SET_WASH_DEBUG_PARAMS = "set_wash_debug_params"
226    SET_WASH_TOWEL_MODE = "set_wash_towel_mode"
227    SET_WASH_TOWEL_PARAMS = "set_wash_towel_params"
228    SET_WATER_BOX_CUSTOM_MODE = "set_water_box_custom_mode"
229    SET_WATER_BOX_DISTANCE_OFF = "set_water_box_distance_off"
230    SORT_MOP_TEMPLATE_PARAMS = "sort_mop_template_params"
231    SPLIT_SEGMENT = "split_segment"
232    START_CAMERA_PREVIEW = "start_camera_preview"
233    START_CLEAN = "start_clean"
234    START_EDIT_MAP = "start_edit_map"
235    START_VOICE_CHAT = "start_voice_chat"
236    START_WASH_THEN_CHARGE = "start_wash_then_charge"
237    STOP_CAMERA_PREVIEW = "stop_camera_preview"
238    STOP_FAN_MOTOR_WORK = "stop_fan_motor_work"
239    STOP_GOTO_TARGET = "stop_goto_target"
240    STOP_SEGMENT_CLEAN = "stop_segment_clean"
241    STOP_VOICE_CHAT = "stop_voice_chat"
242    STOP_ZONED_CLEAN = "stop_zoned_clean"
243    SWITCH_VIDEO_QUALITY = "switch_video_quality"
244    SWITCH_WATER_MARK = "switch_water_mark"
245    TEST_SOUND_VOLUME = "test_sound_volume"
246    UPD_SERVER_TIMER = "upd_server_timer"
247    UPD_TIMER = "upd_timer"
248    UPDATE_DOCK = "update_dock"
249    UPDATE_MOP_TEMPLATE_PARAMS = "update_mop_template_params"
250    UPLOAD_DATA_FOR_DEBUG_MODE = "upload_data_for_debug_mode"
251    UPLOAD_PHOTO = "upload_photo"
252    USE_NEW_MAP = "use_new_map"
253    USE_OLD_MAP = "use_old_map"
254    USER_UPLOAD_LOG = "user_upload_log"
255    SET_STRETCH_TAG_STATUS = "set_stretch_tag_status"
256    GET_STRETCH_TAG_STATUS = "get_stretch_tag_status"
257    SET_RIGHT_BRUSH_STRETCH_STATUS = "set_right_brush_stretch_status"
258    GET_RIGHT_BRUSH_STRETCH_STATUS = "get_right_brush_stretch_status"
259    SET_DIRTY_OBJECT_DETECT_STATUS = "set_dirty_object_detect_status"
260    GET_DIRTY_OBJECT_DETECT_STATUS = "get_dirty_object_detect_status"
261    SET_WASH_WATER_TEMPERATURE = "set_wash_water_temperature"
262    GET_WASH_WATER_TEMPERATURE = "get_wash_water_temperature"
263    APP_EMPTY_RINSE_TANK_WATER = "app_empty_rinse_tank_water"
264    SET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "set_pet_supplies_deep_clean_status"
265    GET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "get_pet_supplies_deep_clean_status"
266    SET_AP_MIC_LED_STATUS = "set_ap_mic_led_status"
267    GET_AP_MIC_LED_STATUS = "get_ap_mic_led_status"
268    SET_HANDLE_LEAK_WATER_STATUS = "set_handle_leak_water_status"
269    GET_HANDLE_LEAK_WATER_STATUS = "get_handle_leak_water_status"
270    APP_IGNORE_DIRTY_OBJECTS = "app_ignore_dirty_objects"
271    MATTER_GET_STATUS = "matter.get_status"
272    MATTER_DNLD_KEY = "matter.dnld_key"
273    MATTER_RESET = "matter.reset"
274    SET_GAP_DEEP_CLEAN_STATUS = "set_gap_deep_clean_status"
275    GET_GAP_DEEP_CLEAN_STATUS = "get_gap_deep_clean_status"
276    APP_SET_ROBOT_SETTING = "app_set_robot_setting"
277    APP_GET_ROBOT_SETTING = "app_get_robot_setting"
278
279
280class RoborockB01Q7Methods(StrEnum):
281    """Methods used by the Roborock Q7 model."""
282
283    # NOTE: In the Q7 Hermes dump these appear as suffixes and are also used
284    # with an "event." prefix at runtime (see `hermes/.../module_524.js`).
285    ADD_CLEAN_FAILED_POST = "add_clean_failed.post"
286    EVENT_ADD_CLEAN_FAILED_POST = "event.add_clean_failed.post"
287    CLEAN_FINISH_POST = "clean_finish.post"
288    EVENT_CLEAN_FINISH_POST = "event.clean_finish.post"
289    EVENT_BUILD_MAP_FINISH_POST = "event.BuildMapFinish.post"
290    EVENT_MAP_CHANGE_POST = "event.map_change.post"
291    EVENT_WORK_APPOINT_CLEAN_FAILED_POST = "event.work_appoint_clean_failed.post"
292    START_CLEAN_POST = "startClean.post"
293    ADD_ORDER = "service.add_order"
294    ADD_SWEEP_CLEAN = "service.add_sweep_clean"
295    ARRANGE_ROOM = "service.arrange_room"
296    DEL_MAP = "service.del_map"
297    DEL_ORDER = "service.del_order"
298    DEL_ORDERS = "service.del_orders"
299    DELETE_RECORD_BY_URL = "service.delete_record_by_url"
300    DOWNLOAD_VOICE_TYPE = "service.download_voice_type"
301    ERASE_PREFERENCE = "service.erase_preference"
302    FIND_DEVICE = "service.find_device"
303    GET_ROOM_ORDER = "service.get_room_order"
304    GET_VOICE_DOWNLOAD = "service.get_voice_download"
305    HELLO_WIKKA = "service.hello_wikka"
306    RENAME_MAP = "service.rename_map"
307    RENAME_ROOM = "service.rename_room"
308    RENAME_ROOMS = "service.rename_rooms"
309    REPLACE_MAP = "service.replace_map"
310    RESET_CONSUMABLE = "service.reset_consumable"
311    SAVE_CARPET = "service.save_carpet"
312    SAVE_RECOMMEND_FB = "service.save_recommend_fb"
313    SAVE_SILL = "service.save_sill"
314    SET_AREA_START = "service.set_area_start"
315    SET_AREAS_START = "service.set_areas_start"
316    SET_CUR_MAP = "service.set_cur_map"
317    SET_DIRECTION = "service.set_direction"
318    SET_GLOBAL_SORT = "service.set_global_sort"
319    SET_MAP_HIDE = "service.set_map_hide"
320    SET_MULTI_ROOM_MATERIAL = "service.set_multi_room_material"
321    SET_POINT_CLEAN = "service.set_point_clean"
322    SET_PREFERENCE = "service.set_preference"
323    SET_PREFERENCE_TYPE = "service.set_preference_type"
324    SET_QUIET_TIME = "service.set_quiet_time"
325    SET_ROOM_CLEAN = "service.set_room_clean"
326    SET_ROOM_ORDER = "service.set_room_order"
327    SET_VIRTUAL_WALL = "service.set_virtual_wall"
328    SET_ZONE_CLEAN = "service.set_zone_clean"
329    SET_ZONE_POINTS = "service.set_zone_points"
330    SPLIT_ROOM = "service.split_room"
331    START_EXPLORE = "service.start_explore"
332    START_POINT_CLEAN = "service.start_point_clean"
333    START_RECHARGE = "service.start_recharge"
334    STOP_RECHARGE = "service.stop_recharge"
335    UPLOAD_BY_MAPID = "service.upload_by_mapid"
336    UPLOAD_RECORD_BY_URL = "service.upload_record_by_url"
337    GET_PROP = "prop.get"
338    GET_MAP_LIST = "service.get_map_list"
339    UPLOAD_BY_MAPTYPE = "service.upload_by_maptype"
340    SET_PROP = "prop.set"
341    GET_PREFERENCE = "service.get_preference"
342    GET_RECORD_LIST = "service.get_record_list"
343    GET_ORDER = "service.get_order"
344    POST_PROP = "prop.post"
345
346
347@dataclass
348class DockSummary(RoborockBase):
349    dust_collection_mode: DustCollectionMode | None = None
350    wash_towel_mode: WashTowelMode | None = None
351    smart_wash_params: SmartWashParams | None = None
352
353
354@dataclass
355class DeviceProp(RoborockBase):
356    status: Status = field(default_factory=Status)
357    clean_summary: CleanSummary = field(default_factory=CleanSummary)
358    consumable: Consumable = field(default_factory=Consumable)
359    last_clean_record: CleanRecord | None = None
360    dock_summary: DockSummary | None = None
361    dust_collection_mode_name: str | None = None
362
363    def __post_init__(self) -> None:
364        if (
365            self.dock_summary
366            and self.dock_summary.dust_collection_mode is not None
367            and self.dock_summary.dust_collection_mode.mode is not None
368        ):
369            self.dust_collection_mode_name = self.dock_summary.dust_collection_mode.mode.name
370
371    def update(self, device_prop: DeviceProp) -> None:
372        if device_prop.status:
373            self.status = device_prop.status
374        if device_prop.clean_summary:
375            self.clean_summary = device_prop.clean_summary
376        if device_prop.consumable:
377            self.consumable = device_prop.consumable
378        if device_prop.last_clean_record:
379            self.last_clean_record = device_prop.last_clean_record
380        if device_prop.dock_summary:
381            self.dock_summary = device_prop.dock_summary
382        self.__post_init__()
class RoborockCommand(builtins.str, enum.Enum):
 19class RoborockCommand(str, Enum):
 20    """Enum of all known Roborock V1 protocol commands.
 21
 22    These commands can be sent to a device using the `CommandTrait`.
 23    For example: `device.v1_properties.command.send(RoborockCommand.APP_START)`.
 24    """
 25
 26    ADD_MOP_TEMPLATE_PARAMS = "add_mop_template_params"
 27    APP_AMETHYST_SELF_CHECK = "app_amethyst_self_check"
 28    APP_CHARGE = "app_charge"
 29    APP_DELETE_WIFI = "app_delete_wifi"
 30    APP_GET_AMETHYST_STATUS = "app_get_amethyst_status"
 31    APP_GET_CARPET_DEEP_CLEAN_STATUS = "app_get_carpet_deep_clean_status"
 32    APP_GET_CLEAN_ESTIMATE_INFO = "app_get_clean_estimate_info"
 33    APP_GET_DRYER_SETTING = "app_get_dryer_setting"
 34    APP_GET_INIT_STATUS = "app_get_init_status"
 35    APP_GET_LOCALE = "app_get_locale"
 36    APP_GET_WIFI_LIST = "app_get_wifi_list"
 37    APP_GOTO_TARGET = "app_goto_target"
 38    APP_KEEP_EASTER_EGG = "app_keep_easter_egg"
 39    APP_PAUSE = "app_pause"
 40    APP_RC_END = "app_rc_end"
 41    APP_RC_MOVE = "app_rc_move"
 42    APP_RC_START = "app_rc_start"
 43    APP_RC_STOP = "app_rc_stop"
 44    APP_RESUME_BUILD_MAP = "app_resume_build_map"
 45    APP_RESUME_PATROL = "app_resume_patrol"
 46    APP_SEGMENT_CLEAN = "app_segment_clean"
 47    APP_SET_AMETHYST_STATUS = "app_set_amethyst_status"
 48    APP_SET_CARPET_DEEP_CLEAN_STATUS = "app_set_carpet_deep_clean_status"
 49    APP_SET_CROSS_CARPET_CLEANING_STATUS = "app_set_cross_carpet_cleaning_status"
 50    APP_SET_DOOR_SILL_BLOCKS = "app_set_door_sill_blocks"
 51    APP_SET_DIRTY_REPLENISH_CLEAN_STATUS = "app_set_dirty_replenish_clean_status"
 52    APP_SET_DRYER_SETTING = "app_set_dryer_setting"
 53    APP_SET_DRYER_STATUS = "app_set_dryer_status"
 54    APP_SET_DYNAMIC_CONFIG = "app_set_dynamic_config"
 55    APP_SET_IGNORE_STUCK_POINT = "app_set_ignore_stuck_point"
 56    APP_SET_SMART_CLIFF_FORBIDDEN = "app_set_smart_cliff_forbidden"
 57    APP_SET_SMART_DOOR_SILL = "app_set_smart_door_sill"
 58    APP_SPOT = "app_spot"
 59    APP_START = "app_start"
 60    APP_START_BUILD_MAP = "app_start_build_map"
 61    APP_START_COLLECT_DUST = "app_start_collect_dust"
 62    APP_START_EASTER_EGG = "app_start_easter_egg"
 63    APP_START_PATROL = "app_start_patrol"
 64    APP_START_PET_PATROL = "app_start_pet_patrol"
 65    APP_START_WASH = "app_start_wash"
 66    APP_STAT = "app_stat"
 67    APP_STOP = "app_stop"
 68    APP_STOP_COLLECT_DUST = "app_stop_collect_dust"
 69    APP_STOP_WASH = "app_stop_wash"
 70    APP_UPDATE_UNSAVE_MAP = "app_update_unsave_map"
 71    APP_WAKEUP_ROBOT = "app_wakeup_robot"
 72    APP_ZONED_CLEAN = "app_zoned_clean"
 73    CHANGE_SOUND_VOLUME = "change_sound_volume"
 74    CHECK_HOMESEC_PASSWORD = "check_homesec_password"
 75    CLOSE_DND_TIMER = "close_dnd_timer"
 76    CLOSE_VALLEY_ELECTRICITY_TIMER = "close_valley_electricity_timer"
 77    DEL_CLEAN_RECORD = "del_clean_record"
 78    DEL_CLEAN_RECORD_MAP_V2 = "del_clean_record_map_v2"
 79    DEL_MAP = "del_map"
 80    DEL_MOP_TEMPLATE_PARAMS = "del_mop_template_params"
 81    DEL_SERVER_TIMER = "del_server_timer"
 82    DEL_TIMER = "del_timer"
 83    DNLD_INSTALL_SOUND = "dnld_install_sound"
 84    ENABLE_HOMESEC_VOICE = "enable_homesec_voice"
 85    ENABLE_LOG_UPLOAD = "enable_log_upload"
 86    END_EDIT_MAP = "end_edit_map"
 87    FIND_ME = "find_me"
 88    GET_AUTO_DELIVERY_CLEANING_FLUID = "get_auto_delivery_cleaning_fluid"
 89    GET_CAMERA_STATUS = "get_camera_status"
 90    GET_CARPET_CLEAN_MODE = "get_carpet_clean_mode"
 91    GET_CARPET_MODE = "get_carpet_mode"
 92    GET_CHILD_LOCK_STATUS = "get_child_lock_status"
 93    GET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = "get_clean_follow_ground_material_status"
 94    GET_CLEAN_MOTOR_MODE = "get_clean_motor_mode"
 95    GET_CLEAN_RECORD = "get_clean_record"
 96    GET_CLEAN_RECORD_MAP = "get_clean_record_map"
 97    GET_CLEAN_SEQUENCE = "get_clean_sequence"
 98    GET_CLEAN_SUMMARY = "get_clean_summary"
 99    GET_COLLISION_AVOID_STATUS = "get_collision_avoid_status"
100    GET_CONSUMABLE = "get_consumable"
101    GET_CURRENT_SOUND = "get_current_sound"
102    GET_CUSTOM_MODE = "get_custom_mode"
103    GET_CUSTOMIZE_CLEAN_MODE = "get_customize_clean_mode"
104    GET_DEVICE_ICE = "get_device_ice"
105    GET_DEVICE_SDP = "get_device_sdp"
106    GET_DND_TIMER = "get_dnd_timer"
107    GET_DOCK_INFO = "get_dock_info"
108    GET_DUST_COLLECTION_MODE = "get_dust_collection_mode"
109    GET_DUST_COLLECTION_SWITCH_STATUS = "get_dust_collection_switch_status"
110    GET_DYNAMIC_DATA = "get_dynamic_data"
111    GET_DYNAMIC_MAP_DIFF = "get_dynamic_map_diff"
112    GET_FAN_MOTOR_WORK_TIMEOUT = "get_fan_motor_work_timeout"
113    GET_FLOW_LED_STATUS = "get_flow_led_status"
114    GET_FRESH_MAP = "get_fresh_map"
115    GET_FW_FEATURES = "get_fw_features"
116    GET_HOMESEC_CONNECT_STATUS = "get_homesec_connect_status"
117    GET_IDENTIFY_FURNITURE_STATUS = "get_identify_furniture_status"
118    GET_IDENTIFY_GROUND_MATERIAL_STATUS = "get_identify_ground_material_status"
119    GET_LED_STATUS = "get_led_status"
120    GET_LOG_UPLOAD_STATUS = "get_log_upload_status"
121    GET_MAP = "get_map"
122    GET_MAP_BEAUTIFICATION_STATUS = "get_map_beautification_status"
123    GET_MAP_STATUS = "get_map_status"
124    GET_MAP_V1 = "get_map_v1"
125    GET_MAP_V2 = "get_map_v2"
126    GET_MAP_CALIBRATION = "get_map_calibration"  # Custom command
127    GET_MOP_MOTOR_STATUS = "get_mop_motor_status"
128    GET_MOP_TEMPLATE_PARAMS_BY_ID = "get_mop_template_params_by_id"
129    GET_MOP_TEMPLATE_PARAMS_SUMMARY = "get_mop_template_params_summary"
130    GET_MULTI_MAP = "get_multi_map"
131    GET_MULTI_MAPS_LIST = "get_multi_maps_list"
132    GET_NETWORK_INFO = "get_network_info"
133    GET_OFFLINE_MAP_STATUS = "get_offline_map_status"
134    GET_PERSIST = "get_persist_map"
135    GET_PROP = "get_prop"
136    GET_RANDOM_PKEY = "get_random_pkey"
137    GET_RECOVER_MAP = "get_recover_map"
138    GET_RECOVER_MAPS = "get_recover_maps"
139    GET_ROOM_MAPPING = "get_room_mapping"
140    GET_SCENES_VALID_TIDS = "get_scenes_valid_tids"
141    GET_SEGMENT_STATUS = "get_segment_status"
142    GET_SERIAL_NUMBER = "get_serial_number"
143    GET_SERVER_TIMER = "get_server_timer"
144    GET_SMART_WASH_PARAMS = "get_smart_wash_params"
145    GET_SOUND_PROGRESS = "get_sound_progress"
146    GET_SOUND_VOLUME = "get_sound_volume"
147    GET_STATUS = "get_status"
148    GET_TESTID = "get_testid"
149    GET_TIMER = "get_timer"
150    GET_TIMER_DETAIL = "get_timer_detail"
151    GET_TIMER_SUMMARY = "get_timer_summary"
152    GET_TIMEZONE = "get_timezone"
153    GET_TURN_SERVER = "get_turn_server"
154    GET_VALLEY_ELECTRICITY_TIMER = "get_valley_electricity_timer"
155    GET_WASH_DEBUG_PARAMS = "get_wash_debug_params"
156    GET_WASH_TOWEL_MODE = "get_wash_towel_mode"
157    GET_WASH_TOWEL_PARAMS = "get_wash_towel_params"
158    GET_WATER_BOX_CUSTOM_MODE = "get_water_box_custom_mode"
159    LOAD_MULTI_MAP = "load_multi_map"
160    MANUAL_BAK_MAP = "manual_bak_map"
161    MANUAL_SEGMENT_MAP = "manual_segment_map"
162    MERGE_SEGMENT = "merge_segment"
163    MOP_MODE = "mop_mode"
164    MOP_TEMPLATE_ID = "mop_template_id"
165    NAME_MULTI_MAP = "name_multi_map"
166    NAME_SEGMENT = "name_segment"
167    PLAY_AUDIO = "play_audio"
168    RECOVER_MAP = "recover_map"
169    RECOVER_MULTI_MAP = "recover_multi_map"
170    RESET_CONSUMABLE = "reset_consumable"
171    RESET_HOMESEC_PASSWORD = "reset_homesec_password"
172    RESET_MAP = "reset_map"
173    RESOLVE_ERROR = "resolve_error"
174    RESUME_SEGMENT_CLEAN = "resume_segment_clean"
175    RESUME_ZONED_CLEAN = "resume_zoned_clean"
176    RETRY_REQUEST = "retry_request"
177    REUNION_SCENES = "reunion_scenes"
178    SAVE_FURNITURES = "save_furnitures"
179    SAVE_MAP = "save_map"
180    SEND_ICE_TO_ROBOT = "send_ice_to_robot"
181    SEND_SDP_TO_ROBOT = "send_sdp_to_robot"
182    SET_AIRDRY_HOURS = "set_airdry_hours"
183    SET_APP_TIMEZONE = "set_app_timezone"
184    SET_AUTO_DELIVERY_CLEANING_FLUID = "set_auto_delivery_cleaning_fluid"
185    SET_CAMERA_STATUS = "set_camera_status"
186    SET_CARPET_AREA = "set_carpet_area"
187    SET_CARPET_CLEAN_MODE = "set_carpet_clean_mode"
188    SET_CARPET_MODE = "set_carpet_mode"
189    SET_CHILD_LOCK_STATUS = "set_child_lock_status"
190    SET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = "set_clean_follow_ground_material_status"
191    SET_CLEAN_MOTOR_MODE = "set_clean_motor_mode"
192    SET_CLEAN_SEQUENCE = "set_clean_sequence"
193    SET_CLEAN_REPEAT_TIMES = "set_clean_repeat_times"
194    SET_COLLISION_AVOID_STATUS = "set_collision_avoid_status"
195    SET_CUSTOM_MODE = "set_custom_mode"
196    SET_CUSTOMIZE_CLEAN_MODE = "set_customize_clean_mode"
197    SET_DND_TIMER = "set_dnd_timer"
198    SET_DND_TIMER_ACTIONS = "set_dnd_timer_actions"
199    SET_DUST_COLLECTION_MODE = "set_dust_collection_mode"
200    SET_DUST_COLLECTION_SWITCH_STATUS = "set_dust_collection_switch_status"
201    SET_FAN_MOTOR_WORK_TIMEOUT = "set_fan_motor_work_timeout"
202    SET_FDS_ENDPOINT = "set_fds_endpoint"
203    SET_FLOW_LED_STATUS = "set_flow_led_status"
204    SET_HOMESEC_PASSWORD = "set_homesec_password"
205    SET_IDENTIFY_FURNITURE_STATUS = "set_identify_furniture_status"
206    SET_IDENTIFY_GROUND_MATERIAL_STATUS = "set_identify_ground_material_status"
207    SET_IGNORE_CARPET_ZONE = "set_ignore_carpet_zone"
208    SET_IGNORE_IDENTIFY_AREA = "set_ignore_identify_area"
209    SET_LAB_STATUS = "set_lab_status"
210    SET_LED_STATUS = "set_led_status"
211    SET_MAP_BEAUTIFICATION_STATUS = "set_map_beautification_status"
212    SET_MOP_MODE = "set_mop_mode"
213    SET_MOP_MOTOR_STATUS = "set_mop_motor_status"
214    SET_MOP_TEMPLATE_ID = "set_mop_template_id"
215    SET_OFFLINE_MAP_STATUS = "set_offline_map_status"
216    SET_SCENES_SEGMENTS = "set_scenes_segments"
217    SET_SCENES_ZONES = "set_scenes_zones"
218    SET_SEGMENT_GROUND_MATERIAL = "set_segment_ground_material"
219    SET_SERVER_TIMER = "set_server_timer"
220    SET_SMART_WASH_PARAMS = "set_smart_wash_params"
221    SET_SWITCH_MOP_MODE = "set_switch_map_mode"
222    SET_TIMER = "set_timer"
223    SET_TIMEZONE = "set_timezone"
224    SET_VALLEY_ELECTRICITY_TIMER = "set_valley_electricity_timer"
225    SET_VOICE_CHAT_VOLUME = "set_voice_chat_volume"
226    SET_WASH_DEBUG_PARAMS = "set_wash_debug_params"
227    SET_WASH_TOWEL_MODE = "set_wash_towel_mode"
228    SET_WASH_TOWEL_PARAMS = "set_wash_towel_params"
229    SET_WATER_BOX_CUSTOM_MODE = "set_water_box_custom_mode"
230    SET_WATER_BOX_DISTANCE_OFF = "set_water_box_distance_off"
231    SORT_MOP_TEMPLATE_PARAMS = "sort_mop_template_params"
232    SPLIT_SEGMENT = "split_segment"
233    START_CAMERA_PREVIEW = "start_camera_preview"
234    START_CLEAN = "start_clean"
235    START_EDIT_MAP = "start_edit_map"
236    START_VOICE_CHAT = "start_voice_chat"
237    START_WASH_THEN_CHARGE = "start_wash_then_charge"
238    STOP_CAMERA_PREVIEW = "stop_camera_preview"
239    STOP_FAN_MOTOR_WORK = "stop_fan_motor_work"
240    STOP_GOTO_TARGET = "stop_goto_target"
241    STOP_SEGMENT_CLEAN = "stop_segment_clean"
242    STOP_VOICE_CHAT = "stop_voice_chat"
243    STOP_ZONED_CLEAN = "stop_zoned_clean"
244    SWITCH_VIDEO_QUALITY = "switch_video_quality"
245    SWITCH_WATER_MARK = "switch_water_mark"
246    TEST_SOUND_VOLUME = "test_sound_volume"
247    UPD_SERVER_TIMER = "upd_server_timer"
248    UPD_TIMER = "upd_timer"
249    UPDATE_DOCK = "update_dock"
250    UPDATE_MOP_TEMPLATE_PARAMS = "update_mop_template_params"
251    UPLOAD_DATA_FOR_DEBUG_MODE = "upload_data_for_debug_mode"
252    UPLOAD_PHOTO = "upload_photo"
253    USE_NEW_MAP = "use_new_map"
254    USE_OLD_MAP = "use_old_map"
255    USER_UPLOAD_LOG = "user_upload_log"
256    SET_STRETCH_TAG_STATUS = "set_stretch_tag_status"
257    GET_STRETCH_TAG_STATUS = "get_stretch_tag_status"
258    SET_RIGHT_BRUSH_STRETCH_STATUS = "set_right_brush_stretch_status"
259    GET_RIGHT_BRUSH_STRETCH_STATUS = "get_right_brush_stretch_status"
260    SET_DIRTY_OBJECT_DETECT_STATUS = "set_dirty_object_detect_status"
261    GET_DIRTY_OBJECT_DETECT_STATUS = "get_dirty_object_detect_status"
262    SET_WASH_WATER_TEMPERATURE = "set_wash_water_temperature"
263    GET_WASH_WATER_TEMPERATURE = "get_wash_water_temperature"
264    APP_EMPTY_RINSE_TANK_WATER = "app_empty_rinse_tank_water"
265    SET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "set_pet_supplies_deep_clean_status"
266    GET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "get_pet_supplies_deep_clean_status"
267    SET_AP_MIC_LED_STATUS = "set_ap_mic_led_status"
268    GET_AP_MIC_LED_STATUS = "get_ap_mic_led_status"
269    SET_HANDLE_LEAK_WATER_STATUS = "set_handle_leak_water_status"
270    GET_HANDLE_LEAK_WATER_STATUS = "get_handle_leak_water_status"
271    APP_IGNORE_DIRTY_OBJECTS = "app_ignore_dirty_objects"
272    MATTER_GET_STATUS = "matter.get_status"
273    MATTER_DNLD_KEY = "matter.dnld_key"
274    MATTER_RESET = "matter.reset"
275    SET_GAP_DEEP_CLEAN_STATUS = "set_gap_deep_clean_status"
276    GET_GAP_DEEP_CLEAN_STATUS = "get_gap_deep_clean_status"
277    APP_SET_ROBOT_SETTING = "app_set_robot_setting"
278    APP_GET_ROBOT_SETTING = "app_get_robot_setting"

Enum of all known Roborock V1 protocol commands.

These commands can be sent to a device using the CommandTrait. For example: device.v1_properties.command.send(RoborockCommand.APP_START).

ADD_MOP_TEMPLATE_PARAMS = <RoborockCommand.ADD_MOP_TEMPLATE_PARAMS: 'add_mop_template_params'>
APP_AMETHYST_SELF_CHECK = <RoborockCommand.APP_AMETHYST_SELF_CHECK: 'app_amethyst_self_check'>
APP_CHARGE = <RoborockCommand.APP_CHARGE: 'app_charge'>
APP_DELETE_WIFI = <RoborockCommand.APP_DELETE_WIFI: 'app_delete_wifi'>
APP_GET_AMETHYST_STATUS = <RoborockCommand.APP_GET_AMETHYST_STATUS: 'app_get_amethyst_status'>
APP_GET_CARPET_DEEP_CLEAN_STATUS = <RoborockCommand.APP_GET_CARPET_DEEP_CLEAN_STATUS: 'app_get_carpet_deep_clean_status'>
APP_GET_CLEAN_ESTIMATE_INFO = <RoborockCommand.APP_GET_CLEAN_ESTIMATE_INFO: 'app_get_clean_estimate_info'>
APP_GET_DRYER_SETTING = <RoborockCommand.APP_GET_DRYER_SETTING: 'app_get_dryer_setting'>
APP_GET_INIT_STATUS = <RoborockCommand.APP_GET_INIT_STATUS: 'app_get_init_status'>
APP_GET_LOCALE = <RoborockCommand.APP_GET_LOCALE: 'app_get_locale'>
APP_GET_WIFI_LIST = <RoborockCommand.APP_GET_WIFI_LIST: 'app_get_wifi_list'>
APP_GOTO_TARGET = <RoborockCommand.APP_GOTO_TARGET: 'app_goto_target'>
APP_KEEP_EASTER_EGG = <RoborockCommand.APP_KEEP_EASTER_EGG: 'app_keep_easter_egg'>
APP_PAUSE = <RoborockCommand.APP_PAUSE: 'app_pause'>
APP_RC_END = <RoborockCommand.APP_RC_END: 'app_rc_end'>
APP_RC_MOVE = <RoborockCommand.APP_RC_MOVE: 'app_rc_move'>
APP_RC_START = <RoborockCommand.APP_RC_START: 'app_rc_start'>
APP_RC_STOP = <RoborockCommand.APP_RC_STOP: 'app_rc_stop'>
APP_RESUME_BUILD_MAP = <RoborockCommand.APP_RESUME_BUILD_MAP: 'app_resume_build_map'>
APP_RESUME_PATROL = <RoborockCommand.APP_RESUME_PATROL: 'app_resume_patrol'>
APP_SEGMENT_CLEAN = <RoborockCommand.APP_SEGMENT_CLEAN: 'app_segment_clean'>
APP_SET_AMETHYST_STATUS = <RoborockCommand.APP_SET_AMETHYST_STATUS: 'app_set_amethyst_status'>
APP_SET_CARPET_DEEP_CLEAN_STATUS = <RoborockCommand.APP_SET_CARPET_DEEP_CLEAN_STATUS: 'app_set_carpet_deep_clean_status'>
APP_SET_CROSS_CARPET_CLEANING_STATUS = <RoborockCommand.APP_SET_CROSS_CARPET_CLEANING_STATUS: 'app_set_cross_carpet_cleaning_status'>
APP_SET_DOOR_SILL_BLOCKS = <RoborockCommand.APP_SET_DOOR_SILL_BLOCKS: 'app_set_door_sill_blocks'>
APP_SET_DIRTY_REPLENISH_CLEAN_STATUS = <RoborockCommand.APP_SET_DIRTY_REPLENISH_CLEAN_STATUS: 'app_set_dirty_replenish_clean_status'>
APP_SET_DRYER_SETTING = <RoborockCommand.APP_SET_DRYER_SETTING: 'app_set_dryer_setting'>
APP_SET_DRYER_STATUS = <RoborockCommand.APP_SET_DRYER_STATUS: 'app_set_dryer_status'>
APP_SET_DYNAMIC_CONFIG = <RoborockCommand.APP_SET_DYNAMIC_CONFIG: 'app_set_dynamic_config'>
APP_SET_IGNORE_STUCK_POINT = <RoborockCommand.APP_SET_IGNORE_STUCK_POINT: 'app_set_ignore_stuck_point'>
APP_SET_SMART_CLIFF_FORBIDDEN = <RoborockCommand.APP_SET_SMART_CLIFF_FORBIDDEN: 'app_set_smart_cliff_forbidden'>
APP_SET_SMART_DOOR_SILL = <RoborockCommand.APP_SET_SMART_DOOR_SILL: 'app_set_smart_door_sill'>
APP_SPOT = <RoborockCommand.APP_SPOT: 'app_spot'>
APP_START = <RoborockCommand.APP_START: 'app_start'>
APP_START_BUILD_MAP = <RoborockCommand.APP_START_BUILD_MAP: 'app_start_build_map'>
APP_START_COLLECT_DUST = <RoborockCommand.APP_START_COLLECT_DUST: 'app_start_collect_dust'>
APP_START_EASTER_EGG = <RoborockCommand.APP_START_EASTER_EGG: 'app_start_easter_egg'>
APP_START_PATROL = <RoborockCommand.APP_START_PATROL: 'app_start_patrol'>
APP_START_PET_PATROL = <RoborockCommand.APP_START_PET_PATROL: 'app_start_pet_patrol'>
APP_START_WASH = <RoborockCommand.APP_START_WASH: 'app_start_wash'>
APP_STAT = <RoborockCommand.APP_STAT: 'app_stat'>
APP_STOP = <RoborockCommand.APP_STOP: 'app_stop'>
APP_STOP_COLLECT_DUST = <RoborockCommand.APP_STOP_COLLECT_DUST: 'app_stop_collect_dust'>
APP_STOP_WASH = <RoborockCommand.APP_STOP_WASH: 'app_stop_wash'>
APP_UPDATE_UNSAVE_MAP = <RoborockCommand.APP_UPDATE_UNSAVE_MAP: 'app_update_unsave_map'>
APP_WAKEUP_ROBOT = <RoborockCommand.APP_WAKEUP_ROBOT: 'app_wakeup_robot'>
APP_ZONED_CLEAN = <RoborockCommand.APP_ZONED_CLEAN: 'app_zoned_clean'>
CHANGE_SOUND_VOLUME = <RoborockCommand.CHANGE_SOUND_VOLUME: 'change_sound_volume'>
CHECK_HOMESEC_PASSWORD = <RoborockCommand.CHECK_HOMESEC_PASSWORD: 'check_homesec_password'>
CLOSE_DND_TIMER = <RoborockCommand.CLOSE_DND_TIMER: 'close_dnd_timer'>
CLOSE_VALLEY_ELECTRICITY_TIMER = <RoborockCommand.CLOSE_VALLEY_ELECTRICITY_TIMER: 'close_valley_electricity_timer'>
DEL_CLEAN_RECORD = <RoborockCommand.DEL_CLEAN_RECORD: 'del_clean_record'>
DEL_CLEAN_RECORD_MAP_V2 = <RoborockCommand.DEL_CLEAN_RECORD_MAP_V2: 'del_clean_record_map_v2'>
DEL_MAP = <RoborockCommand.DEL_MAP: 'del_map'>
DEL_MOP_TEMPLATE_PARAMS = <RoborockCommand.DEL_MOP_TEMPLATE_PARAMS: 'del_mop_template_params'>
DEL_SERVER_TIMER = <RoborockCommand.DEL_SERVER_TIMER: 'del_server_timer'>
DEL_TIMER = <RoborockCommand.DEL_TIMER: 'del_timer'>
DNLD_INSTALL_SOUND = <RoborockCommand.DNLD_INSTALL_SOUND: 'dnld_install_sound'>
ENABLE_HOMESEC_VOICE = <RoborockCommand.ENABLE_HOMESEC_VOICE: 'enable_homesec_voice'>
ENABLE_LOG_UPLOAD = <RoborockCommand.ENABLE_LOG_UPLOAD: 'enable_log_upload'>
END_EDIT_MAP = <RoborockCommand.END_EDIT_MAP: 'end_edit_map'>
FIND_ME = <RoborockCommand.FIND_ME: 'find_me'>
GET_AUTO_DELIVERY_CLEANING_FLUID = <RoborockCommand.GET_AUTO_DELIVERY_CLEANING_FLUID: 'get_auto_delivery_cleaning_fluid'>
GET_CAMERA_STATUS = <RoborockCommand.GET_CAMERA_STATUS: 'get_camera_status'>
GET_CARPET_CLEAN_MODE = <RoborockCommand.GET_CARPET_CLEAN_MODE: 'get_carpet_clean_mode'>
GET_CARPET_MODE = <RoborockCommand.GET_CARPET_MODE: 'get_carpet_mode'>
GET_CHILD_LOCK_STATUS = <RoborockCommand.GET_CHILD_LOCK_STATUS: 'get_child_lock_status'>
GET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = <RoborockCommand.GET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS: 'get_clean_follow_ground_material_status'>
GET_CLEAN_MOTOR_MODE = <RoborockCommand.GET_CLEAN_MOTOR_MODE: 'get_clean_motor_mode'>
GET_CLEAN_RECORD = <RoborockCommand.GET_CLEAN_RECORD: 'get_clean_record'>
GET_CLEAN_RECORD_MAP = <RoborockCommand.GET_CLEAN_RECORD_MAP: 'get_clean_record_map'>
GET_CLEAN_SEQUENCE = <RoborockCommand.GET_CLEAN_SEQUENCE: 'get_clean_sequence'>
GET_CLEAN_SUMMARY = <RoborockCommand.GET_CLEAN_SUMMARY: 'get_clean_summary'>
GET_COLLISION_AVOID_STATUS = <RoborockCommand.GET_COLLISION_AVOID_STATUS: 'get_collision_avoid_status'>
GET_CONSUMABLE = <RoborockCommand.GET_CONSUMABLE: 'get_consumable'>
GET_CURRENT_SOUND = <RoborockCommand.GET_CURRENT_SOUND: 'get_current_sound'>
GET_CUSTOM_MODE = <RoborockCommand.GET_CUSTOM_MODE: 'get_custom_mode'>
GET_CUSTOMIZE_CLEAN_MODE = <RoborockCommand.GET_CUSTOMIZE_CLEAN_MODE: 'get_customize_clean_mode'>
GET_DEVICE_ICE = <RoborockCommand.GET_DEVICE_ICE: 'get_device_ice'>
GET_DEVICE_SDP = <RoborockCommand.GET_DEVICE_SDP: 'get_device_sdp'>
GET_DND_TIMER = <RoborockCommand.GET_DND_TIMER: 'get_dnd_timer'>
GET_DOCK_INFO = <RoborockCommand.GET_DOCK_INFO: 'get_dock_info'>
GET_DUST_COLLECTION_MODE = <RoborockCommand.GET_DUST_COLLECTION_MODE: 'get_dust_collection_mode'>
GET_DUST_COLLECTION_SWITCH_STATUS = <RoborockCommand.GET_DUST_COLLECTION_SWITCH_STATUS: 'get_dust_collection_switch_status'>
GET_DYNAMIC_DATA = <RoborockCommand.GET_DYNAMIC_DATA: 'get_dynamic_data'>
GET_DYNAMIC_MAP_DIFF = <RoborockCommand.GET_DYNAMIC_MAP_DIFF: 'get_dynamic_map_diff'>
GET_FAN_MOTOR_WORK_TIMEOUT = <RoborockCommand.GET_FAN_MOTOR_WORK_TIMEOUT: 'get_fan_motor_work_timeout'>
GET_FLOW_LED_STATUS = <RoborockCommand.GET_FLOW_LED_STATUS: 'get_flow_led_status'>
GET_FRESH_MAP = <RoborockCommand.GET_FRESH_MAP: 'get_fresh_map'>
GET_FW_FEATURES = <RoborockCommand.GET_FW_FEATURES: 'get_fw_features'>
GET_HOMESEC_CONNECT_STATUS = <RoborockCommand.GET_HOMESEC_CONNECT_STATUS: 'get_homesec_connect_status'>
GET_IDENTIFY_FURNITURE_STATUS = <RoborockCommand.GET_IDENTIFY_FURNITURE_STATUS: 'get_identify_furniture_status'>
GET_IDENTIFY_GROUND_MATERIAL_STATUS = <RoborockCommand.GET_IDENTIFY_GROUND_MATERIAL_STATUS: 'get_identify_ground_material_status'>
GET_LED_STATUS = <RoborockCommand.GET_LED_STATUS: 'get_led_status'>
GET_LOG_UPLOAD_STATUS = <RoborockCommand.GET_LOG_UPLOAD_STATUS: 'get_log_upload_status'>
GET_MAP = <RoborockCommand.GET_MAP: 'get_map'>
GET_MAP_BEAUTIFICATION_STATUS = <RoborockCommand.GET_MAP_BEAUTIFICATION_STATUS: 'get_map_beautification_status'>
GET_MAP_STATUS = <RoborockCommand.GET_MAP_STATUS: 'get_map_status'>
GET_MAP_V1 = <RoborockCommand.GET_MAP_V1: 'get_map_v1'>
GET_MAP_V2 = <RoborockCommand.GET_MAP_V2: 'get_map_v2'>
GET_MAP_CALIBRATION = <RoborockCommand.GET_MAP_CALIBRATION: 'get_map_calibration'>
GET_MOP_MOTOR_STATUS = <RoborockCommand.GET_MOP_MOTOR_STATUS: 'get_mop_motor_status'>
GET_MOP_TEMPLATE_PARAMS_BY_ID = <RoborockCommand.GET_MOP_TEMPLATE_PARAMS_BY_ID: 'get_mop_template_params_by_id'>
GET_MOP_TEMPLATE_PARAMS_SUMMARY = <RoborockCommand.GET_MOP_TEMPLATE_PARAMS_SUMMARY: 'get_mop_template_params_summary'>
GET_MULTI_MAP = <RoborockCommand.GET_MULTI_MAP: 'get_multi_map'>
GET_MULTI_MAPS_LIST = <RoborockCommand.GET_MULTI_MAPS_LIST: 'get_multi_maps_list'>
GET_NETWORK_INFO = <RoborockCommand.GET_NETWORK_INFO: 'get_network_info'>
GET_OFFLINE_MAP_STATUS = <RoborockCommand.GET_OFFLINE_MAP_STATUS: 'get_offline_map_status'>
GET_PERSIST = <RoborockCommand.GET_PERSIST: 'get_persist_map'>
GET_PROP = <RoborockCommand.GET_PROP: 'get_prop'>
GET_RANDOM_PKEY = <RoborockCommand.GET_RANDOM_PKEY: 'get_random_pkey'>
GET_RECOVER_MAP = <RoborockCommand.GET_RECOVER_MAP: 'get_recover_map'>
GET_RECOVER_MAPS = <RoborockCommand.GET_RECOVER_MAPS: 'get_recover_maps'>
GET_ROOM_MAPPING = <RoborockCommand.GET_ROOM_MAPPING: 'get_room_mapping'>
GET_SCENES_VALID_TIDS = <RoborockCommand.GET_SCENES_VALID_TIDS: 'get_scenes_valid_tids'>
GET_SEGMENT_STATUS = <RoborockCommand.GET_SEGMENT_STATUS: 'get_segment_status'>
GET_SERIAL_NUMBER = <RoborockCommand.GET_SERIAL_NUMBER: 'get_serial_number'>
GET_SERVER_TIMER = <RoborockCommand.GET_SERVER_TIMER: 'get_server_timer'>
GET_SMART_WASH_PARAMS = <RoborockCommand.GET_SMART_WASH_PARAMS: 'get_smart_wash_params'>
GET_SOUND_PROGRESS = <RoborockCommand.GET_SOUND_PROGRESS: 'get_sound_progress'>
GET_SOUND_VOLUME = <RoborockCommand.GET_SOUND_VOLUME: 'get_sound_volume'>
GET_STATUS = <RoborockCommand.GET_STATUS: 'get_status'>
GET_TESTID = <RoborockCommand.GET_TESTID: 'get_testid'>
GET_TIMER = <RoborockCommand.GET_TIMER: 'get_timer'>
GET_TIMER_DETAIL = <RoborockCommand.GET_TIMER_DETAIL: 'get_timer_detail'>
GET_TIMER_SUMMARY = <RoborockCommand.GET_TIMER_SUMMARY: 'get_timer_summary'>
GET_TIMEZONE = <RoborockCommand.GET_TIMEZONE: 'get_timezone'>
GET_TURN_SERVER = <RoborockCommand.GET_TURN_SERVER: 'get_turn_server'>
GET_VALLEY_ELECTRICITY_TIMER = <RoborockCommand.GET_VALLEY_ELECTRICITY_TIMER: 'get_valley_electricity_timer'>
GET_WASH_DEBUG_PARAMS = <RoborockCommand.GET_WASH_DEBUG_PARAMS: 'get_wash_debug_params'>
GET_WASH_TOWEL_MODE = <RoborockCommand.GET_WASH_TOWEL_MODE: 'get_wash_towel_mode'>
GET_WASH_TOWEL_PARAMS = <RoborockCommand.GET_WASH_TOWEL_PARAMS: 'get_wash_towel_params'>
GET_WATER_BOX_CUSTOM_MODE = <RoborockCommand.GET_WATER_BOX_CUSTOM_MODE: 'get_water_box_custom_mode'>
LOAD_MULTI_MAP = <RoborockCommand.LOAD_MULTI_MAP: 'load_multi_map'>
MANUAL_BAK_MAP = <RoborockCommand.MANUAL_BAK_MAP: 'manual_bak_map'>
MANUAL_SEGMENT_MAP = <RoborockCommand.MANUAL_SEGMENT_MAP: 'manual_segment_map'>
MERGE_SEGMENT = <RoborockCommand.MERGE_SEGMENT: 'merge_segment'>
MOP_MODE = <RoborockCommand.MOP_MODE: 'mop_mode'>
MOP_TEMPLATE_ID = <RoborockCommand.MOP_TEMPLATE_ID: 'mop_template_id'>
NAME_MULTI_MAP = <RoborockCommand.NAME_MULTI_MAP: 'name_multi_map'>
NAME_SEGMENT = <RoborockCommand.NAME_SEGMENT: 'name_segment'>
PLAY_AUDIO = <RoborockCommand.PLAY_AUDIO: 'play_audio'>
RECOVER_MAP = <RoborockCommand.RECOVER_MAP: 'recover_map'>
RECOVER_MULTI_MAP = <RoborockCommand.RECOVER_MULTI_MAP: 'recover_multi_map'>
RESET_CONSUMABLE = <RoborockCommand.RESET_CONSUMABLE: 'reset_consumable'>
RESET_HOMESEC_PASSWORD = <RoborockCommand.RESET_HOMESEC_PASSWORD: 'reset_homesec_password'>
RESET_MAP = <RoborockCommand.RESET_MAP: 'reset_map'>
RESOLVE_ERROR = <RoborockCommand.RESOLVE_ERROR: 'resolve_error'>
RESUME_SEGMENT_CLEAN = <RoborockCommand.RESUME_SEGMENT_CLEAN: 'resume_segment_clean'>
RESUME_ZONED_CLEAN = <RoborockCommand.RESUME_ZONED_CLEAN: 'resume_zoned_clean'>
RETRY_REQUEST = <RoborockCommand.RETRY_REQUEST: 'retry_request'>
REUNION_SCENES = <RoborockCommand.REUNION_SCENES: 'reunion_scenes'>
SAVE_FURNITURES = <RoborockCommand.SAVE_FURNITURES: 'save_furnitures'>
SAVE_MAP = <RoborockCommand.SAVE_MAP: 'save_map'>
SEND_ICE_TO_ROBOT = <RoborockCommand.SEND_ICE_TO_ROBOT: 'send_ice_to_robot'>
SEND_SDP_TO_ROBOT = <RoborockCommand.SEND_SDP_TO_ROBOT: 'send_sdp_to_robot'>
SET_AIRDRY_HOURS = <RoborockCommand.SET_AIRDRY_HOURS: 'set_airdry_hours'>
SET_APP_TIMEZONE = <RoborockCommand.SET_APP_TIMEZONE: 'set_app_timezone'>
SET_AUTO_DELIVERY_CLEANING_FLUID = <RoborockCommand.SET_AUTO_DELIVERY_CLEANING_FLUID: 'set_auto_delivery_cleaning_fluid'>
SET_CAMERA_STATUS = <RoborockCommand.SET_CAMERA_STATUS: 'set_camera_status'>
SET_CARPET_AREA = <RoborockCommand.SET_CARPET_AREA: 'set_carpet_area'>
SET_CARPET_CLEAN_MODE = <RoborockCommand.SET_CARPET_CLEAN_MODE: 'set_carpet_clean_mode'>
SET_CARPET_MODE = <RoborockCommand.SET_CARPET_MODE: 'set_carpet_mode'>
SET_CHILD_LOCK_STATUS = <RoborockCommand.SET_CHILD_LOCK_STATUS: 'set_child_lock_status'>
SET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = <RoborockCommand.SET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS: 'set_clean_follow_ground_material_status'>
SET_CLEAN_MOTOR_MODE = <RoborockCommand.SET_CLEAN_MOTOR_MODE: 'set_clean_motor_mode'>
SET_CLEAN_SEQUENCE = <RoborockCommand.SET_CLEAN_SEQUENCE: 'set_clean_sequence'>
SET_CLEAN_REPEAT_TIMES = <RoborockCommand.SET_CLEAN_REPEAT_TIMES: 'set_clean_repeat_times'>
SET_COLLISION_AVOID_STATUS = <RoborockCommand.SET_COLLISION_AVOID_STATUS: 'set_collision_avoid_status'>
SET_CUSTOM_MODE = <RoborockCommand.SET_CUSTOM_MODE: 'set_custom_mode'>
SET_CUSTOMIZE_CLEAN_MODE = <RoborockCommand.SET_CUSTOMIZE_CLEAN_MODE: 'set_customize_clean_mode'>
SET_DND_TIMER = <RoborockCommand.SET_DND_TIMER: 'set_dnd_timer'>
SET_DND_TIMER_ACTIONS = <RoborockCommand.SET_DND_TIMER_ACTIONS: 'set_dnd_timer_actions'>
SET_DUST_COLLECTION_MODE = <RoborockCommand.SET_DUST_COLLECTION_MODE: 'set_dust_collection_mode'>
SET_DUST_COLLECTION_SWITCH_STATUS = <RoborockCommand.SET_DUST_COLLECTION_SWITCH_STATUS: 'set_dust_collection_switch_status'>
SET_FAN_MOTOR_WORK_TIMEOUT = <RoborockCommand.SET_FAN_MOTOR_WORK_TIMEOUT: 'set_fan_motor_work_timeout'>
SET_FDS_ENDPOINT = <RoborockCommand.SET_FDS_ENDPOINT: 'set_fds_endpoint'>
SET_FLOW_LED_STATUS = <RoborockCommand.SET_FLOW_LED_STATUS: 'set_flow_led_status'>
SET_HOMESEC_PASSWORD = <RoborockCommand.SET_HOMESEC_PASSWORD: 'set_homesec_password'>
SET_IDENTIFY_FURNITURE_STATUS = <RoborockCommand.SET_IDENTIFY_FURNITURE_STATUS: 'set_identify_furniture_status'>
SET_IDENTIFY_GROUND_MATERIAL_STATUS = <RoborockCommand.SET_IDENTIFY_GROUND_MATERIAL_STATUS: 'set_identify_ground_material_status'>
SET_IGNORE_CARPET_ZONE = <RoborockCommand.SET_IGNORE_CARPET_ZONE: 'set_ignore_carpet_zone'>
SET_IGNORE_IDENTIFY_AREA = <RoborockCommand.SET_IGNORE_IDENTIFY_AREA: 'set_ignore_identify_area'>
SET_LAB_STATUS = <RoborockCommand.SET_LAB_STATUS: 'set_lab_status'>
SET_LED_STATUS = <RoborockCommand.SET_LED_STATUS: 'set_led_status'>
SET_MAP_BEAUTIFICATION_STATUS = <RoborockCommand.SET_MAP_BEAUTIFICATION_STATUS: 'set_map_beautification_status'>
SET_MOP_MODE = <RoborockCommand.SET_MOP_MODE: 'set_mop_mode'>
SET_MOP_MOTOR_STATUS = <RoborockCommand.SET_MOP_MOTOR_STATUS: 'set_mop_motor_status'>
SET_MOP_TEMPLATE_ID = <RoborockCommand.SET_MOP_TEMPLATE_ID: 'set_mop_template_id'>
SET_OFFLINE_MAP_STATUS = <RoborockCommand.SET_OFFLINE_MAP_STATUS: 'set_offline_map_status'>
SET_SCENES_SEGMENTS = <RoborockCommand.SET_SCENES_SEGMENTS: 'set_scenes_segments'>
SET_SCENES_ZONES = <RoborockCommand.SET_SCENES_ZONES: 'set_scenes_zones'>
SET_SEGMENT_GROUND_MATERIAL = <RoborockCommand.SET_SEGMENT_GROUND_MATERIAL: 'set_segment_ground_material'>
SET_SERVER_TIMER = <RoborockCommand.SET_SERVER_TIMER: 'set_server_timer'>
SET_SMART_WASH_PARAMS = <RoborockCommand.SET_SMART_WASH_PARAMS: 'set_smart_wash_params'>
SET_SWITCH_MOP_MODE = <RoborockCommand.SET_SWITCH_MOP_MODE: 'set_switch_map_mode'>
SET_TIMER = <RoborockCommand.SET_TIMER: 'set_timer'>
SET_TIMEZONE = <RoborockCommand.SET_TIMEZONE: 'set_timezone'>
SET_VALLEY_ELECTRICITY_TIMER = <RoborockCommand.SET_VALLEY_ELECTRICITY_TIMER: 'set_valley_electricity_timer'>
SET_VOICE_CHAT_VOLUME = <RoborockCommand.SET_VOICE_CHAT_VOLUME: 'set_voice_chat_volume'>
SET_WASH_DEBUG_PARAMS = <RoborockCommand.SET_WASH_DEBUG_PARAMS: 'set_wash_debug_params'>
SET_WASH_TOWEL_MODE = <RoborockCommand.SET_WASH_TOWEL_MODE: 'set_wash_towel_mode'>
SET_WASH_TOWEL_PARAMS = <RoborockCommand.SET_WASH_TOWEL_PARAMS: 'set_wash_towel_params'>
SET_WATER_BOX_CUSTOM_MODE = <RoborockCommand.SET_WATER_BOX_CUSTOM_MODE: 'set_water_box_custom_mode'>
SET_WATER_BOX_DISTANCE_OFF = <RoborockCommand.SET_WATER_BOX_DISTANCE_OFF: 'set_water_box_distance_off'>
SORT_MOP_TEMPLATE_PARAMS = <RoborockCommand.SORT_MOP_TEMPLATE_PARAMS: 'sort_mop_template_params'>
SPLIT_SEGMENT = <RoborockCommand.SPLIT_SEGMENT: 'split_segment'>
START_CAMERA_PREVIEW = <RoborockCommand.START_CAMERA_PREVIEW: 'start_camera_preview'>
START_CLEAN = <RoborockCommand.START_CLEAN: 'start_clean'>
START_EDIT_MAP = <RoborockCommand.START_EDIT_MAP: 'start_edit_map'>
START_VOICE_CHAT = <RoborockCommand.START_VOICE_CHAT: 'start_voice_chat'>
START_WASH_THEN_CHARGE = <RoborockCommand.START_WASH_THEN_CHARGE: 'start_wash_then_charge'>
STOP_CAMERA_PREVIEW = <RoborockCommand.STOP_CAMERA_PREVIEW: 'stop_camera_preview'>
STOP_FAN_MOTOR_WORK = <RoborockCommand.STOP_FAN_MOTOR_WORK: 'stop_fan_motor_work'>
STOP_GOTO_TARGET = <RoborockCommand.STOP_GOTO_TARGET: 'stop_goto_target'>
STOP_SEGMENT_CLEAN = <RoborockCommand.STOP_SEGMENT_CLEAN: 'stop_segment_clean'>
STOP_VOICE_CHAT = <RoborockCommand.STOP_VOICE_CHAT: 'stop_voice_chat'>
STOP_ZONED_CLEAN = <RoborockCommand.STOP_ZONED_CLEAN: 'stop_zoned_clean'>
SWITCH_VIDEO_QUALITY = <RoborockCommand.SWITCH_VIDEO_QUALITY: 'switch_video_quality'>
SWITCH_WATER_MARK = <RoborockCommand.SWITCH_WATER_MARK: 'switch_water_mark'>
TEST_SOUND_VOLUME = <RoborockCommand.TEST_SOUND_VOLUME: 'test_sound_volume'>
UPD_SERVER_TIMER = <RoborockCommand.UPD_SERVER_TIMER: 'upd_server_timer'>
UPD_TIMER = <RoborockCommand.UPD_TIMER: 'upd_timer'>
UPDATE_DOCK = <RoborockCommand.UPDATE_DOCK: 'update_dock'>
UPDATE_MOP_TEMPLATE_PARAMS = <RoborockCommand.UPDATE_MOP_TEMPLATE_PARAMS: 'update_mop_template_params'>
UPLOAD_DATA_FOR_DEBUG_MODE = <RoborockCommand.UPLOAD_DATA_FOR_DEBUG_MODE: 'upload_data_for_debug_mode'>
UPLOAD_PHOTO = <RoborockCommand.UPLOAD_PHOTO: 'upload_photo'>
USE_NEW_MAP = <RoborockCommand.USE_NEW_MAP: 'use_new_map'>
USE_OLD_MAP = <RoborockCommand.USE_OLD_MAP: 'use_old_map'>
USER_UPLOAD_LOG = <RoborockCommand.USER_UPLOAD_LOG: 'user_upload_log'>
SET_STRETCH_TAG_STATUS = <RoborockCommand.SET_STRETCH_TAG_STATUS: 'set_stretch_tag_status'>
GET_STRETCH_TAG_STATUS = <RoborockCommand.GET_STRETCH_TAG_STATUS: 'get_stretch_tag_status'>
SET_RIGHT_BRUSH_STRETCH_STATUS = <RoborockCommand.SET_RIGHT_BRUSH_STRETCH_STATUS: 'set_right_brush_stretch_status'>
GET_RIGHT_BRUSH_STRETCH_STATUS = <RoborockCommand.GET_RIGHT_BRUSH_STRETCH_STATUS: 'get_right_brush_stretch_status'>
SET_DIRTY_OBJECT_DETECT_STATUS = <RoborockCommand.SET_DIRTY_OBJECT_DETECT_STATUS: 'set_dirty_object_detect_status'>
GET_DIRTY_OBJECT_DETECT_STATUS = <RoborockCommand.GET_DIRTY_OBJECT_DETECT_STATUS: 'get_dirty_object_detect_status'>
SET_WASH_WATER_TEMPERATURE = <RoborockCommand.SET_WASH_WATER_TEMPERATURE: 'set_wash_water_temperature'>
GET_WASH_WATER_TEMPERATURE = <RoborockCommand.GET_WASH_WATER_TEMPERATURE: 'get_wash_water_temperature'>
APP_EMPTY_RINSE_TANK_WATER = <RoborockCommand.APP_EMPTY_RINSE_TANK_WATER: 'app_empty_rinse_tank_water'>
SET_PET_SUPPLIES_DEEP_CLEAN_STATUS = <RoborockCommand.SET_PET_SUPPLIES_DEEP_CLEAN_STATUS: 'set_pet_supplies_deep_clean_status'>
GET_PET_SUPPLIES_DEEP_CLEAN_STATUS = <RoborockCommand.GET_PET_SUPPLIES_DEEP_CLEAN_STATUS: 'get_pet_supplies_deep_clean_status'>
SET_AP_MIC_LED_STATUS = <RoborockCommand.SET_AP_MIC_LED_STATUS: 'set_ap_mic_led_status'>
GET_AP_MIC_LED_STATUS = <RoborockCommand.GET_AP_MIC_LED_STATUS: 'get_ap_mic_led_status'>
SET_HANDLE_LEAK_WATER_STATUS = <RoborockCommand.SET_HANDLE_LEAK_WATER_STATUS: 'set_handle_leak_water_status'>
GET_HANDLE_LEAK_WATER_STATUS = <RoborockCommand.GET_HANDLE_LEAK_WATER_STATUS: 'get_handle_leak_water_status'>
APP_IGNORE_DIRTY_OBJECTS = <RoborockCommand.APP_IGNORE_DIRTY_OBJECTS: 'app_ignore_dirty_objects'>
MATTER_GET_STATUS = <RoborockCommand.MATTER_GET_STATUS: 'matter.get_status'>
MATTER_DNLD_KEY = <RoborockCommand.MATTER_DNLD_KEY: 'matter.dnld_key'>
MATTER_RESET = <RoborockCommand.MATTER_RESET: 'matter.reset'>
SET_GAP_DEEP_CLEAN_STATUS = <RoborockCommand.SET_GAP_DEEP_CLEAN_STATUS: 'set_gap_deep_clean_status'>
GET_GAP_DEEP_CLEAN_STATUS = <RoborockCommand.GET_GAP_DEEP_CLEAN_STATUS: 'get_gap_deep_clean_status'>
APP_SET_ROBOT_SETTING = <RoborockCommand.APP_SET_ROBOT_SETTING: 'app_set_robot_setting'>
APP_GET_ROBOT_SETTING = <RoborockCommand.APP_GET_ROBOT_SETTING: 'app_get_robot_setting'>
class RoborockB01Q7Methods(enum.StrEnum):
281class RoborockB01Q7Methods(StrEnum):
282    """Methods used by the Roborock Q7 model."""
283
284    # NOTE: In the Q7 Hermes dump these appear as suffixes and are also used
285    # with an "event." prefix at runtime (see `hermes/.../module_524.js`).
286    ADD_CLEAN_FAILED_POST = "add_clean_failed.post"
287    EVENT_ADD_CLEAN_FAILED_POST = "event.add_clean_failed.post"
288    CLEAN_FINISH_POST = "clean_finish.post"
289    EVENT_CLEAN_FINISH_POST = "event.clean_finish.post"
290    EVENT_BUILD_MAP_FINISH_POST = "event.BuildMapFinish.post"
291    EVENT_MAP_CHANGE_POST = "event.map_change.post"
292    EVENT_WORK_APPOINT_CLEAN_FAILED_POST = "event.work_appoint_clean_failed.post"
293    START_CLEAN_POST = "startClean.post"
294    ADD_ORDER = "service.add_order"
295    ADD_SWEEP_CLEAN = "service.add_sweep_clean"
296    ARRANGE_ROOM = "service.arrange_room"
297    DEL_MAP = "service.del_map"
298    DEL_ORDER = "service.del_order"
299    DEL_ORDERS = "service.del_orders"
300    DELETE_RECORD_BY_URL = "service.delete_record_by_url"
301    DOWNLOAD_VOICE_TYPE = "service.download_voice_type"
302    ERASE_PREFERENCE = "service.erase_preference"
303    FIND_DEVICE = "service.find_device"
304    GET_ROOM_ORDER = "service.get_room_order"
305    GET_VOICE_DOWNLOAD = "service.get_voice_download"
306    HELLO_WIKKA = "service.hello_wikka"
307    RENAME_MAP = "service.rename_map"
308    RENAME_ROOM = "service.rename_room"
309    RENAME_ROOMS = "service.rename_rooms"
310    REPLACE_MAP = "service.replace_map"
311    RESET_CONSUMABLE = "service.reset_consumable"
312    SAVE_CARPET = "service.save_carpet"
313    SAVE_RECOMMEND_FB = "service.save_recommend_fb"
314    SAVE_SILL = "service.save_sill"
315    SET_AREA_START = "service.set_area_start"
316    SET_AREAS_START = "service.set_areas_start"
317    SET_CUR_MAP = "service.set_cur_map"
318    SET_DIRECTION = "service.set_direction"
319    SET_GLOBAL_SORT = "service.set_global_sort"
320    SET_MAP_HIDE = "service.set_map_hide"
321    SET_MULTI_ROOM_MATERIAL = "service.set_multi_room_material"
322    SET_POINT_CLEAN = "service.set_point_clean"
323    SET_PREFERENCE = "service.set_preference"
324    SET_PREFERENCE_TYPE = "service.set_preference_type"
325    SET_QUIET_TIME = "service.set_quiet_time"
326    SET_ROOM_CLEAN = "service.set_room_clean"
327    SET_ROOM_ORDER = "service.set_room_order"
328    SET_VIRTUAL_WALL = "service.set_virtual_wall"
329    SET_ZONE_CLEAN = "service.set_zone_clean"
330    SET_ZONE_POINTS = "service.set_zone_points"
331    SPLIT_ROOM = "service.split_room"
332    START_EXPLORE = "service.start_explore"
333    START_POINT_CLEAN = "service.start_point_clean"
334    START_RECHARGE = "service.start_recharge"
335    STOP_RECHARGE = "service.stop_recharge"
336    UPLOAD_BY_MAPID = "service.upload_by_mapid"
337    UPLOAD_RECORD_BY_URL = "service.upload_record_by_url"
338    GET_PROP = "prop.get"
339    GET_MAP_LIST = "service.get_map_list"
340    UPLOAD_BY_MAPTYPE = "service.upload_by_maptype"
341    SET_PROP = "prop.set"
342    GET_PREFERENCE = "service.get_preference"
343    GET_RECORD_LIST = "service.get_record_list"
344    GET_ORDER = "service.get_order"
345    POST_PROP = "prop.post"

Methods used by the Roborock Q7 model.

ADD_CLEAN_FAILED_POST = <RoborockB01Q7Methods.ADD_CLEAN_FAILED_POST: 'add_clean_failed.post'>
EVENT_ADD_CLEAN_FAILED_POST = <RoborockB01Q7Methods.EVENT_ADD_CLEAN_FAILED_POST: 'event.add_clean_failed.post'>
CLEAN_FINISH_POST = <RoborockB01Q7Methods.CLEAN_FINISH_POST: 'clean_finish.post'>
EVENT_CLEAN_FINISH_POST = <RoborockB01Q7Methods.EVENT_CLEAN_FINISH_POST: 'event.clean_finish.post'>
EVENT_BUILD_MAP_FINISH_POST = <RoborockB01Q7Methods.EVENT_BUILD_MAP_FINISH_POST: 'event.BuildMapFinish.post'>
EVENT_MAP_CHANGE_POST = <RoborockB01Q7Methods.EVENT_MAP_CHANGE_POST: 'event.map_change.post'>
EVENT_WORK_APPOINT_CLEAN_FAILED_POST = <RoborockB01Q7Methods.EVENT_WORK_APPOINT_CLEAN_FAILED_POST: 'event.work_appoint_clean_failed.post'>
START_CLEAN_POST = <RoborockB01Q7Methods.START_CLEAN_POST: 'startClean.post'>
ADD_ORDER = <RoborockB01Q7Methods.ADD_ORDER: 'service.add_order'>
ADD_SWEEP_CLEAN = <RoborockB01Q7Methods.ADD_SWEEP_CLEAN: 'service.add_sweep_clean'>
ARRANGE_ROOM = <RoborockB01Q7Methods.ARRANGE_ROOM: 'service.arrange_room'>
DEL_MAP = <RoborockB01Q7Methods.DEL_MAP: 'service.del_map'>
DEL_ORDER = <RoborockB01Q7Methods.DEL_ORDER: 'service.del_order'>
DEL_ORDERS = <RoborockB01Q7Methods.DEL_ORDERS: 'service.del_orders'>
DELETE_RECORD_BY_URL = <RoborockB01Q7Methods.DELETE_RECORD_BY_URL: 'service.delete_record_by_url'>
DOWNLOAD_VOICE_TYPE = <RoborockB01Q7Methods.DOWNLOAD_VOICE_TYPE: 'service.download_voice_type'>
ERASE_PREFERENCE = <RoborockB01Q7Methods.ERASE_PREFERENCE: 'service.erase_preference'>
FIND_DEVICE = <RoborockB01Q7Methods.FIND_DEVICE: 'service.find_device'>
GET_ROOM_ORDER = <RoborockB01Q7Methods.GET_ROOM_ORDER: 'service.get_room_order'>
GET_VOICE_DOWNLOAD = <RoborockB01Q7Methods.GET_VOICE_DOWNLOAD: 'service.get_voice_download'>
HELLO_WIKKA = <RoborockB01Q7Methods.HELLO_WIKKA: 'service.hello_wikka'>
RENAME_MAP = <RoborockB01Q7Methods.RENAME_MAP: 'service.rename_map'>
RENAME_ROOM = <RoborockB01Q7Methods.RENAME_ROOM: 'service.rename_room'>
RENAME_ROOMS = <RoborockB01Q7Methods.RENAME_ROOMS: 'service.rename_rooms'>
REPLACE_MAP = <RoborockB01Q7Methods.REPLACE_MAP: 'service.replace_map'>
RESET_CONSUMABLE = <RoborockB01Q7Methods.RESET_CONSUMABLE: 'service.reset_consumable'>
SAVE_CARPET = <RoborockB01Q7Methods.SAVE_CARPET: 'service.save_carpet'>
SAVE_RECOMMEND_FB = <RoborockB01Q7Methods.SAVE_RECOMMEND_FB: 'service.save_recommend_fb'>
SAVE_SILL = <RoborockB01Q7Methods.SAVE_SILL: 'service.save_sill'>
SET_AREA_START = <RoborockB01Q7Methods.SET_AREA_START: 'service.set_area_start'>
SET_AREAS_START = <RoborockB01Q7Methods.SET_AREAS_START: 'service.set_areas_start'>
SET_CUR_MAP = <RoborockB01Q7Methods.SET_CUR_MAP: 'service.set_cur_map'>
SET_DIRECTION = <RoborockB01Q7Methods.SET_DIRECTION: 'service.set_direction'>
SET_GLOBAL_SORT = <RoborockB01Q7Methods.SET_GLOBAL_SORT: 'service.set_global_sort'>
SET_MAP_HIDE = <RoborockB01Q7Methods.SET_MAP_HIDE: 'service.set_map_hide'>
SET_MULTI_ROOM_MATERIAL = <RoborockB01Q7Methods.SET_MULTI_ROOM_MATERIAL: 'service.set_multi_room_material'>
SET_POINT_CLEAN = <RoborockB01Q7Methods.SET_POINT_CLEAN: 'service.set_point_clean'>
SET_PREFERENCE = <RoborockB01Q7Methods.SET_PREFERENCE: 'service.set_preference'>
SET_PREFERENCE_TYPE = <RoborockB01Q7Methods.SET_PREFERENCE_TYPE: 'service.set_preference_type'>
SET_QUIET_TIME = <RoborockB01Q7Methods.SET_QUIET_TIME: 'service.set_quiet_time'>
SET_ROOM_CLEAN = <RoborockB01Q7Methods.SET_ROOM_CLEAN: 'service.set_room_clean'>
SET_ROOM_ORDER = <RoborockB01Q7Methods.SET_ROOM_ORDER: 'service.set_room_order'>
SET_VIRTUAL_WALL = <RoborockB01Q7Methods.SET_VIRTUAL_WALL: 'service.set_virtual_wall'>
SET_ZONE_CLEAN = <RoborockB01Q7Methods.SET_ZONE_CLEAN: 'service.set_zone_clean'>
SET_ZONE_POINTS = <RoborockB01Q7Methods.SET_ZONE_POINTS: 'service.set_zone_points'>
SPLIT_ROOM = <RoborockB01Q7Methods.SPLIT_ROOM: 'service.split_room'>
START_EXPLORE = <RoborockB01Q7Methods.START_EXPLORE: 'service.start_explore'>
START_POINT_CLEAN = <RoborockB01Q7Methods.START_POINT_CLEAN: 'service.start_point_clean'>
START_RECHARGE = <RoborockB01Q7Methods.START_RECHARGE: 'service.start_recharge'>
STOP_RECHARGE = <RoborockB01Q7Methods.STOP_RECHARGE: 'service.stop_recharge'>
UPLOAD_BY_MAPID = <RoborockB01Q7Methods.UPLOAD_BY_MAPID: 'service.upload_by_mapid'>
UPLOAD_RECORD_BY_URL = <RoborockB01Q7Methods.UPLOAD_RECORD_BY_URL: 'service.upload_record_by_url'>
GET_PROP = <RoborockB01Q7Methods.GET_PROP: 'prop.get'>
GET_MAP_LIST = <RoborockB01Q7Methods.GET_MAP_LIST: 'service.get_map_list'>
UPLOAD_BY_MAPTYPE = <RoborockB01Q7Methods.UPLOAD_BY_MAPTYPE: 'service.upload_by_maptype'>
SET_PROP = <RoborockB01Q7Methods.SET_PROP: 'prop.set'>
GET_PREFERENCE = <RoborockB01Q7Methods.GET_PREFERENCE: 'service.get_preference'>
GET_RECORD_LIST = <RoborockB01Q7Methods.GET_RECORD_LIST: 'service.get_record_list'>
GET_ORDER = <RoborockB01Q7Methods.GET_ORDER: 'service.get_order'>
POST_PROP = <RoborockB01Q7Methods.POST_PROP: 'prop.post'>
@dataclass
class DockSummary(roborock.data.containers.RoborockBase):
348@dataclass
349class DockSummary(RoborockBase):
350    dust_collection_mode: DustCollectionMode | None = None
351    wash_towel_mode: WashTowelMode | None = None
352    smart_wash_params: SmartWashParams | None = None
DockSummary( dust_collection_mode: roborock.data.v1.v1_containers.DustCollectionMode | None = None, wash_towel_mode: roborock.data.v1.v1_containers.WashTowelMode | None = None, smart_wash_params: roborock.data.v1.v1_containers.SmartWashParams | None = None)
dust_collection_mode: roborock.data.v1.v1_containers.DustCollectionMode | None = None
wash_towel_mode: roborock.data.v1.v1_containers.WashTowelMode | None = None
smart_wash_params: roborock.data.v1.v1_containers.SmartWashParams | None = None
@dataclass
class DeviceProp(roborock.data.containers.RoborockBase):
355@dataclass
356class DeviceProp(RoborockBase):
357    status: Status = field(default_factory=Status)
358    clean_summary: CleanSummary = field(default_factory=CleanSummary)
359    consumable: Consumable = field(default_factory=Consumable)
360    last_clean_record: CleanRecord | None = None
361    dock_summary: DockSummary | None = None
362    dust_collection_mode_name: str | None = None
363
364    def __post_init__(self) -> None:
365        if (
366            self.dock_summary
367            and self.dock_summary.dust_collection_mode is not None
368            and self.dock_summary.dust_collection_mode.mode is not None
369        ):
370            self.dust_collection_mode_name = self.dock_summary.dust_collection_mode.mode.name
371
372    def update(self, device_prop: DeviceProp) -> None:
373        if device_prop.status:
374            self.status = device_prop.status
375        if device_prop.clean_summary:
376            self.clean_summary = device_prop.clean_summary
377        if device_prop.consumable:
378            self.consumable = device_prop.consumable
379        if device_prop.last_clean_record:
380            self.last_clean_record = device_prop.last_clean_record
381        if device_prop.dock_summary:
382            self.dock_summary = device_prop.dock_summary
383        self.__post_init__()
DeviceProp( status: roborock.data.v1.v1_containers.Status = <factory>, clean_summary: roborock.data.v1.v1_containers.CleanSummary = <factory>, consumable: roborock.data.v1.v1_containers.Consumable = <factory>, last_clean_record: roborock.data.v1.v1_containers.CleanRecord | None = None, dock_summary: DockSummary | None = None, dust_collection_mode_name: str | None = None)
last_clean_record: roborock.data.v1.v1_containers.CleanRecord | None = None
dock_summary: DockSummary | None = None
dust_collection_mode_name: str | None = None
def update(self, device_prop: DeviceProp) -> None:
372    def update(self, device_prop: DeviceProp) -> None:
373        if device_prop.status:
374            self.status = device_prop.status
375        if device_prop.clean_summary:
376            self.clean_summary = device_prop.clean_summary
377        if device_prop.consumable:
378            self.consumable = device_prop.consumable
379        if device_prop.last_clean_record:
380            self.last_clean_record = device_prop.last_clean_record
381        if device_prop.dock_summary:
382            self.dock_summary = device_prop.dock_summary
383        self.__post_init__()