โ† Back to Smart Home & IoT
Smart Home & IoT by @dru-ca

robo-rock

Control Roborock robot vacuums (status, clean, maps, consumables)

0
Source Code

Roborock Vacuum Control

Control Roborock robot vacuums via the roborock CLI.

First-Time Setup

1. Install CLI

pipx install python-roborock

2. Login to Roborock Account

roborock login

Enter your Roborock/Xiaomi Home app email and password.

3. Find Your Device ID

roborock list-devices

Note your device ID (looks like AbCdEf123456789XyZ).

4. Store Device ID (Optional)

Add to your TOOLS.md for easy reference:

## Roborock Vacuum
- **Device ID:** your-device-id-here
- **Model:** Roborock S7 Max Ultra (or your model)

Quick Commands

All commands need --device_id "YOUR_DEVICE_ID" โ€” replace with your actual device ID.

Check Status

roborock status --device_id "YOUR_DEVICE_ID"

Start Cleaning

roborock command --device_id "YOUR_DEVICE_ID" start

Stop/Pause

roborock command --device_id "YOUR_DEVICE_ID" stop
roborock command --device_id "YOUR_DEVICE_ID" pause

Return to Dock

roborock command --device_id "YOUR_DEVICE_ID" home

Clean Specific Room

First get room IDs:

roborock rooms --device_id "YOUR_DEVICE_ID"

Then clean specific rooms:

roborock command --device_id "YOUR_DEVICE_ID" segment_clean --rooms 16,17

Maintenance Commands

Check Consumables

roborock consumables --device_id "YOUR_DEVICE_ID"

Shows filter, brush, sensor lifespans.

Reset Consumable

roborock reset-consumable filter --device_id "YOUR_DEVICE_ID"
roborock reset-consumable main_brush --device_id "YOUR_DEVICE_ID"
roborock reset-consumable side_brush --device_id "YOUR_DEVICE_ID"

Last Clean Record

roborock clean-record --device_id "YOUR_DEVICE_ID"

Clean Summary (All Time)

roborock clean-summary --device_id "YOUR_DEVICE_ID"

Maps & Rooms

Get Maps

roborock maps --device_id "YOUR_DEVICE_ID"

Cache Home Layout

roborock home

Save Map Image

roborock map-image --device_id "YOUR_DEVICE_ID" --output /tmp/vacuum-map.png

Room Features

roborock features --device_id "YOUR_DEVICE_ID"

Settings

Volume

roborock volume --device_id "YOUR_DEVICE_ID"
roborock set-volume 50 --device_id "YOUR_DEVICE_ID"

Do Not Disturb

roborock dnd --device_id "YOUR_DEVICE_ID"

LED Status

roborock led-status --device_id "YOUR_DEVICE_ID"

Child Lock

roborock child-lock --device_id "YOUR_DEVICE_ID"

Interactive Session

For multiple commands without repeating device ID:

roborock session --device_id "YOUR_DEVICE_ID"

Troubleshooting

Commands fail silently:

  1. Check login: roborock login
  2. Use debug mode: roborock -d status --device_id "YOUR_DEVICE_ID"
  3. Ensure vacuum is online and connected to WiFi

"Device not found":

  • Run roborock list-devices to verify device ID
  • Make sure you're logged into the correct Roborock account

"Authentication failed":

  • Re-run roborock login
  • Check you're using the same account as your Xiaomi Home / Roborock app

Common Tasks

"Vacuum the house":

roborock command --device_id "YOUR_DEVICE_ID" start

"Vacuum the kitchen":

roborock rooms --device_id "YOUR_DEVICE_ID"  # find kitchen room ID
roborock command --device_id "YOUR_DEVICE_ID" segment_clean --rooms <kitchen_id>

"Is the vacuum done?":

roborock status --device_id "YOUR_DEVICE_ID"

"Send vacuum home":

roborock command --device_id "YOUR_DEVICE_ID" home

"When did it last clean?":

roborock clean-record --device_id "YOUR_DEVICE_ID"

"Check brush/filter life":

roborock consumables --device_id "YOUR_DEVICE_ID"

Supported Models

Works with most Roborock vacuums including:

  • Roborock S series (S4, S5, S6, S7, S8)
  • Roborock Q series (Q5, Q7, Q8)
  • Roborock E series
  • Xiaomi Mi Robot Vacuum (Roborock-based)

Credits

Uses the python-roborock library.