With this homebridge plugin can you control the xiaomi vacuum robots as fan in your Apple Home App (HomeKit).
Thus plugin use the new miio version 0.15.6 or newer, not like the old ones 0.14.1. Timeouts and API errors are a thing of the past!
- Fan as On-/Off-Switch. When switching off, directly back to the charging station.
- Fanspeed levels adjustable via 3D Touch / Force Touch.
- Xiaomi Mi Robot 1st Generation (Roborock Vacuum V1), Roborock S6/T6 3nd Generation (Roborock Vacuum S6/T6) and Xiaowa Lite C10
- Off (0%)
- Quiet (1-38%)
- Balanced (39-60%)
- Turbo (61-77%)
- Max Speed (78-100%)
- Roborock S50 2nd Generation and S55 2nd Generation
- Off (0%)
- Mopping (1-15%)
- Quiet (16-38%)
- Balanced (39-60%)
- Turbo (61-75%)
- Max Speed (76-100%)
- Xiaomi Mi Robot 1st Generation (Roborock Vacuum V1), Roborock S6/T6 3nd Generation (Roborock Vacuum S6/T6) and Xiaowa Lite C10
- Battery status and condition in the device details. Low battery alert.
- Pause switch (optional).
- Occupancy sensor (similar to motion sensor) for dock status (optional).
- Install git packages first with
sudo apt install git
. - Install the plugin as
root
(sudo su -
) withnpm install -g homebridge-xiaomi-roborock-vacuum@latest --unsafe-perm
. - Customize you homebridge configuration
config.json
. - Restart homebridge, ggf.
service homebridge restart
.
- Example
config.json
with one vacuum:
"accessories": [
{
"accessory": "XiaomiRoborockVacuum",
"name": "Xiaomi Mi Robot Vaccum 1st Generation",
"ip": "192.168.1.150",
"token": "abcdef1234567890abcdef1234567890",
"pause": false,
"dock": true
}
],
- Example
config.json
with two vacuums:
"accessories": [
{
"accessory": "XiaomiRoborockVacuum",
"name": "Xiaomi Mi Robot Vaccum 1st Generation",
"ip": "192.168.1.150",
"token": "abcdef1234567890abcdef1234567890",
"pause": false,
"dock": true
},
{
"accessory": "XiaomiRoborockVacuum",
"name": "Xiaomi Roborock S50 Vaccum 2nd Generation",
"ip": "192.168.1.151",
"token": "1234567890abcdef1234567890abcdef",
"pause": false,
"dock": true
}
],
Name of parameter | Default value | Notes |
---|---|---|
pause |
false | when set to true, HomeKit shows an additional switch for "pause" - switch is on, when pause is possible |
dock |
false | when set to true, HomeKit shows an occupancy sensor, if robot is in the charging dock |
To use this plugin, you have to read the "token" of the xiaomi vacuum robots. Here are some detailed instructions:
- πΊπΈπ¬π§ - python-miio - Getting started
- π©πͺ - Apple HomeKit Forum - HomeKit.Community
- π©πͺ - Homematic-Guru.de
- Feature: Add support for Mi Robot 1S
- Improve: Controlled Connection Retries PR
- Feature: Add support for Roborock T6
- Improve: Support for Roborock S6
- Improve: More generic logic on the different model's speed modes definition
- Feature: Add support for Roborock S6
- Refactoring by @afharo
- re-connection mechanism
- javascript promises (async/await)
- Feature: Add support for homebridge-config-ui-x - thx @pisikaki
- Update engine versions from homebridge and node
- Feature: Mopping is now supported. #31
- Feature: Slightly different Speedmodes between Gen1 and Gen2 considered.
- Bugfix: Initializing status values to variables at startup, there were problems when the robot was not docked when starting homebridge. #15 & #30
- Bugfix:
pause
functionality improved. #15 & #30 - Bugfix: Logging improved.
- Bugfix: "Unknown error" with meaningful error message.
- README customized (
root
withsudo su -
).
- Feature: Additional characteristics (4) for care indicator of sensors, side brush, main brush and filter added (Eve App).
- Bugfix: Fanspeed levels over HomeKit improved.
- Rewrite plugin, changed logic.
- Bugfix: Connection establishment improved.
- Bugfix:
UnhandledPromiseRejectionWarning
- Feature: ERRORs from miio-API added.
- Bugfix: If
pause
/dock
inconfig.json
enabled. - Bugfix:
cannot read property getCharacteristic of undefined
.
- Feature: Logging added.
- Bugfix:
UnhandledPromiseRejectionWarning
. - README customized.
- Feature: Deviceinfos (model, serial and firmware version) shows at startup.
- Bugfix:
UnhandledPromiseRejectionWarning
. - README customized.
- README typo.
- First version.