The best way to support this project is the next time you are buying a Roborock device come back here and use one of my affiliate links where I will receive a commission.
You can also support via BMAC or paypal:
NOTE: if you have not already setup this project, i would recommend waiting a few days. i will be pushing a number of changes that are partially backwards incompatible and the new version should be a bit easier to use!
Roborock Local Server is a private Roborock HTTPS and MQTT stack you run on your own system.
This service is meant to stay private. Point your own DNS at your server's LAN IP and do NOT expose it directly to the public internet. In its current state it does not handle internet exposure safely enough. For now, keep it on your LAN only. In the future, I plan to reuse Roborock's auth natively which should make everything secure enough.
This project is in VERY EARLY BETA!!! Do not use this repository unless you are sure you know what you are doing and are rather technical.
- a domain you control
- a place to run the stack on your LAN
- either Docker Compose or a Home Assistant installation that supports add-ons
- a second machine for onboarding later
- a Cloudflare API token with DNS edit access for the zone if you want automatic certificate renewal
Start here if this is your first time setting up the stack:
- Installation for the shared requirements, network setup, and Docker Compose install path.
- Home Assistant if you want to install the stack as a Home Assistant add-on instead of Docker Compose.
- Cloudflare setup if you want Cloudflare DNS-01 auto-renew for certificates.
- Onboarding to pair a vacuum from a second machine after the server is running.
Additional docs:
- Docs index
- Tested vacuums
- Home Assistant for the add-on install path and Home Assistant integration rewiring
- Using the Roborock App
- Custom MQTT
- Custom certificate management
- Dennis Giese (@dgiese) whose research and papers inspired much of the work on reverse-engineering Roborock vacuums
- Sören Beye (@Hypfer) creator of Valetudo, whose work on cloud-free vacuum control has been foundational for this whole space.
- @rovo89 who has been VERY helpful through this process, giving lots of tips and advice.
- python-miio - Their repo was the basis for a lot of python-roborock's logic.
- @humbertogontijo who first created the python-roborock repo.
- @allenporter who has taken up a significant role in the maintenance of the python-roborock library as well as the Roborock integration. The improvements Allen has made to the repository cannot be overstated.
- @rccoleman who was the first beta tester and helped work out some kinks!
This software is provided "as is", without warranty of any kind. Running this stack involves modifying how your Roborock vacuum communicates with the network. You are solely responsible for any damage to your hardware, data loss, network exposure, or other consequences. Use at your own risk. This project is not affiliated with, endorsed by, or sponsored by Roborock.
This project is licensed under the MIT License — see LICENSE for details.