marcelrv / Xiaomirobotvacuumprotocol
Licence: gpl-3.0
Attempt to describe the Xiaomi Robot Vacuum Protocol
Stars: ✭ 200
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Xiaomirobotvacuumprotocol
Xiaomi Kettle
Xiaomi Kettle BLE protocol reverse-engineered
Stars: ✭ 187 (-6.5%)
Mutual labels: xiaomi, protocol
Xiaomiadbfastboottools
A simple tool for managing Xiaomi devices on desktop using ADB and Fastboot
Stars: ✭ 2,810 (+1305%)
Mutual labels: xiaomi
Quic.net
A .NET C# Implementation of QUIC protocol - Google's experimental transport layer.
Stars: ✭ 173 (-13.5%)
Mutual labels: protocol
Quarry
Python library that implements the Minecraft network protocol and data types
Stars: ✭ 182 (-9%)
Mutual labels: protocol
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+1106.5%)
Mutual labels: xiaomi
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+7486%)
Mutual labels: protocol
Homebridge Mi Hygrothermograph
Homebridge plugin for the Xiaomi Mi Bluetooth Temperature and Humidity Sensor
Stars: ✭ 179 (-10.5%)
Mutual labels: xiaomi
Valetudo
Cloud-free control webinterface for vacuum robots
Stars: ✭ 2,738 (+1269%)
Mutual labels: xiaomi
Homebridge Dafang
Homebridge Plugin for Xiaomi Dafang / Wyze Cam IP Camera => Hey Siri, Start Video Recording
Stars: ✭ 176 (-12%)
Mutual labels: xiaomi
Zenoh
zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
Stars: ✭ 182 (-9%)
Mutual labels: protocol
Erpc
An efficient, extensible and easy-to-use RPC framework.
Stars: ✭ 2,274 (+1037%)
Mutual labels: protocol
Reflow
Content-routable socks5 proxy switcher for your entire LAN.
Stars: ✭ 170 (-15%)
Mutual labels: protocol
Geyser
A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
Stars: ✭ 2,851 (+1325.5%)
Mutual labels: protocol
Hazel Networking
Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
Stars: ✭ 194 (-3%)
Mutual labels: protocol
Binaryserializer
A declarative serialization framework for controlling formatting of data at the byte and bit level using field bindings, converters, and code.
Stars: ✭ 197 (-1.5%)
Mutual labels: 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:
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 |
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 | 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_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 |
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
ℹ️ 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!
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].