Home

Awesome

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:

Abb.Names / aliases
c1Mi Xiaowa Vacuum c1
m1sMi Robot Vacuum 1S
v1Mi Robot Vacuum
s5Mi Robot Vacuum v2 / Roborock Vacuum S5 / Roborock Vacuum S50
s6Roborock Vacuum S6
s5eRoborock Vacuum S5 Max
m1sMi Robot Vacuum 1S
a15Roborock Vacuum S7
s4Roborock Vacuum S4

Vacuum Commands

:warning: 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.

TypeCommandDocumentationOnly available for
START_VACUUMapp_startBasic Operations
STOP_VACUUMapp_stopBasic Operations
START_SPOTapp_spotBasic Operations
PAUSEapp_pauseBasic Operations
CHARGEapp_chargeBasic Operations
ZONED_CLEAN_STARTapp_zoned_cleanZone Cleaningv1, s5, s6, s5e
ZONED_CLEAN_STOPstop_zoned_cleanZone Cleanings5e
ZONED_CLEAN_RESUMEresume_zoned_cleanZone Cleanings5e
SEGMENT_CLEAN_STARTapp_segment_cleanSegment Cleanings5e, m1s
SEGMENT_CLEAN_STOPstop_segment_cleanSegment Cleanings5e
SEGMENT_CLEAN_RESUMEresume_segment_cleanSegment Cleanings5e
ROOM_MAPPING_GETget_room_mappingRoom Mappings5e, m1s
GOTO_TARGETapp_goto_targetGoto Targetv1, s5, s6, s5e
WAKEUP_ROBOTapp_wakeup_robot-s5e
GET_LOCALEapp_get_localeLocale Informations5e
GET_INIT_STATUSapp_get_init_statusInitial Statuss5e
GET_STATUSget_statusStatus Message
GET_FW_FEATURESget_fw_featuresFirmware Featuress5e
GET_NETWORK_INFOget_network_infoNetwotk infos5e, s5, s7, s6
GET_SERIAL_NUMBERget_serial_numberSerial Number
SET_LAB_STATUSset_lab_statusLab Statuss5, s6, s5e
REMOTE_STARTapp_rc_startRemote Control
REMOTE_ENDapp_rc_endRemote Control
REMOTE_MOVEapp_rc_moveRemote Control
FIND_MEfind_meFind Robot
CONSUMABLES_GETget_consumableConsumable
CONSUMABLES_RESETreset_consumableConsumable
CLEAN_SUMMARY_GETget_clean_summaryClean Summary
CLEAN_RECORD_GETget_clean_recordClean Summary
CLEAN_RECORD_DELdel_clean_record-s5e
CLEAN_RECORD_MAP_GETget_clean_record_mapClean Summary
MAP_V1_GETget_map_v1Map V1
MAP_V1_FRESH_GETget_fresh_map_v1-s5e
MAP_V1_PERSIST_GETget_persist_map_v1-s5e
MAP_RECOVERrecover_map-s5e
MAP_RESETreset_map-s5e
MAP_SAVEsave_mapMaps5, s6, s5e
MAP_EDIT_STARTstart_edit_map-s5e
MAP_EDIT_ENDend_edit_map-s5e
MAP_USE_NEWuse_new_map-s5e
MAP_USE_OLDuse_old_map-s5e
MAP_STATUS_GETget_map_status-s5e
MAP_RECOVER_GETget_recover_map-s5e
MAPS_RECOVER_GETget_recover_maps-s5e
MAPS_GET_MULTI_MAPSget_multi_maps_listMultimaps5e, s7, s6
MAPS_LOAD_MULTI_MAPload_multi_mapMultimaps5e, s7, s6
DND_GETget_dnd_timerDo Not Disturb
DND_SETset_dnd_timerDo Not Disturb
DND_CLOSEclose_dnd_timerDo Not Disturb
TIMER_GETget_timerCleaning Timer
TIMER_SETset_timerCleaning Timer
TIMER_UPDATEupd_timerCleaning Timer
TIMER_DELdel_timerCleaning Timer
TIMER_SERVER_GETget_server_timerCleaning Timers5e
TIMER_SERVER_SETset_server_timerCleaning Timers5e
TIMER_SERVER_UPDATEupd_server_timerCleaning Timers5e
TIMER_SERVER_DELdel_server_timerCleaning Timers5e
TIMEZONE_GETget_timezoneTimezone
TIMEZONE_SETset_timezoneTimezone
SOUND_INSTALLdnld_install_soundVoice Pack Installation
SOUND_PROGRESS_GETget_sound_progressVoice Pack Installations5e
SOUND_CURRENT_GETget_current_soundCurrent Sound
SOUND_VOLUME_GETget_sound_volumeSound Volume
SOUND_VOLUME_CHANGEchange_sound_volumeSound Volumes5e
SOUND_VOLUME_TESTtest_sound_volumeSound Volumes5e
LOG_UPLOAD_GETget_log_upload_statusLog Upload
LOG_UPLOAD_ENABLEenable_log_upload-
LOG_UPLOAD_USERuser_upload_log-s5e
CUSTOM_MODE_GETget_custom_modeCustom Mode
CUSTOM_MODE_SETset_custom_modeCustom Mode
CUSTOM_MODE_WATERBOX_GETget_water_box_custom_modeWater Box Custom Modes5e
CUSTOM_MODE_WATERBOX_SETset_water_box_custom_modeWater Box Custom Modes5e
CARPET_MODE_GETget_carpet_mode-s5e
CARPET_MODE_SETset_carpet_mode-s5e
SEGMENT_STATUS_GETget_segment_status-s5e
SEGMENT_NAMEname_segment-s5e
SEGMENT_MERGEmerge_segment-s5e
SEGMENT_SPLITsplit_segment-s5e

Generic MiIO Commands

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

TypeCommandDocumentation
INFOmiIO.infoInfo
ROUTERmiIO.config_router-
OTAmiIO.otaUpdate Firmware Over Air
OTA_PROGmiIO.get_ota_progress-
OTA_STATEmiIO.get_ota_state-
WIFI_STATEmiIO.wifi_assoc_stateWifi Status

:exclamation: Suggestions & improvements very welcome!