Roborock integration for Gladys Assistant

Robot vacuums paired in the Roborock app: state, start/stop, fan power, dock, battery and routines.
Control the robot vacuums of your Roborock account from Gladys Assistant.
This integration targets robots paired in the Roborock app. It talks to them directly over your local network, with an automatic fallback to the Roborock cloud when a robot is not reachable.
If your robot is paired in the Xiaomi Home (Mi Home) app, it answers on an entirely different service: the Xiaomi Home integration is the one you need. Both can be installed at once if you use both apps.
Features
For every robot of your account:
- State — the operational state of the robot (cleaning, paused, returning to the dock, charging, docked, error…).
- Run mode — start or stop a cleaning cycle.
- Clean mode — the suction level (silent, balanced, turbo, max, gentle).
- Dock — send the robot back to its charging dock.
- Battery — the current battery level, in percent.
- Routines — one button per routine saved in the Roborock app. Pressing it preserves its full configuration: rooms, zones, order, cleaning mode and number of passes.
Configuration
Two steps, in the Actions box:
- Fill in the email of your Roborock account and click Send me a code by email. The address is checked before anything is sent: a typo is reported straight away instead of leaving you waiting for an email.
- Fill in the code you receive and click Link the account with this code.
The Unlink the account action forgets the session. A code is single-use and expires quickly: if yours is refused, ask for another one.
Then open the Discovery screen and start a scan: your robots appear and can be added to Gladys.
No password is ever asked for, deliberately: many Roborock accounts have none at all (registered with a code, or through Google/Apple), and those that do may be guarded by two-step validation — the password is then accepted and refused for want of a second factor. The code covers every case.
There is nothing else to configure: the region, your robots, their local keys and their IP addresses are all discovered automatically.
How it works
The integration discovers your robots through the Roborock cloud, along with their local encryption key and IP address. Commands and state readings then go through the local network first (TCP), falling back to the cloud (MQTT) when a robot is unreachable. The transport in use is shown as a badge on the device.
Limitations
- The device layer (MQTT and local TCP transports, commands) has never been exercised against a real robot on a Roborock account. The authentication, on the other hand, is verified end to end against the live cloud. If that is your setup, your feedback and debug logs are very welcome.
- Only the Roborock "1.0" protocol family is supported. Recent ranges using a different encryption (Dyad, Zeo) are not covered.
- Suction-level codes vary across model generations. If your model behaves
differently, open an issue with the
fan_powervalue visible in the debug logs.
Configuration settings
These are the settings Roborock asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Roborock account | section | No | Two steps, in the Actions box below: ask for a code, then enter the code you receive. No password is ever needed. |
How to install Roborock in Gladys
- In Gladys, open Integrations: Roborock appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/callemand/gladys-roborock:2.3.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/callemand/gladys-roborock.
Roborock requires Gladys >=4.86.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Roborock is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by callemand, not by the Gladys core team.
- Browse all external integrations
- Discover the native integrations built into Gladys
- Build and publish your own external integration
- Source code on GitHub — source of this documentation