Hi all! I posted 6 months ago (Wow does not feel like it has been that long) about the solution I made for controlling your Roborock vacuums completely offline called Local Roborock Server. At the time, it was very early days and I recommended only trying to set it up if you were rather technical. I'm happy to say that a lot of work has been done and I think it's ready for general use. I will admit, docs still leave a lot to be desired, but it should generally be easier to set up now! And it now supports:
- Reverse proxies
- A home assistant app/addon
- vacuums using a 'v2' protocol (AKA most of the new flag ship vacuums) (This was only possible thanks to Dennis Giese who dumped the firmware off of a vacuum board I sent him. Dennis is the reason why we have Valetudo and this project as well, consider supporting his work here)
- Onboarding vacuums that have never been connected to Roborock's cloud at all
- LocalRock Mobile App which is a custom ios/android app that can connect to your local roborock server. This is not created or maintained by me, but was made by Sidon
If you are interested in my technical write up, you can read it here
The Q Series (Q7, Q10 – not to be confused with the Qrevo series or the Q5 series…) are not currently supported but I'm making some good progress there (again thanks to Dennis dumping a board for me). I am waiting to share results pending hearing back on a responsible disclosure. Q10 might actually be supported, I can only confirm that Q7 is not currently supported. If you want to stay up to date with my progress here I recommend starring or watching the repo.
If you'd like to get started with the project, you can check out the docs or the Github Readme. And a list of the vacuums that have been tested and confirmed working here. My docs are not the best and I am open to anyone who wants to make them a bit better! Installation changes slightly based on your domain, certificate provider, network, and where you are hosting the server. Many users have had luck having AI get them through problems, but I hope I can get the docs good enough at one point that it is easier to follow and that is not needed.
If you try it out and it works, consider starring the repo so that others can see!
FAQ:
Q: Why shouldn't I just use Valetudo? A: If your vac supports it, you should! Valetudo is a very robust solution. But, Valetudo is not supported for all Roborock vacuums.
Q: Do I have to have a certificate and a domain, can't I just route it via DNS? A: Unfortunately, no. The vacuum checks to make sure it is a valid cert.
Q: I am onboarding but it is taking a while for the vacuum to make its region calls. A: There are two slowdowns. 1) Something about the custom region payload seems to make the vacuum disconnect and reconnect to the wifi 3 times with a timeout. On newer vacuums this can take a few minutes, and then the vacuum will send the API calls like normal. I do not have the firmware to figure out what is happening here yet. 2) When we get the signatures, we have to calculate a GCD. This is a lot of sequential arithmetic that takes a while at the size of the signatures. There is not too much I can do here.
Source: r/homeassistant · by /u/DivergingDog