homebridge-deebotEcovacsHomebridge Deebot (from Ecovacs) plugin
homebridge-deebotecovacs
Plugin for controlling your deebot Ecovacs from Ecovacs through HomeBridge .
Each Deebot is shown through
- One fan. Fan speed will determine the deebot speed. Direction will handle auto / edge mode. Switching off will make the deebot stop, switching on will make it start cleaning,
- One Switch that will allow you to start lceaning (auto / edge mode depending on Fan direction), and go back to charge when switched off,
- One Switch that will play a sound on your Deebot,
- One Motion sensor that will be triggered in case your deebot needs attention.
The battery percentage / charging status is shown in the detail pane of each service.
npm install -g homebridge-deebotecovacs
IMPORTANT This might not be needed anymore since 1.2.0
If you encounter any issue while installing, you might have to install additionnal packages on your environment since the main dependency of it depends on canvas library which is not available for all configurations. See there for more details : canvas compiling.
For use in the oznu/homebridge Docker image (Alpine Linux) please add the following line to your startup.sh
script and restart the container. You can edit this file in directly in the Homebride UI by selecting the drop down menu in the upper-right-corner and selecting Startup Script.
apk add build-base cairo-dev jpeg-dev pango-dev giflib-dev librsvg-dev
You can also use the PACKAGES env variable directly with docker
-e PACKAGES=build-base,cairo-dev,jpeg-dev,pango-dev,giflib-dev,librsvg-dev
Homebridge configuration
Config as below:
"platforms": [
{
"platform": "DeebotEcovacs",
"email": "toto@titi.com",
"password": "toto",
"countryCode" : "FR"
}
]
Fields:
-
platform
must be "DeebotEcovacs" (required). -
email
email used for your ecovacs account (required). -
password
password of your ecovacs account (required). -
country code
: country code for your account , value in : CH, TW, MY, JP, SG, TH, HK, IN, KR,US,FR, ES, UK, NO, MX, DE, PT, CH, AU, IT, NL, SE, BE, DK, OTHER (required). -
refreshTimer
Optional - enable refresh of deebot state every X seconds, for automation purpose if you need to activate something else based on its state change (defaults : disable, accepted range : 30-600s). -
cleanCache
Set it to true in case you want to remove the cached accessory (only those from this plugin). You have to restart homebridge after applying the option. Remove it after restart, otherwise it will be recreated at each startup. -
deebotNames
Array of NickNames of the deebot to publish. Defaults to all found on your account. -
publishBipSwitch
Optional - defaults to true - Publish the switch that makes the deebot beeps -
publishFan
Optional - defaults to true - Publish the fan that makes speed cleaning available -
publishSwitch
Optional - defaults to true - Publish the switch that makes on/off available -
publishMotionDetector
Optional - defaults to true - Publish the motion detector to be triggered in case of hep needed by your deebot -
publishAutoSwitch
Optional - Publish a switch to start in auto Mode. -
publishEdgeSwitch
Optional - Publish a switch to start in edge Mode. -
publishSpotSwitch
Optional - Publish a switch to start in spot Mode. -
publishSpotAreaSwitches
Optional - Publish switches to start for each spot Area. Must be something like ["1","1,2"] or ["deebotName|1","deebotName2|1,2"] if you have multiple deebots -
publishCustomAreaSwitches
Optional - Publish switches to start for each Custom Area. Must be something like ["x1,y1,x2,y2,numberOfcleanings","x1,y1,x2,y2,numberOfcleanings"] or ["deebotName|x1,y1,x2,y2,numberOfcleanings","deebotName2|x1,y1,x2,y2,numberOfcleanings"] if you have multiple deebots ? number of cleanings is optionnal -
publishAreaSwitchesAsSeparateDevices
Optional - Defaults to false. Publish Custom / Spot switches as indiviual accessories so that you can move them in other rooms. -
showInfoLogs
Optional - Defaults to false. Log info for maps, custom areas and so on .
See : https://github.com/mrbungle64/ecovacs-deebot.js/wiki/Clean-modes
Changelog
See CHANGELOG.
Inspiration
Many thanks to :
- wpietri for sucks python api and protocol
- mrbungle64 for nice js port and revamp of sucks.js package
- every tester / contributor that test, and give feedback in any way !
Donating
Support this project and others by nicoduj via PayPal.
License
As of Sept 01 2019, Nicolas Dujardin has released this repository and its contents to the public domain.
It has been released under the UNLICENSE.