• Stars
    star
    353
  • Rank 120,322 (Top 3 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Attempt to describe the Xiaomi Robot Vacuum Protocol

Xiaomi Robot Vacuum Protocol

Attempt to describe the Xiaomi Robot Vacuum Protocol.

These commands are send using the Xiaomi mi-home protocol. (For decoding of the vacuum map see RR Map File)

Applications implementing this protocol:

Supported vacuum devices:

Model Name / aliases
rockrobo.vacuum.v1 Mi Robot Vacuum
roborock.vacuum.a01 Roborock E Series
roborock.vacuum.a08 Roborock S6 Pure
roborock.vacuum.a09 Roborock T7 Pro
roborock.vacuum.a10 Roborock S6 MaxV
roborock.vacuum.a11 Roborock T7
roborock.vacuum.a14 Roborock T7S
roborock.vacuum.a15 Roborock S7
roborock.vacuum.a19 Roborock S4 Max
roborock.vacuum.a23 Roborock T7S Plus
roborock.vacuum.c1 Xiaowa C1
roborock.vacuum.e2 Roborock Xiaowa E Series
roborock.vacuum.m1s Mi Robot Vacuum 1S
roborock.vacuum.p5 Roborock P5
roborock.vacuum.s4 Roborock S4
roborock.vacuum.s5 Mi Robot Vacuum v2 / Roborock Vacuum S5 / Roborock Vacuum S50
roborock.vacuum.s5e Roborock S5 Max
roborock.vacuum.s6 Roborock S6
roborock.vacuum.t4 Roborock T4
roborock.vacuum.t6 Roborock T6
roborock.vacuum.t7 Roborock Vacuum T7

See supported robots and capability matrix here (based on get_fw_features command)

Vacuum Commands

⚠️ Depending on the model and firmware version, not all commands might be available.
The last columns show for which models the commands are available (assumed the latest firmware is installed).
If there is no entry, the command is available for each device.

Type Command Documentation Only available for
START_VACUUM app_start Basic Operations
STOP_VACUUM app_stop Basic Operations
START_SPOT app_spot Basic Operations
PAUSE app_pause Basic Operations
CHARGE app_charge Basic Operations
ZONED_CLEAN_START app_zoned_clean Zone Cleaning v1, s5, s6, s5e
ZONED_CLEAN_STOP stop_zoned_clean Zone Cleaning s5e
ZONED_CLEAN_RESUME resume_zoned_clean Zone Cleaning s5e
SEGMENT_CLEAN_START app_segment_clean Segment Cleaning s5, s5e, m1s
SEGMENT_CLEAN_STOP stop_segment_clean Segment Cleaning s5e
SEGMENT_CLEAN_RESUME resume_segment_clean Segment Cleaning s5e
ROOM_MAPPING_GET get_room_mapping Room Mapping s5e, m1s
GOTO_TARGET app_goto_target Goto Target v1, s5, s6, s5e
WAKEUP_ROBOT app_wakeup_robot - s5e
GET_LOCALE app_get_locale Locale Information s5e
GET_INIT_STATUS app_get_init_status Initial Status s5e
GET_STATUS get_status Status Message
GET_FW_FEATURES get_fw_features Firmware Features s5e
GET_NETWORK_INFO get_network_info Netwotk info s5e, s5, s7, s6
GET_SERIAL_NUMBER get_serial_number Serial Number
SET_LAB_STATUS set_lab_status Lab Status s5, s6, s5e
REMOTE_START app_rc_start Remote Control
REMOTE_END app_rc_end Remote Control
REMOTE_MOVE app_rc_move Remote Control
FIND_ME find_me Find Robot
CONSUMABLES_GET get_consumable Consumable
CONSUMABLES_RESET reset_consumable Consumable
CLEAN_SUMMARY_GET get_clean_summary Clean Summary
CLEAN_RECORD_GET get_clean_record Clean Summary
CLEAN_RECORD_DEL del_clean_record - s5e
CLEAN_RECORD_MAP_GET get_clean_record_map Clean Summary
MAP_V1_GET get_map_v1 Map V1
MAP_V1_FRESH_GET get_fresh_map_v1 - s5e
MAP_V1_PERSIST_GET get_persist_map_v1 - s5e
MAP_RECOVER recover_map - s5e
MAP_RESET reset_map - s5e
MAP_SAVE save_map Map s5, s6, s5e
MAP_EDIT_START start_edit_map - s5e
MAP_EDIT_END end_edit_map - s5e
MAP_USE_NEW use_new_map - s5e
MAP_USE_OLD use_old_map - s5e
MAP_STATUS_GET get_map_status - s5e
MAP_RECOVER_GET get_recover_map - s5e
MAPS_RECOVER_GET get_recover_maps - s5e
MAPS_GET_MULTI_MAPS get_multi_maps_list Multimap s5e, s7, s6
MAPS_LOAD_MULTI_MAP load_multi_map Multimap s5e, s7, s6
DND_GET get_dnd_timer Do Not Disturb
DND_SET set_dnd_timer Do Not Disturb
DND_CLOSE close_dnd_timer Do Not Disturb
TIMER_GET get_timer Cleaning Timer
TIMER_SET set_timer Cleaning Timer
TIMER_UPDATE upd_timer Cleaning Timer
TIMER_DEL del_timer Cleaning Timer
TIMER_SERVER_GET get_server_timer Cleaning Timer s5e
TIMER_SERVER_SET set_server_timer Cleaning Timer s5e
TIMER_SERVER_UPDATE upd_server_timer Cleaning Timer s5e
TIMER_SERVER_DEL del_server_timer Cleaning Timer s5e
TIMEZONE_GET get_timezone Timezone
TIMEZONE_SET set_timezone Timezone
SOUND_INSTALL dnld_install_sound Voice Pack Installation
SOUND_PROGRESS_GET get_sound_progress Voice Pack Installation s5e
SOUND_CURRENT_GET get_current_sound Current Sound
SOUND_VOLUME_GET get_sound_volume Sound Volume
SOUND_VOLUME_CHANGE change_sound_volume Sound Volume s5e
SOUND_VOLUME_TEST test_sound_volume Sound Volume s5e
LOG_UPLOAD_GET get_log_upload_status Log Upload
LOG_UPLOAD_ENABLE enable_log_upload -
LOG_UPLOAD_USER user_upload_log - s5e
CUSTOM_MODE_GET get_custom_mode Custom Mode
CUSTOM_MODE_SET set_custom_mode Custom Mode
CUSTOM_MODE_WATERBOX_GET get_water_box_custom_mode Water Box Custom Mode s5e
CUSTOM_MODE_WATERBOX_SET set_water_box_custom_mode Water Box Custom Mode s5e, s6
CARPET_MODE_GET get_carpet_mode - s5e
CARPET_MODE_SET set_carpet_mode - s5e
SEGMENT_STATUS_GET get_segment_status - s5e
SEGMENT_NAME name_segment - s5e
SEGMENT_MERGE merge_segment - s5e
SEGMENT_SPLIT split_segment - s5e

Generic MiIO Commands

ℹ️ These commands appear to be shared amongs all(?) Xiaomi Mi Io devices.

Type Command Documentation
INFO miIO.info Info
ROUTER miIO.config_router -
OTA miIO.ota Update Firmware Over Air
OTA_PROG miIO.get_ota_progress -
OTA_STATE miIO.get_ota_state -
WIFI_STATE miIO.wifi_assoc_state Wifi Status

Suggestions & improvements very welcome!