Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicoduj/homebridge-deebotecovacs
Homebridge Deebot (from Ecovacs) plugin
https://github.com/nicoduj/homebridge-deebotecovacs
deebot ecovacs homebridge homebridge-plugin
Last synced: 13 days ago
JSON representation
Homebridge Deebot (from Ecovacs) plugin
- Host: GitHub
- URL: https://github.com/nicoduj/homebridge-deebotecovacs
- Owner: nicoduj
- License: unlicense
- Created: 2019-08-16T17:18:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-10T08:54:46.000Z (over 2 years ago)
- Last Synced: 2024-10-03T12:24:44.439Z (about 1 month ago)
- Topics: deebot, ecovacs, homebridge, homebridge-plugin
- Language: JavaScript
- Homepage:
- Size: 202 KB
- Stars: 42
- Watchers: 9
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: readme.md
- Changelog: CHANGELOG.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# homebridge-deebotecovacs
[![npm](https://img.shields.io/npm/v/homebridge-deebotecovacs.svg)](https://www.npmjs.com/package/homebridge-deebotecovacs)
[![npm](https://img.shields.io/npm/dw/homebridge-deebotecovacs.svg)](https://www.npmjs.com/package/homebridge-deebotecovacs)
[![npm](https://img.shields.io/npm/dt/homebridge-deebotecovacs.svg)](https://www.npmjs.com/package/homebridge-deebotecovacs)[![CodeFactor](https://www.codefactor.io/repository/github/nicoduj/homebridge-deebotecovacs/badge)](https://www.codefactor.io/repository/github/nicoduj/homebridge-deebotecovacs)
[![Build Status](https://travis-ci.com/nicoduj/homebridge-deebotecovacs.svg?branch=master)](https://travis-ci.com/nicoduj/homebridge-deebotecovacs)
[![Known Vulnerabilities](https://snyk.io/test/github/nicoduj/homebridge-deebotecovacs/badge.svg?targetFile=package.json)](https://snyk.io/test/github/nicoduj/homebridge-deebotecovacs?targetFile=package.json)[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
Plugin for controlling your [deebot Ecovacs](https://www.ecovacs.com/global/deebot-robotic-vacuum-cleaner) from [Ecovacs](https://www.ecovacs.com/global/support/) through [HomeBridge](https://github.com/nfarina/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](https://github.com/Automattic/node-canvas#compiling).
For use in the [oznu/homebridge](https://github.com/oznu/docker-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](https://github.com/oznu/docker-homebridge#optional-settings) env variable directly with docker
```bash
-e PACKAGES=build-base,cairo-dev,jpeg-dev,pango-dev,giflib-dev,librsvg-dev
```## Homebridge configuration
Config as below:
```json
"platforms": [
{
"platform": "DeebotEcovacs",
"email": "[email protected]",
"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 . Name can be specified like ["1/Kitchen","1,2/LivingRoom"]
- `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 . Name can be specified like ["x1,y1,x2,y2,numberOfcleanings/Kitchen"]
- `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][].
[changelog]: CHANGELOG.md
## 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 ![wpietri]: https://github.com/wpietri/sucks
[mrbungle64]: https://github.com/mrbungle64/ecovacs-deebot.js## Donating
Support this project and [others by nicoduj][nicoduj-projects] via [PayPal][paypal-nicoduj].
[![Support via PayPal][paypal-button]][paypal-nicoduj]
[nicoduj-projects]: https://github.com/nicoduj/
[paypal-button]: https://img.shields.io/badge/Donate-PayPal-green.svg
[paypal-nicoduj]: https://www.paypal.me/nicoduj/## 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][].
[unlicense]: LICENSE