Node-RED node for Ecovacs Deebot vacuum cleaner
npm install node-red-contrib-ecovacs-deebot!Logo
Node-RED node for running Ecovacs Deebot vacuum cleaner robots.
There's also initial support for some yeedi models (experimental).
This node uses the ecovacs-deebot.js library.
Some noteworthy features are:
* Basic cleaning functions (e.g. auto clean, spot area, custom area etc.)
* and various other commands (e.g. play sound, reset consumables, relocate position etc.)
* Retrieve basic information (e.g. battery level, cleaning log, consumable, cleaning and charging status etc.)
* and various extended information (e.g. charging position, current map, network information)
* Retrieve information during the cleaning process (e.g. current position and current spot area)
* Set basic and advanced settings (e.g. continuous cleaning, do-not-disturb mode, TrueDetect 3D, volume etc.)
* Adjustment of vacuum power and water level
* Function for loading the current map image
First you have to configure the Ecovacs (or yeedi) account:
- "Name" (optional)
- "Login" (Ecovacs or yeedi)
- "Email / Ecovacs ID" (email or account ID)
- "Password"
- "Country code" (see here for a list of country codes)
#### Ecovacs Deebot
Available options:
- "Account"
- "Name" of the Device
- "Device number"
- "Connect on startup"
- "Retrieve map data object at startup" (experimental)
- "Enable output of simple events" (experimental)
#### Deebot command
Available options:
- "Command" (e.g. Start automatic cleaning, Retrieve battery state)
- Command specific fields (e.g. Map ID, Spot area ID)
There are 2 example flows provided by this node:
* Basic Flow
* Only laser unit models - save map image to file
You can directly import them from the editor using the Import dialog.
* Deebot OZMO 920/950
* Deebot OZMO T8 AIVI
* Deebot X1 Turbo
The following models should work properly or at least partially.
They are either already known to work or are technically similar to these models.
Nevertheless, the functionality may be partially limited.
I try to achieve a wide range of functionality, but decide this case by case depending on complexity and various other criteria.
There is of course no claim to full functionality.
#### Ecovacs Deebot
* Deebot N8 series
* Deebot T8 series
* Deebot T9 series
* Deebot T10 series
* Deebot T20 series
* Deebot X1 series
* Deebot X2 series
#### Airbot
* Airbot Z1
#### yeedi
* yeedi k650
* yeedi 2 hybrid
* yeedi vac hybrid
* yeedi vac max
* yeedi vac 2 pro
* yeedi mop station
Note: The lists may not be fully complete
Legacy models that use XML for data transport (e.g. Deebot OZMO 930, Deebot 900/901) are mostly still working,
but support for these models will be discontinued sooner or later.
Please check this readme for more information.
The minimum required version is 18.x
This node uses the node-canvas library for some map-related functionality which may require the installation of some additional packages.
The installation of canvas is optional and not necessary for models without map functionality, but for full functional range please install the following packages.
For Debian-based Linux systems the following commands should be executed:
``bash`
sudo apt-get update
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Installation for canvas on alpine based systems (e.g. Node-RED docker container):
`bash`
apk add --no-cache build-base g++ cairo-dev jpeg-dev pango-dev giflib-dev
A reboot might be necessary before executing the next command
`bash``
npm install canvas --unsafe-perm=true
For instructions for other systems visit https://www.npmjs.com/package/canvas#compiling
* The "move" function varies from model to model, so it's not implemented universally
* The generation of map images is not stable on 32-bit systems
* and it still does not work properly with the Deebot X1 series and other current models
I am in no way affiliated with Ecovacs Robotics Co., Ltd. or yeedi Technology Limited.
GNU GENERAL PUBLIC LICENSE
Copyright (c) 2023 Sascha Hölzel