Homebridge plugin for Eufy RoboVac
A full rewrite of apexad/homebridge-eufy-robovac to improve performance (#34) and repair broken features, like the "Find Robot" switch.
-
Switch on / off. When switching off, the RoboVac will return to charging dock first.
-
Display battery level, and notify on low battery.
-
Display battery charging state.
-
Find robot
To access your RoboVac, you need both the deviceId
/localKey
.
To get the deviceId
/localKey
use the eufy-clean-local-key-grabber
repository.
In the README of that project it says they are not sure if it still works, but I can confirm that it still works as of August 2024.
This easiest way to use this plugin is to use homebridge-config-ui-x.
To configure manually, add to the platform
section of homebridge's config.json
after installing the plugin.
Command: npm install -g homebridge-eufy-robovac
Config:
{
"devices": [
{
"name": "<deviceName, required>",
"deviceId": "<deviceId, required>",
"localKey": "<localKey, required>",
"deviceIp": "<deviceIp, defaults to undefined>",
"useSwitchService": "<true | false, defaults to false>",
"findButtonEnabled": "<true | false, defaults to true>",
"batteryInformationEnabled": "<true | false, defaults to true>",
"errorSensorEnabled": "<true | false, defaults to true>"
}
],
"debugLog": "<true | false, defaults to false>",
"platform": "EufyRobovac"
}
You can add multiple RoboVacs under devices
.
-
deviceName
: Give each device a unique name. -
deviceId
/localKey
: Required to access your device's API (see instructions above). -
deviceIp
: If your device has a static IP, enter it here to improve performance. -
useSwitchService
: By default, RoboVac will be added to Home app as a fan accessory (since HomeKit does not natively support vacuums). If set to true, a Switch accessory will be used instead. -
findButtonEnabled
: If set to true, a switch that performs the 'Find Robot' function will also be added. -
batteryInformationEnabled
: If set to true, the device will show information about the battery charge level and charging status. -
errorSensorEnabled
: If set to true, a motion sensor that reacts to the device's error messages will also be added. Also, the devices error messages will be logged to HomeBridge. -
debugLog
: Diverts the log messages for all log levels directly to the console. -
platform
: Tells Homebridge that this platform config belongs to this plugin. Do not change.
- mitchellrj - Did most of the legwork in figuring out how to talk to the Eufy
- seikan - Provided a great example for how to expose a vacuum cleaner in homebridge/homekit
- apexad - Created the original version of the plugin.
This plugin is written in TypeScript. You should just need to run npm run build
after making changes in the src/
directory.