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 |
---|---|
c1 | Mi Xiaowa Vacuum c1 |
m1s | Mi Robot Vacuum 1S |
v1 | Mi Robot Vacuum |
s5 | Mi Robot Vacuum v2 / Roborock Vacuum S5 / Roborock Vacuum S50 |
s6 | Roborock Vacuum S6 |
s5e | Roborock Vacuum S5 Max |
m1s | Mi Robot Vacuum 1S |
a15 | Roborock Vacuum S7 |
s4 | Roborock 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.
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 | 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 |
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
:information_source: 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 |
:exclamation: Suggestions & improvements very welcome!