A standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots.
Find a file
Robert Resch ccca39761c run isort
2022-01-30 12:03:53 +01:00
.github add ci 2022-01-30 11:47:48 +01:00
bumper run isort 2022-01-30 12:03:53 +01:00
certs update gitignore add readme to empties 2019-06-07 08:05:09 -04:00
data move data web under bumper 2020-01-06 09:31:22 -05:00
docs delete create_certs functionality 2021-06-17 22:11:47 +02:00
example/docker-compose add new endpoints for app v2 (#116) 2021-06-05 09:06:18 -04:00
logs update gitignore add readme to empties 2019-06-07 08:05:09 -04:00
scripts add pre-commit 2022-01-30 10:27:41 +01:00
tests run isort 2022-01-30 12:03:53 +01:00
.coveragerc add pre-commit 2022-01-30 10:27:41 +01:00
.dockerignore add new endpoints for app v2 (#116) 2021-06-05 09:06:18 -04:00
.gitignore fix tests 2022-01-30 11:41:56 +01:00
.pre-commit-config.yaml run codespell 2022-01-30 12:01:40 +01:00
.yamllint add pre-commit 2022-01-30 10:27:41 +01:00
bandit.yaml add pre-commit 2022-01-30 10:27:41 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2019-03-11 21:12:15 -04:00
conftest.py More MQTT Logging 2019-09-27 17:25:57 -04:00
Dockerfile revert to python 3.7 2021-06-20 11:58:20 +02:00
LICENSE.txt License 2017-12-18 12:57:28 -08:00
mkdocs.yml Add sniffing and developing notes 2020-01-01 17:00:39 -05:00
mypy.ini add pre-commit 2022-01-30 10:27:41 +01:00
pylintrc add pre-commit 2022-01-30 10:27:41 +01:00
pytest.ini fix tests 2022-01-30 11:41:56 +01:00
README.md run codespell 2022-01-30 12:01:40 +01:00
requirements-dev.txt add pre-commit 2022-01-30 10:27:41 +01:00
requirements-test.txt add pytest-env 2022-01-30 11:48:52 +01:00
requirements.txt replace busy waiting with asyncio.Event 2021-09-20 20:20:41 +02:00
setup.cfg run isort 2022-01-30 12:03:53 +01:00

License GPLv3

Bumper

Bumper is a standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots. Bumper allows you to have full control of your Ecovacs robots, without the robots or app talking to the Ecovacs servers and transmitting data outside of your home.

Bumper Diagram

Note: The current master branch is unstable, and in active development.

Build Status

Master Branch Status
AppVeyor (Win32) AppVeyor branch
TravisCI (Linux) Travis (.org) branch
Docker Hub Docker Build
CodeCov Coverage Codecov branch

Community: A Gitter community has been created for Bumper so users can chat and dig into issues outside of Github, join us here: Gitter chat

Testing needed Bumper needs users to assist with testing in order to ensure compatibility as bumper moves forward! If you've tested Bumper with your bot, please open an issue with details on success or issues.

Please note: this software is experimental and not ready for production use. Use at your own risk.

Why?

For fun, mostly :)

But seriously, there are a several reasons for eliminating the central server:

  1. Convenience: It works without an internet connection or if Ecovacs servers are down
  2. Performance: No need for messages to travel to Ecovacs server and back.
  3. Security: We can completely isolate the robot from the public Internet.

Compatibility

As work to reverse the protocols and provide a self-hosted central server is still in progress, Bumper has had limited testing. There are a number of EcoVacs models that it hasn't been tested against. Bumper should be compatible with most wifi-enabled robots that use either the Ecovacs Android/iOS app or the Ecovacs Home Android/iOS app, but has only been reported to work on the below:

Model Protocol Used Bumper Version Tested EcoVacs App Tested
Deebot 900/901 MQTT master Ecovacs/Ecovacs Home
Deebot 600 MQTT master Ecovacs Home
Deebot Ozmo 950 MQTT master Ecovacs Home
Deebot Ozmo 601 XMPP master Ecovacs
Deebot Ozmo 930 XMPP master Ecovacs
Deebot M81 Pro XMPP v0.1.0 Ecovacs

Documentation and Getting Started

See the documentation on Read the Docs


Thanks

A big thanks to the original project creator @torbjornaxelsson, without his work this project would have taken much longer to build.

Bumper wouldn't exist without Sucks, an open source client for Ecovacs robots. Thanks to @wpietri and contributors!