Api commands
This page is still under construction. All of the following are the commands we have reverse engineered. It is not an exhaustive list of all the possible commands.
Commands can have multiple parameters that can change from one model to another.
Robot status
get_status
Description: Returns the current status of the vacuum
Parameters: None
Returns:
msg_ver:
msg_seq:
state:
battery: Battery level of your device.
clean_time: Total clean time in hours.
clean_area: Total clean area in meters.
error_code:
map_reset:
in_cleaning:
in_returning:
in_fresh_state:
lab_status:
water_box_status:
back_type:
wash_phase:
wash_ready:
fan_power:
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:
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
App vacuum control
app_start
Description:
Parameters:
app_pause
Description: This pauses the vacuum’s current task
Parameters: None
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_stop
Description:
Parameters:
app_start_collect_dust
Description: This empties the bin while docked
Parameters: None
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_stop_collect_dust
Description: This stops the emptying of the dust bin while docked
Parameters: None
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_start_wash
Description: This washes the mop while docked
Parameters: None
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_stop_wash
Description: This stops washing the mop whiloe docked
Parameters: None
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_goto_target
Description: Got to target
- Parameters:
X coordinate as integer (e.g.: 23450)
Y coordinate as integer (e.g.: 16450)
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_charge
Description: This tells your vacuum to go back to the dock and charge.
Parameters: None
Returns : ok or error
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
App status
app_get_init_status
Description: Returns details on the app being used to interact with Roborock servers ?? In this case the app is backend supporting the HA integration ?
Parameters: None
Returns:
local_info:
name: Name of the app
bom: Version of the app
location: Location of the app
language: Language of the app
wifiplan: Wifi plan of the app
timezone: Timezone of the app
logserver: Log server of the app
featureset: Featureset of the app
feature_info: List of features
new_feature_info: New feature info
- Return example::
{‘local_info’: {‘name’: ‘custom_A.03.0342_CE’, ‘bom’: ‘A.03.0342’, ‘location’: ‘de’, ‘language’: ‘en’, ‘wifiplan’: ‘’, ‘timezone’: ‘Europe/Berlin’, ‘logserver’: ‘awsde0.fds.api.xiaomi.com’, ‘featureset’: 3}, ‘feature_info’: [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125], ‘new_feature_info’: 2247395306799103, ‘new_feature_info_str’: ‘00000008009EFFFE’}
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
App dryer settings
app_get_dryer_setting
Description: Get dock dryer settings.
Parameters: None
Returns:
status:
on:
cliff_on:
cliff_off
count:
dry_time: Duration dryer remains on in seconds.
off:
cliff_on:
cliff_off:
count:
Return example:
{'status': 1, 'on': {'cliff_on': 1, 'cliff_off': 1, 'count': 10, 'dry_time': 7200}, 'off': {'cliff_on': 2, 'cliff_off': 1, 'count': 10}}
Source: Roborock S7 MaxV Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
app_set_dryer_setting
Description: Set the time for the dryer to run
Parameters: ‘{“status”:1,”on”:{“dry_time”:14400}}’
dry_time is the time in seconds the dryer will run for
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
App remote control
app_rc_start
Description: Starts remote control.
Parameters: None
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_rc_move
Description: Moves the robot in the direction specified
Parameters: To be documented
Returns ok or error
app_rc_stop
Description: Stops the remote control
Parameters: None
Returns ok or error
app_rc_end
Description: Ends the remote control task
Parameters:
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
App other
app_set_smart_cliff_forbidden
Description:
Parameters:
app_spot
Description:
Parameters:
app_stat
Description: This returns the current status of the vacuum
Parameters: None
Returns: ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
app_wakeup_robot
Description:
Parameters:
app_zoned_clean
Description: Starts a zone clean
Parameters:
Returns: ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
Segments and Zones
app_segment_clean
Description: This starts a segment clean and repeats it the number of times specified.
Parameters: An array of segments to clean. Each segment is an integer with the segment id and the number of times to clean it. For example, to clean segment 18 twice, the parameter would be
[{‘segments’: [18], ‘repeat’: 2}]
- Command:
roborock -d command –device_id deviceIdRedacted –cmd app_segment_clean –params ‘[{“segments”: [17,19], “repeat”: 2}]’
Returns ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_segment_ground_material
Description: Sets the groud material for the segment
Parameters: “{‘data’:[[22,3,0]]}”
Returns ok or error
name_segment
Description:
Parameters: To be determined
resume_segment_clean
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
stop_segment_clean
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_scenes_zones
Description:
Parameters:
set_scenes_segments
Description:
Parameters:
get_scenes_valid_tids
Description: To be confirmed
Parameters: None
Returns:
[{'tid': '1699679077347', 'map_flag': 0, 'segs': [{'sid': 24}, {'sid': 20}, {'sid': 22}, {'sid': 18}]}, {'tid': '1699679236553', 'map_flag': 0, 'segs': [{'sid': 24}, {'sid': 20}, {'sid': 22}]}, {'tid': '1699679386045', 'map_flag': 0, 'segs': [{'sid': 16}, {'sid': 19}, {'sid': 17}]}, {'tid': '1699679335823', 'map_flag': 0, 'segs': [{'sid': 19}, {'sid': 16}, {'sid': 17}]}]
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
resume_zoned_clean
Description:
Parameters:
reunion_scenes
Description:
Parameters:
Camera
start_camera_preview
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
stop_camera_preview
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
get_camera_status
Description: Get camera status.
Parameters: None
- Returns: 3457
387 Roborock S8 Pro Ultra
Source: Roborock S7 MaxV Ultra
set_camera_status
Description:
Parameters:
start_voice_chat
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
Clean modes
get_carpet_clean_mode
Description: Get carpet clean mode.
Parameters:
Returns:
carpet_clean_mode: Enumeration for carpet clean mode.
Return example:
{'carpet_clean_mode': 3}
Source: Roborock S7 MaxV Ultra
set_carpet_clean_mode
Description:
Parameters:
get_carpet_mode
Description:
Parameters: None
Returns:
enable:
current_integral:
current_high:
current_low:
stall_time:
Return example:
{'enable': 1, 'current_integral': 450, 'current_high': 500, 'current_low': 400, 'stall_time': 10}
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_carpet_mode
Description:
Parameters:
get_smart_wash_params
Description: Returns the smartwash parameters
Parameters: None
Returns:
smart_wash: 0 is off, 1 is on
wash_interval: The interval in seconds between washes
Example:
{'smart_wash': 0, 'wash_interval': 1200}
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_smart_wash_params
Description: Sets the smartwash parameters
Parameters:
smart_wash: 0 is off, 1 is on
wash_interval: The interval in seconds between washes
{‘smart_wash’: 0, ‘wash_interval’: 1200}
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
Cleaning history
get_clean_record
Description:
Parameters: To be determined
get_clean_record_map
Description:
Parameters:
get_clean_sequence
Description:
Parameters:
get_clean_summary
Description: Get a summary of cleaning history.
Parameters: None
Returns:
clean_time:
clean_area:
clean_count:
dust_collection_count:
records:
Return example:
{'clean_time': 568146, 'clean_area': 8816865000, 'clean_count': 178, 'dust_collection_count': 172, 'records': [1689740211, 1689555788, 1689259450, 1688999113, 1688852350, 1688693213, 1688692357, 1688614354, 1688613280, 1688606676, 1688325265, 1688174717, 1688149381, 1688092832, 1688001593, 1687921414, 1687890618, 1687743256, 1687655018, 1687631444]}
Source: Roborock S7 MaxV Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
get_mop_template_params_summary
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
Child lock
get_child_lock_status
Description: This gets the child lock status of the device. 0 is off, 1 is on.
Parameters: None
Returns:
lock_status:
Return example:
{'lock_status': 0}
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_child_lock_status
Description: This sets the child lock status of the device.
Parameters: ‘{“lock_status” :0}’
Returns: ok
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
Consumables
get_consumable
Description: This gets the status of all of the consumables for your device.
Parameters: None
Returns:
main_brush_work_time: This is the amount of time the main brush has been used in seconds since it was last replaced
side_brush_work_time: This is the amount of time the side brush has been used in seconds since it was last replaced
filter_work_time: This is the amount of time the air filter inside the vacuum has been used in seconds since it was last replaced
filter_element_work_time:
sensor_dirty_time: This is the amount of time since you have cleaned the sensors on the bottom of your vacuum.
strainer_work_times:
dust_collection_work_times:
cleaning_brush_work_times:
Return examples:
{'main_brush_work_time': 14151, 'side_brush_work_time': 41638, 'filter_work_time': 14151, 'filter_element_work_time': 0, 'sensor_dirty_time': 41522, 'strainer_work_times': 44, 'dust_collection_work_times': 19, 'cleaning_brush_work_times': 44}
reset_consumable
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
Custom modes
get_custom_mode
Description: It returns the current custom mode.
Parameters: None
Returns:
integer value of the current custom mode
Return example:
102
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_custom_mode
Description:
Parameters:
get_customize_clean_mode
Description:
Parameters:
set_customize_clean_mode
Description:
Parameters:
Furniture and ground material
get_identify_furniture_status
Description:
Parameters:
set_identify_furniture_status
Description:
Parameters:
get_identify_ground_material_status
Description:
Parameters:
set_identify_ground_material_status
Description:
Parameters:
LEDs
get_flow_led_status
Description:
Parameters:
set_flow_led_status
Description:
Parameters:
get_led_status
Description: Returns the LED status. If disabled the indicator light will turn off 1 minute after fully charged
Parameters:
Returns:
led_status: 0 is off, 1 is on
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_led_status
Description: Sets the LED status. If disabled the indicator light will turn off 1 minute after fully charged
Parameters: ????
Maps
get_multi_map
Description:
Parameters:
Comment: Response timed out for S8 Pro Ultra
get_multi_maps_list
Description: Returns a list of map information stored on the device.
Parameters: None required
Returns:
max_multi_map: max_bak_map: multi_map_count: map_info:
mapFlag: add_time: length: name: bak_maps:: mapFlag: add_time:
Return example:
{'max_multi_map': 4, 'max_bak_map': 1, 'multi_map_count': 2, 'map_info': [{'mapFlag': 0, 'add_time': 1699919699, 'length': 4, 'name': 'Home', 'bak_maps': [{'mapFlag': 4, 'add_time': 1699823921}]}, {'mapFlag': 1, 'add_time': 1699828035, 'length': 13, 'name': 'Boys bathroom', 'bak_maps': [{'mapFlag': 5, 'add_time': 1699828035}]}]}
Source: S8 Pro Ultra
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
get_map_v1
Description: Returns the map
Parameters: Unknown
Comment: Returns a map in a format that is not yet understood by me
start_edit_map
Description:
Parameters:
get_room_mapping
Description: Returns a list of rooms, ids as discovered by
Parameters: None
Returns:
room_id
Return example:
[[16, '14731399', 12], [17, '2220009', 2], [18, '2219688', 12], [19, '2219685', 9], [20, '2219691', 12], [21, '2431758', 12], [22, '2219677', 13], [23, '2312548', 12], [24, '2219678', 14], [25, '2219686', 15], [26, '2219772', 12], [27, '14768755', 12]]
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
load_multi_map
Description:
Parameters: ???
save_map
Description:
Parameters:
Operating modes
get_mop_mode
Description: Get mop mode.
Parameters: None
Returns: Enumeration for mop mode. 300
Example for S8 Pro Ultra:
standard = 300
deep = 301
deep_plus = 303
fast = 304
custom = 302
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_mop_mode
Description: Set mop mode.
Parameters: mop_mode 300
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_clean_motor_mode
Description:
Parameters:
get_dust_collection_mode
Description:
Parameters: None
Returns:
mode:
Return example:
{'mode': 0}
Source: Roborock S7 MaxV Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_dust_collection_mode
Description:
Parameters:
get_wash_towel_mode
Description:
Parameters: None
Returns:
wash_mode:
Return example:
{'wash_mode': 1}
Source: Roborock S7 MaxV Ultra
unknown = -9999
light = 0
balanced = 1
deep = 2
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_wash_towel_mode
Description: Sets the wash wash_towel_mode
Parameters: {‘wash_mode’: 2}
Returns: ok or error
Source: S8 Pro Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
get_collision_avoid_status
Description:
Parameters: None
Returns:
status:
Return example:
{'status': 1}
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_collision_avoid_status
Description: Update collision avoid status.
Parameters: ‘{“status” :1}’
Returns:
ok
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
start_wash_then_charge
Description:
Parameters:
switch_water_mark
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
System information
get_network_info
Description: Get the device’s network information.
Parameters: None
Returns:
ssid: SSID of the wirelness network the device is connected to.
ip: IP address of the device.
mac: MAC address of the device.
bssid: BSSID of the device.
rssi: RSSI of the device.
Return example:
{'ssid': 'My WiFi Network', 'ip': '192.168.1.29', 'mac': 'a0:2b:47:3d:24:51', 'bssid': '18:3b:1a:23:41:3c', 'rssi': -32}
Source: Roborock S7 MaxV Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
get_serial_number
Description: Get serial number of the vacuum.
Parameters: None
Returns:
serial_number: Serial number of the vacuum.
Return example:
{'serial_number': 'B16EVD12345678'}
Source: Roborock S7 MaxV Ultra
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
get_prop
Description: Generic get property command
Parameters: The property to get
Example:
roborock -d command --device_id aHiddenDeviceId --cmd get_prop --params '["battery"]'
Comment : This example returns the same as get_status. Initial testing has shown that not all get commands are supported by this method
get_turn_server
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
enable_log_upload
Description:
Parameters:
find_me
Description: This makes your vacuum speak so you can find it.
Parameters: None
upd_server_timer
Description:
Parameters:
get_homesec_connect_status
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
set_fds_endpoint
Description:
Parameters:
send_ice_to_robot
Description:
Parameters:
send_sdp_to_robot
Description:
Parameters:
get_device_ice
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
get_device_sdp
Description:
Parameters:
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
No |
retry_request
Description:
Parameters:
Timers
del_server_timer
Description:
Parameters:
dnd_timer
get_dnd_timer
Description: Gets the do not disturb timer
start_hour: The hour you want dnd to start
start_minute: The minute you want dnd to start
end_hour: The hour you want dnd to be turned off
end_minute: The minute you want dnd to be turned off
enabled: If the switch is currently turned on in the app for DnD
Parameters: None
set_dnd_timer
Description:
Parameters:
close_dnd_timer
Description: This disables the dnd timer
Parameters: None
get_server_timer
Description:
Parameters:
set_server_timer
Description:
Parameters:
get_timezone
Description: Get the device’s time zone.
Parameters: None
Returns: Time zone by the TZ identifier (e.g., America/Los_Angeles)
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
set_timezone
Description: Sets the device’s time zone
Parameters:
Sound
get_sound_volume
Description: Returns the volume of the sound played by the vacuum
Parameters: None
Returns:
volume: The volume of the sound played by the vacuum
Example:
72
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
change_sound_volume
Description: Sets the volume of the sound played by the vacuum
Parameters: volume
Returns: ok or error
roborock -d command –device_id aHiddenDeviceId –cmd change_sound_volume –params 72
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
test_sound_volume
Description: Plays a sound on the vacumm to identity volume
Parameters: None
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
get_sound_progress
Description:
Parameters:
Returns:
{'sid_in_progress': 0, 'progress': 0, 'state': 0, 'error': 0}
get_current_sound
Description:
Parameters:
Return example:
{'sid_in_use': 122, 'sid_version': 1, 'sid_in_progress': 0, 'location': 'de', 'bom': 'A.03.0342', 'language': 'en', 'msg_ver': 2}
Vacuum Model |
Supported |
---|---|
Roborock S7 MaxV Ultra |
Yes |
Roborock S8 Pro Ultra |
Yes |
dnld_install_sound
Description:
Parameters:
Off peak charging
get_valley_electricity_timer
Description: Get valley electricity timer.
Parameters: None
Returns:
start_hour: The hour you want valley electricity to start
start_minute: The minute you want valley electricity to start
end_hour: The hour you want valley electricity to be turned off
end_minute: The minute you want valley electricity to be turned off
enabled: If the switch is currently turned on in the app for valley electricity
`
{'start_hour': 0, 'start_minute': 0, 'end_hour': 0, 'end_minute': 0, 'enabled': 0}
`
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |
set_valley_electricity_timer
Description: Sets the valley electricity timer
Parameters:
start_hour: The hour you want valley electricity to start
start_minute: The minute you want valley electricity to start
end_hour: The hour you want valley electricity to be turned off
end_minute: The minute you want valley electricity to be turned off
enabled: If the switch is currently turned on in the app for valley electricity
Example:
{'start_hour': 0, 'start_minute': 0, 'end_hour': 0, 'end_minute': 0, 'enabled': 0}
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
??? |
Water box mode
get_water_box_custom_mode
Description: Get water box mode.
Parameters: None
Returns: Enumeration for water box mode. 203
get_clean_follow_ground_material_status
Description:
Parameters: None ====================== ========= Vacuum Model Supported ====================== ========= Roborock S8 Pro Ultra Yes ====================== =========
set_water_box_custom_mode
Description: Set the water box mode.
Parameters: {‘water_box_mode’: 203}
Returns: ok or error
Vacuum Model |
Supported |
---|---|
Roborock S8 Pro Ultra |
Yes |