her

@lu7as/homebridge-eufy-robovac

Homebridge plugin for Eufy RoboVac

Showing:

Popularity

Downloads/wk

10

GitHub Stars

29

Maintenance

Last Commit

2mos ago

Contributors

8

Package

Dependencies

1

Size (min+gzip)

11.4KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

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",
    "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:

  1. Install BlueStacks.
  2. Install ADB (this requires HomeBrew on macOS).
  3. Install EufyHome 2.3.2 in the emulator (double click the app and it should auto install).
  4. 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.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100