All Projects → marcelrv → Xiaomirobotvacuumprotocol

marcelrv / Xiaomirobotvacuumprotocol

Licence: gpl-3.0
Attempt to describe the Xiaomi Robot Vacuum Protocol

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
Mihome Binary Protocol
Stars: ✭ 536 (+168%)
Mutual labels:  xiaomi, protocol
M365 dashboard
Xiaomi M365 Display V0.2
Stars: ✭ 168 (-16%)
Mutual labels:  xiaomi
Minestat
📈 A Minecraft server status checker
Stars: ✭ 168 (-16%)
Mutual labels:  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
Gps.js
A NMEA parser and GPS utility library
Stars: ✭ 171 (-14.5%)
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 Pro Hackintosh
XiaoMi NoteBook Pro Hackintosh
Stars: ✭ 2,348 (+1074%)
Mutual labels:  xiaomi

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].