If this project helps, you can support it or next time you buy a Roborock device, come back here and use my affiliate links!
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.
- Docker with
docker compose uv- a Linux server or Linux VM on your LAN
- a domain you control
- 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 requirements, network setup, configuration, and starting the stack.
- 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
- 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
- @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!