Roborock Vacuum
homebridge-xiaomi-roborock-vacuum · v0.36.0
Adds Xiaomi and Roborock robot vacuums to HomeKit, shown as a fan with room and zone cleaning.
What it says it supports
Brands
- Xiaomi
- Roborock
- Mi Home
Devices it names
- Mi Robot
- Roborock S50
- Roborock S55
- Roborock S5 Max
- Roborock S6
- Roborock T4
- Roborock T6
- Roborock Q5 Pro
- Xiaowa Lite C10
Shows up in Apple Home as from its README
Sensor readings in its code
What people report
Roborock S and T series generally work; room cleaning varies by model, and non-Roborock models (Dreame, Mijia 1C, Smartmi) remain requests.
- Works4
- Partly works4
- Not working1
- Requested3
| Device | Status | What they said | Source |
|---|---|---|---|
| Roborock S7 | Works | Works with plugin via Mi Home token; rooms need autoroom namesSaved copyHi, Will this plugin support Roborock S7? Thx! Excerpt saved from GitHub on 2026-10-22. | Issue #384 · 2021-03 |
| Roborock T4 | Works | Timeout error fixed in 0.12.0Saved copyI checked the log, the first error message came on June 2nd. ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock T4] ^[[39mSTA getDevice | Connected to: 192.168.178.39 ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock T4] ^[[39mSTA getDevice | Model: roborock.vacuum.t4 ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock T4] ^[[39mSTA getDevice | State: charging ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock T4] ^[[39mSTA getDevice | FanSpeed: 102 ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock T4] ^[[39mSTA getDevice | BatteryLevel: 100 ^[[37m[6/2/2020, 9:52:30 PM] ^[[39m^[[36m[Roborock … Excerpt saved from GitHub on 2026-10-22. | Issue #243 · 2020-06 |
| Roborock T7 (a11) | Works | Water box level fixed in 0.13.2 after model addedSaved copyI got a Roborock T7 (roborock.vacuum.a11) Everything is working fine except the water box level is always at 0% in homebridge and home app But the log in the homebridge is: `INF getWaterSpeed | roborock.vacuum.a11 | WaterBoxMode is 202 over miIO. Converting to HomeKit` Is this normal? or is there anything I can do to make it right? Thank you so much 👍 Excerpt saved from GitHub on 2026-10-22. | Issue #259 · 2020-07 |
| Xiaomi Roborock vacuum | Works | User runs v0.6.1Saved copyhomebridge-camera-ffmpeg v0.1.12 homebridge-ewelink-max v0.1.15 homebridge-mi-aqara v0.8.0 homebridge-mi-gateway v0.1.4 homebridge-weather-plus v2.7.2 homebridge-xiaomi-roborock-vacuum v0.6.1 Excerpt saved from Arctic Shift Reddit archive on 2026-10-22. | Reddit comment · 2019-07 |
| Roborock S5 | Partly works | Works but room IDs/room commands not supported by this modelSaved copyHi, i just setup my roborock S5 to run with HomeKit via Homebridge. Everything seems to work except the "get room ID". [code] Excerpt saved from GitHub on 2026-10-22. | Issue #910 · 2024-04 |
| Roborock S6 MaxV | Partly works | Start works; stopping cleaning throws an errorSaved copyIf I start the cleaning (switch the Fan state to on) everything works fine: [2020-6-22 10:42:34] [S6] INF changedCleaning | roborock.vacuum.a10 | Cleaning is ON. [2020-6-22 10:42:34] [S6] INF changedPause | roborock.vacuum.a10 | Paused possible If I switch the Fan (S6) to off, I got the following error: [2020-6-22 10:42:35] [S6] ERR setCleaning | roborock.vacuum.a10 | Failed to set cleaning to false Error: action locked at Object.reject (/usr/lib/node_modules/homebridge-xiaomi-roborock-vacuum/miio/lib/network.js:506:19) at DeviceInfo.onMessage … Excerpt saved from GitHub on 2026-10-22. | Issue #236 · 2020-06 |
| Roborock T7 Pro (a9) | Partly works | Water level not shown until model added to models listSaved copyMy vacuum is ` Roborock T7 Pro (roborock.vacuum.a9)` I use the plugin version `0.13.2` ,and Enable the “waterbotx(beta)” , but I still got the error: `INF getWaterSpeed | roborock.vacuum.a11 | WaterBoxMode is 202 over miIO. Converting to HomeKit` Excerpt saved from GitHub on 2026-10-22. | Issue #259 · 2020-07 |
| Xiaomi Mi Robot Vacuum v1 | Partly works | Not discovered behind Fritz!Box router blocking UDP packetsSaved copyHello, I am having an issue with the homebridge unable to find the vacuum i have setup everything correct, any ideas why it won't discover the vacuum? [2023-01-10, 9:54:48 p.m.] [Robo] [Model=unknown] getSerialNumber | No vacuum cleaner is discovered yet. [2023-01-10, 9:54:48 p.m.] [Robo] [Model=unknown] INF ensureDevice | unknown model | The socket was destroyed or not initialised, initialising the device [2023-01-10, 9:54:48 p.m.] [Robo] [Model=unknown] getFirmware | No vacuum cleaner is discovered yet. [2023-01-10, 9:54:48 p.m.] [Robo] [Model=unknown] INF ensureDevice | unknown model | The … Excerpt saved from GitHub on 2026-10-22. | Issue #639 · 2023-01 |
| Mijia vacuum v2 | Not working | Fails getState and clean commandSaved copy[code] also [code] and [code] The last error is also the one I see in Homebridge logs [code] Besides that the getSerialNumber function also fails to get a serial number from this model - but the error is caught. Excerpt saved from GitHub on 2026-10-22. | Issue #506 · 2022-08 |
| Dreame W10 | Requested | New model error on startup; not supportedSaved copyThis is my config [code] It gives me this error when the bridge starts [code] and gives this error when I try to run [code] Excerpt saved from GitHub on 2026-10-22. | Issue #628 · 2022-12 |
| Smartmi VortexWave | Requested | No data returned; new model request openSaved copyHi, I just got my kickstarter Robot Smartmi VortexWave Robot Vacuum Cleaner. Is there a way to support it with HOOBS? Model: zhimi.vacuum.wa1 This is what hoobs lo showsr: [Model=zhimi.vacuum.wa1] getDocked | Robot Docked is false (Status is undefined) 19.1.2023, 23:13:15Xiaomi Roborock Vacuum BridgeSmartmi VortexWave[Model=zhimi.vacuum.wa1] getCleaning | Cleaning is false 19.1.2023, 23:13:15Xiaomi Roborock Vacuum BridgeSmartmi VortexWave[Model=zhimi.vacuum.wa1] getPauseState | Pause possible is false 19.1.2023, 23:13:15Xiaomi Roborock Vacuum BridgeSmartmi VortexWave[Model=zhimi.vacuum.wa1] … Excerpt saved from GitHub on 2026-10-22. | Issue #647 · 2023-01 |
| Xiaomi Mijia 1C | Requested | Needs new class; commands differ; handshake timeout, no controlSaved copyFirst of all I got this: [4/25/2020, 14:05:01] [Xiaomi Mijia 1C] ERR connect | miio.device, next try in 2 minutes | Error: Could not connect to device, handshake timeout Then 2 mins later: [4/25/2020, 14:07:14] [Xiaomi Mijia 1C] STA getDevice | Connected to: 192.168.1.237 [4/25/2020, 14:07:14] [Xiaomi Mijia 1C] STA getDevice | Model: dreame.vacuum.mc1808 [4/25/2020, 14:07:14] [Xiaomi Mijia 1C] STA getDevice | State: undefined [4/25/2020, 14:07:14] [Xiaomi Mijia 1C] STA getDevice | FanSpeed: undefined [4/25/2020, 14:07:14] [Xiaomi Mijia 1C] STA getDevice | BatteryLevel: undefined [4/25/2020, … Excerpt saved from GitHub on 2026-10-22. | Issue #150 · 2020-04 |
Gathered from the plugin’s GitHub issues, pull requests, discussions, wiki and docs, and from r/homebridge. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local
miio protocol over LAN with IP and token
You’ll need
- Device IP and token
- Vacuum linked to Mi Home app
Compatibility
| Verified by Homebridge | Yes |
|---|---|
| Homebridge versions | ^2.3.0 |
| Homebridge 2.0 | Yes |
| Node.js | ^22 || ^24 || ^26 |
| Settings in Homebridge UI | Yes |
| Matter | No |
| Platform name | XiaomiRoborockVacuum |
| License | MIT |
Community signals
| Downloads a week | 511 |
|---|---|
| Downloads a month | 3,637 |
| GitHub stars | 395 |
| Open issues | 96 |
| Closed issues | 332 |
| Discussions | 13 |
| Last code push | 2026-10-13 |
| Latest version | 0.36.0 (2026-09-07) |
| First published | 2018-03-22 |
| Releases | 124 |
In ReReHome
Whatever this plugin publishes reaches Apple Home as a normal HomeKit accessory behind your Homebridge bridge, so ReReHome shows and controls it like any other.
Bridges get their own settings page listing the accessories behind them.
Caveats from the README
- Roborock-app devices unsupported
- Shown as a Fan, not a vacuum
HomeKit services in its code
Found by scanning the published npm package. A plugin can register a service only for some devices.
- Battery
- Fan
- FilterMaintenance
- LockMechanism
- OccupancySensor
- Switch
Sources
- npm: https://www.npmjs.com/package/homebridge-xiaomi-roborock-vacuum
- Source code: https://github.com/homebridge-xiaomi-roborock-vacuum/homebridge-xiaomi-roborock-vacuum
- Issues: https://github.com/homebridge-xiaomi-roborock-vacuum/homebridge-xiaomi-roborock-vacuum/issues
- Verified plugins list: https://github.com/homebridge/verified





