Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Valetudo: Open-source cloud replacement for vacuum robots (valetudo.cloud)
251 points by lapser on June 9, 2022 | hide | past | favorite | 89 comments


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).

Link to the guide: https://flodan.github.io/blog/articles/roborock-valetudo-mac...

Maybe it is helpful to someone


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.


Although if you combine it with homeassistant or other home automation services it becomes fully "cloud replaced"


And easiest way to communicate that is to use the TLD .cloud!

No, wait, uh--


:^)


Hah. I didn't realise it until you mentioned it. In my defense I copied it from their site and just made sure it fit HN's title limits.


I figured it out on my own, but did spend a solid 5 seconds wondering how the fuck a cloud service was going to replace my vacuum robot.


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.


Why did you give it away, did you replace it?


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.


Thanks.


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.


Is there actually modern robot vacuum hardware that has FOSS firmware?

Maybe yet another device for Pine64 to consider, maybe.


There apparently are some efforts toward that:

https://github.com/awesome-vacuum/awesome-vacuum https://librervac.org/


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.


Well that's because almost all of them aren't actually vacuum cleaners; they're just sweepers. Brooms work fine on hard floors, not so well on carpet.

Dyson make a (super expensive) vacuum one that actually vacuums, with a brush bar and everything. There are probably others now.


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.


They have a brush that sweeps not a brush bar that beats the carpet. It's completely different.


From TFA:

---

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! :-)


> You can't reason with corporations

> 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.

According to https://www.apache.org/licenses/LICENSE-2.0 redistribution paragraph and https://www.apache.org/licenses/GPL-compatibility.html

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.

But I'd want it to be clear about what they are doing. Like https://www.flashrouters.com/


> Those people that purposefully refuse to share knowledge so that they can monetize it.

Since when do individuals have an obligation to share knowledge for free?


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.


We need this for:

* "Smart" homes

* Electric Vehicles

* "Power Walls"

And everything else tied to an internet connection


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.

[0] https://valetudo.cloud/pages/general/supported-robots.html#d...


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.


Yeah, unfortunately this model isn't available in the UK so I'm just going to have to take a stab in the dark. I'll find out soon enough.


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


So does it do anything better now?

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.


To be fair I never tried the original software so I don’t know what I am missing. It has very good mapping I don’t miss a feature you listed.


Definitely post back here on results if you can, curious how this turns out for you. Also curious what smart thermostat you favor.


I'll be happy to!

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.


On the supported robots page they have developer and recommended field. The z10 pro for example is listed as: get it right now https://valetudo.cloud/pages/general/supported-robots.html


Shame it isn't available for any Botvac models. Their software is atrocious.


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"...


Valetudo is not a custom firmware

Scrolling down

Building the firmware


I did find that kind of funny too!

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.


How amazing! This is precisely something I would have built if I had, you know, talent, time, money, support community, no kids, ...

It's amazing stuff like this gets built, and even more amazing it is free.


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 seems to be work, but with a lot of effort and not a good experience: https://github.com/Hypfer/Valetudo/discussions/854#discussio...


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.


It's not listed on the website, however there is a link to another site which says the S7 can be rooted [0].

You'll probably have to do the more involved shell replacement to get root and flash the firmware.

0: https://dontvacuum.me/robotinfo/detail_roborock.vacuum.a15_0...


Thank you all for the replies!


Wow, I didn’t know this was a thing! I have to look more into this when I’m back on my computer but does this work with home assistant?


Does anyone have any recommendations for a vacuum bot? I remember seeing a roomba years ago and it seemed fairly silly.


If you want to use Valetudo, Z10 Pro and L10 are the only two recommended models.


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 :)
[0] https://valetudo.cloud/pages/general/why-valetudo.html


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 have an older Eufy and it's pretty dumb but it works well and is cheap.


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)


Super cool. My next vacuum robot will be one that works best with this system.


I run valetudo with OpenHAB. No cloud needed just a little rPI.


Strange name “worth everything” or “worth it all”


"Vale tudo" can also be translated as "Everything Goes/Everything Allowed". It's also a brazilian martial art

Source: https://en.wikipedia.org/wiki/Vale_Tudo


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)


That's pretty clever though. "everything goes" is appropriate for an application that lets you root your vacuum and gain full control of it.


Possibly also an apt name for the default setting, if it just vacuums up everything.


Easy fix, tape a boxcutter to the lid. Vale Tudo!


Ah yes, the classic game of "watch out for the hamstringing vacuum" as I go to make my morning coffee.

Alternatively: https://sepulchritude.tumblr.com/post/152864353958/on-the-to...


Yes! I clicked the link expecting to see them make the robots somehow fight, I thought it would be something battlebots-like. Disappointed :(


I have a robot that often has death matches with shoes. The last time the shoe won by flipping the robot somehow


Brazilian here, also got confused and was guessing why the name was chosen. Thanks for the explanation.


As someone who lived in Argentina, it made me think of "pelotudo", which means "asshole" or maybe "dumbass" depending on the situation.


Which rhymes with "boludo".


Is this project Lei de Gil compliant?


Thank you! I was similarly confused.


And also a 1988 soap opera ^_^




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: