homebridge-eufy-robovac
Homebridge plugin for Eufy RoboVac
Features
-
Switch on / off. When off, it will returning to charging dock automatically.
-
Display battery level, and notify on low battery.
-
Display battery charging state.
-
Find robot
Configuration
This easiest way to use this plugin is to use homebridge-config-ui-x.
To configure manually, add to the accessories
section of homebridge's config.json
after installing the plugin.
Command: npm install -g homebridge-eufy-robovac
Config:
{
"accessory": "Eufy RoboVac",
"name": "Vacuum Cleaner",
"ip": "<IP address of your vacuum cleaner>",
"deviceId": "<deviceId/devId>",
"localKey": "<localKey>",
"hideFindButton": "<true | false, defaults to false>",
"hideErrorSensor": "<true | false, defaults to false>",
"useSwitchService": "<true | false, defaults to false>",
"debugLog": "<true | false, defaults to false>"
}
You can find out more about the deviceId
/localKey
here
Eufy RoboVac will be added to Home app a fan accessory (since HomeKit does not natively support vacuums).
If hideFindButton
is not supplied or set to false, a switch that performs the 'Find' function will also be added.
If hideErrorSensor
is not supplied or set to false, a Motion Sensor that is active when the vacuum has an error will also be added.
If useSwitchService
is true, main Vacuum will be a switch instead of fan.
if debugLog
is enabled (set to true), the underlying library will outut many logs.
Get Device ID & Local Key
There are multiple ways to get the deviceId
/localKey
, but here are the steps which worked for me:
- Install BlueStacks.
- Install ADB (this requires HomeBrew on macOS).
- Install EufyHome 2.3.2 in the emulator (double click the app and it should auto install).
- Follow the instructions to log the data.
Thank You
- 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
Development
This plugin is written in TypeScript. You should just need to run npm run build
after making changes in the src/
directory.
Also this plugin is dependent on eufy-robovac so you will probably want to fork that repo as well.