Coder Social home page Coder Social logo

katanapod / xiaomirobotvacuumprotocol Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcelrv/xiaomirobotvacuumprotocol

0.0 0.0 0.0 1.16 MB

Attempt to describe the Xiaomi Robot Vacuum Protocol

License: GNU General Public License v3.0

Java 69.29% Kaitai Struct 30.71%

xiaomirobotvacuumprotocol's Introduction

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!

xiaomirobotvacuumprotocol's People

Contributors

boesing avatar danielkihlgren avatar dopeyr avatar dutchmannl avatar enessene avatar gjuhasz86 avatar honcheng avatar hypfer avatar marcelrv avatar markkuuss avatar mbadiwe avatar meistertr avatar philipp2310 avatar rytilahti avatar scottg489 avatar simonswine avatar srgbtl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.