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.
- Battery status and condition in the device details. Low battery alert.
- Pause switch (optional).
- Occupancy sensor (similar to motion sensor) for dock status (optional).
- Seconds Fan for water box modes (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,
"waterBox": false
}
],
- 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,
"waterBox": false
},
{
"accessory": "XiaomiRoborockVacuum",
"name": "Xiaomi Roborock S50 Vaccum 2nd Generation",
"ip": "192.168.1.151",
"token": "1234567890abcdef1234567890abcdef",
"pause": false,
"dock": true,
"waterBox": false
}
],
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 |
waterBox |
false | when set to true, HomeKit shows an additional slider to control the amount of water released by the robot (only selected models like S5-Max). Currently in a beta state. |
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
- ...
- Bugfix: Going to dock on speed 0, not stop
- Bugfix: Readme fix
- Feature: Support the new WaterBox property (S5 Max)
- Improve: Reduce changed logs by only logging when the value is actually new
- Improve: Vacuum error handling
- Improve: Fanspeed / Fanmode handling
- Improve: miio library accept all "WORD.vacuum.*"
- Bugfix: Fix the unhandled promises
- Feature: Add support for Roborock S5 Max
- Improve: Refresh the state every 30s to ensure miio is still properly connected
- Bugfix: Battery level
- Bugfix: UnhandledPromiseRejectionWarning on startup when it fails to connect
- Feature: Add support for Roborock Xiaowa E20
- Improve: roborock.vacuum.t6 fanSpeed not supported issue PR
- 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.