In case anyone has the Roborock S5 and wants to use Valetudo, I wrote a small HowTo on how to install it using a Mac (I found the original guide a little confusing).
Haaaa great write-up! I was in that situation and ended up repurposing a Raspberry Pi to make sure it would fully work. Didn't wanna take the risk of bricking it so soon after getting it haha
For anyone confused, this is not an "Open Source Cloud" replacement, but and "Open Source" "Cloud Replacement". A way to have the vacuum robot become cloud-free.
I just came from the post about postgres data corruption and spent a moment assuming that "robot" was a metaphor or term of art for some sort of daemon. Then my brain also tried to interpret it as a cloud service remotely reaching into my home and cleaning the carpet before deciding it must have something to do with actual floor cleaning robots:)
I enjoyed my Neato XV-11 back in 2010. It had laser room mapping and planning, automatic self-charging as needed, and scheduling back when Roomba was the only alternative and only offered "bounce in random directions" robots. No software, cloud or otherwise, required. Scheduling was done on a small screen on the vacuum itself. I gave it away to someone else after 8 years.
I have a somewhat newer Neato (non cloud connected), and a Neato D3 (cloud connected).
The non-cloud is inconvenient, not because of not having cloud management, but due to the fact that it doesn't have any networking capabilities at all. I still keep it around and trigger manually. Its LIDAR died, but I just had to open and clean it to restore operation. One battery changed. Still going.
The other one, despite being cloud connected, can at least be managed by Home Assistant(although the initial integration is a pain). Which means I can do things like run it when there's no-one at home (or noone downstairs).
I also have a Braava. Which, despite connecting to iRobot's cloud, also has local control. It works even better than the D3.
They are all outclassed by newer robots. If I had the time I'd replace the onboard electronics entirely.
Life circumstances changed. I got married, we both work from home, which means there's no convenient time for extended vacuum noise and keeping the floors clear of obstacles any more. I offered the Neato to a neighbor when we moved, it was still working great after a $30 battery replacement. I now just use a Dyson stick vacuum on our mostly hardwood floors.
I'd love to use this with my Roborock S4, because from what I can tell it works better with the open software than with Xiaomi's cloud software (and you drop the cloud requirement). But from what I remember it's quite an involved process, starting with completely disassembling the device. In hindsight, I should have bought a different device, but back then no such guidance was available.
I believe it used to be easier and could be done basically with one click, but Xiaomi/Roborock pushed an update that locked it down as well as making it hard to downgrade to an earlier version.
I used to be a huge fan of robot vacuums back when I had hardwood floors. When I switched to a house with carpets, I noticed my socks were never really clean and my kids started having allergies. So I bought the super-ultimate-mega model of a standard old fashioned vacuum (which cost less than half of a Roomba) and that significantly improved both my sock situation and my kids' allergies. For carpets, I don't think these tiny vacuums can compete with the powerful standard ones, the floors just don't get as clean as they can get.
A robot vacuum doesn't replace an upright vacuum, it supplements it.
Our robot vac gets ran daily, and each day the bin is almost completely filled with dog hair. Then periodically we use the upright, and it still always manages to pull up lots of debris from the carpets.
> For carpets, I don't think these tiny vacuums can compete with the powerful standard ones
They never did. Even the best vacuum plugged into your standard 120v receptacle will have trouble removing all the crap that's accumulated in the average carpet. A small, battery powered vacuum can't either.
They do help in reducing the amount of stuff that accumulates in between hand vacuums. Back when I had carpets, because of my wife's allergies, I'd vacuum with the "old fashioned" vacuum every weekend. A Neato would run every day (and would have to be emptied every couple of days, it picked so much stuff). Then I'd actually _wash_ the carpets every month. Every single time, even with all that, the water would come out black. This helped, but ultimately we had to move. You can never really clean carpets.
If anyone in your family has allergies, get rid of carpets if you can. Just because they may not be displaying symptoms that are really obvious right now, doesn't mean they aren't having a constant allergic response.
Yes, washing the carpet is absolutely necessary. But: how the heck did you find time to wash your carpets every month?? I'm guessing your apartment was pretty small... I takes me a whole day or more to wash all my carpets.
I try to do the bottom floor every 3 months and the upper floor every 6 months. If I do it more frequently I start getting clean water out of the machine, especially in the upper floor.
That said, we don't use shoes inside our home. I think that makes a great difference.
I've never had a super strong vacuum, but, as others have said, the main attraction of the robot is that is can do its business much more often than I would vacuum myself.
So, to me, the house is actually cleaner, because there is no way I would vacuum every day.
And even if the suction isn't up to a regular one's standard, I'm still quite amazed by how much dust it gathers every time. And I don't have pets, and live in a relatively small apartment.
My brother has a new house that's almost entirely one level and tile floors with just a few throw rugs. He really likes whatever robot vacuum he has. I've looked at them but I have a bunch of level transitions, always have various stuff in piles, etc. Last time I looked, I decided to get a cordless Dyson instead. I just pull it out, do a quick vacuum of high traffic areas, and put it away. Takes me 5 minutes--and totally solved the problem of my kitchen especially getting dirty between the times my housekeeper comes.
I agree with you. I have a robot vac and a plug in stick vac. The robo vac is scheduled to clean 3x a week when no one is home. Most of the time it finished this just fine and things appear ok.
But in Fridays when I get home I give everything a once over with the plug in vac and the amount of dust and dirt it captures at first surprised me. The robo vac's suction just can't compete
But I still don't mind it as it makes keeping the floors in general cleaner easier - but if I had to do it again today I wouldn't buy the robo vac.
What? They are all vacuums. With a brush. From the original Roomba, to the Neato, to Roborock, etc. We can argue about their suction power and how good the brush is, but they all have them.
The Apache-2.0 license is a very permissive license and a lot of work is being shared for free here, so I trust people to not take advantage of that and sell Valetudo; especially not as their own work.
Please don’t disappoint me. Thank you.
---
If you want to build a community of contributors and deter freeloaders - that's exactly what GPL is for.
Apache-2.0 is designed to allow people to proprietarize Valetudo and use it in closed-source devices.
> Apache-2.0 is designed to allow people to proprietarize Valetudo and use it in closed-source devices.
At the time, the idea behind that was that _maybe_ this would make the vendor pick it up and provide a cloud-free stock experience.
In that case, it would've been fine-ish if they'd monetize the work as it would still be very much beneficial to everyone.
That sentence in the docs is not directed at those. You can't reason with corporations.
Instead it's directed at that crafty kind of individual that would sell pre-rooted robots just because there's money to be made. Those people that purposefully refuse to share knowledge so that they can monetize it.
I am aware that it won't stop them either, but at least there's an attempt I guess.
Given what I've learned in the process, I can't say for certain that I'd pick the Apache-2.0 license again but it is like that now. As far as I'm aware, re-licensing would require asking every single contributor for their consent. I'm not too fond of doing that tbh.
I once started an open source project where one facet was interfacing with, and even embedded firmware for, proprietary hardware. I went for the GPL precisely because vendors would otherwise use the software without giving back patches, credit etc, and indeed hide the fact that they were shipping free software in the first place. The vendors would thus not have any more inclination to be more open about their hardware's protocols etc, they'd just get free labor.
And you know what? They did it anyway. Several times people shipped our software, changed just enough that it wasn't blindingly obvious at a glance, but of course we figured it out and lots of lying ensued. There is no point whatsoever in trying to be nice wrt proprietary hardware, hardline all the way.
FYI the guy running the VLC project (Jean-Baptiste Kempf) once changed the license for it, 10 years after the project started, with tons of contributors to contact etc. Some patches had to be rewritten, but most authors just agreed. Took him years, but he totally did it, and VLC got the new license. I don't know if I'd recommend it, or have the stomach to do that myself, but the guy is a personal hero of mine because of it. You could be, too! :-)
> Those people that purposefully refuse to share knowledge so that they can monetize it
For both cases, again that's exactly what GPL is for.
> As far as I'm aware, re-licensing would require asking every single contributor for their consent
First, you can start contributing all new code under GPLv3 while keeping a copy of the Apache-2.0 license in the repo and a notice that inform users that large part of the codebase was contributed under Apache-2.
Secondly, you can also ask the few major contributors if they accept switching to GPL. Those who contributed tiny changes e.g. 1-line bugfixes in the past do not have enough contribution material to have a legally standing copyright claim.
I have an S5 which I updated with some firmware generated from a site Dan Giese was running but I don't recall Valetudo as a name.
But I would have loved to be able to simply buy one pre-rooted AND pay $50-$100 extra for it. I honestly think there is a market for "same robot as your neighbour, but not spying on you!" I'd buy two more for my parents.
They don't, however refusing to do so usually indicates a lack of skill. Capable people don't need to purposefully control the flow of information just so that they have an advantage. They have an advantage because they're capable.
Of course there may be other and actual valid reasons for why someone might not share all information. That's not what I'm talking about in the previous comment though.
There's a big list of robots, but is there a "best" to buy? Like, the one they recommend in their forums or something? My vacuum and thermostat are the last two parts of my home automation with any need to connect outside of my home network, and I'm always looking out for a good way to remedy that. This looks amazing.
They have recommendations for each robot but it's not easy to parse them quickly (I.e. in the table).
I went through them all and it seems the only one that's fully recommended is the Dreame Tech Z10 Pro. I actually bought it too the other day with the intention of installing this on it, so now waiting for delivery.
The rooting process seems relatively involved though, so we'll see how it goes.
That robot looks very nice indeed! I looked at the rooting instructions, and there's this lovely, bolded, line:
> This was patched in many new firmwares. Do NOT update your robot via the Mi Home app if you want to root.
Which sounds ominous if you're buying the robot new today. How do you feel about posting back here, or emailing me, or whatever, after you give it a shot? That bot plus open source firmware looks absolutely ideal.
Unfortunately it seems that the old stock is running out and they're now selling robots with a firmware version that is too new for that rooting method right from the factory.
_Some_ users report that they still got UART rootable robots but the number of those who didn't steadily increases.
That doesn't mean that those robots aren't rootable though. We do have more rooting methods, however those aren't public currently. It is TBD how we will move on from here.
Wow this feels a bit Baader-Meinhoff. With Valetudo + self-emptying as motivation, I received my Z10 via Amazon / "Dreametech official store" just this past Friday. Happily, it arrived with fw 4.1.7_1056 and I was able to use the simple reset method to install. Valetudo's worked wonderfully for the past week and I've never even seen the official app.
One note: VT is not open source firmware. It's more like a brain controlling parasite with a good UX.
I've purchased this robot and installed this firmware on it. It definitely took about an hour and it was a little tedious with having the push the wires into the tiny pins (I had my orientation wrong for the pinout).
That said, once it worked, it's been working well since then! My only note is that you do need to make sure to keep the sensors clean or the map can "drift" and it'll stop understanding where it is. For me, to fix that, I had to reset the map before it would work reliably again.
I own the Z10 Pro flashing wasn’t super complicated and it now completely auto updates itself. Zero problems. All the features work. I haven’t even found a bug in the UI
I have a relatively new Roomba (one with the camera), and I hate it. Sure it can be more efficient than the old models without a camera, it insists on building an map of the house, which takes forever, constantly needs restarted because it literally can't find rooms, or just fails to update the maps, requiring you to start all over again. It doesn't even have those IR walls, that the old ones had.
IF there was a better mapping system, that would be helpful.
After like 10 years of trying these things, I've decided they're mostly a gimmick, but damn it, I want them to work.
I'm still renting so I've not really bothered with any thermostat yet. I used to have a Nest Learning thermostat when I was living in a place where they allowed me to install it, but I gave that away when I moved.
Haven't bothered with thermostats since, and likely won't until I've moved into my own place, but I'm hoping to find a thermostat that can run without cloud or at least, with an OSS cloud replacement.
I found the S5 (not max) a good robot for the price. I was able to find one on Amazon Warehouse Deals for $250 2 years ago. It's been running Valetudo since the day I recieved it. I don't have many complaints other than I wish I had the Dreame Tech Z10 Pro instead but given the Z10 Pro is 3x the price I paid for the S5 I'd still say I am happy.
Thank you for posting this, I'm always keeping an eye out for self-hosted replacements for the "home convenience but with cloud-based strings attached"...
I think the point they're making is that this isn't a full fledged vacuum robot firmware, it's basically the factory firmware patched with a Mi Home cloud emulator/replacement that runs as a daemon on the vacuum.
So while you build a firmware image, it's not a fully custom, from-scratch implementation of vacuum functionality, it's just the factory firmware image with the cloud parts replaced.
+1 for this project, I'm glad it's getting visibility. It's an excellent add-on for the robots that are compatible, especially for all the privacy-conscious people that want smart devices in their homes.
I'd like a vacuum that picks up hairs with no suction and is super quiet. Anything that accomplishes this? I really hate the sound of a vacuum and have some hairy animals in the house.
Does anyone know whether the Roborock S7 + empty station is supported? I saw someone on GitHub talking about this model, but on the website it isn't listed.
It’s unofficially supported. I have it set up, connected to home assistant and it works great. Only thing I’ve noticed that is missing is the carpet detection feature, so just make sure you have the carpet set in the Roborock app before you root it. Buttttt it’s a huge pain in the ass to root. You pretty much have to take apart the entire robot, thus voiding your warranty, to do it. There are some guides, but not many, online on how to do it. All in all, 100% worth it. But be careful because I’ve seen people break/loosen a wire when taking the robot apart making it a really expensive paperweight
Edit: I’m not sure about the auto empty. I just have the regular S7.
This. To be fair that info is very hard to discover on the website (I looked it up in the docs code that generates the website because I found that easier to parse like a database of all models).
I own an L10 and am very happily running valetudo on it. Someone should make a business out of selling them pre-flashed with valetudo for a less technical audience…
> Someone should make a business out of selling them pre-flashed with valetudo for a less technical audience…
Please don't. Attracting a less technical audience to the project would be immensely harmful to it.
It is already quite difficult to deal with issues that technical people might have. You simply do not want everyone to use your open source project. There is also no point in doing so. Why would one want to make their own life harder?
I don't know if by "make their own life harder" you mean the maintainer (you) or the user, but, as a user, valetudo has saved me. The original Xiaomi app is buggy, slow, and phones home, but Valetudo just works locally. It's amazing, thank you!
> Someone should make a business out of selling them pre-flashed with valetudo for a less technical audience…
From Why Valetudo[0]:
First of all, please do not try to convince people to use Valetudo.
We all know how terribly it usually turns out when people try to
convince their friends to use linux on their desktop. Using Valetudo
only makes sense if you understand its goals and feel like they are
important to you. Everything else will fail.
It is perfectly fine to continue using the cloud if you don’t really
care about its downsides. Do not flame people for doing that. You
can be a bit snarky about downtimes, lag and other cloud shenanigans
though :)
I'm pretty happy with Anker's brand Eufy. They're relatively quiet. I have hard floors with throw rugs. I've heard roombas are too loud to use if you're home where as I can work in the same room with my Eufy running
I use Roomba for vacuuming + Braava for moping and I'm very happy with the combo. Every Saturday morning they clean one floor and go back to charging, in the afternoon I take them upstairs to clean the other floor and it's done.
The only thing I need to do regularly is to fill water tank in Braava and wash the moping pad, and every once a while replace the bag in Roomba self-emptying base.
One thing to note is that this requires fairly high-end models, at least in case of Roomba. I used some e-series model before and I wasn't happy. Now I have i7 series and it's a big difference (primarily in self-learning and navigation)
As a native Portuguese speaker, the project's name confused the hell out of me. Vale Tudo is Portuguese for "everything goes" or "no holds barred", and is the name of a Brazilian combat sport.
Turns out Valetudo is the Roman name of the Greek goddess of cleanliness, Hygieia (which is where we get the word hygiene from)
Link to the guide: https://flodan.github.io/blog/articles/roborock-valetudo-mac...
Maybe it is helpful to someone