3.1 new Robots and some other updates
New Robots
After the news coverage of Dennis' and Braelynns research into Ecovacs blew up (you can find the original talk here), we were approached by a generous individual worried about such hacks and wanting to see Valetudo on more robots.
With our new-found budget, we thus swiftly went shopping to work.
Given that Christmas, Black Friday and all that is basically right around the corner, we've been prioritizing getting this done asap.
You're welcome. (Don't ever expect that)
Anyway, the results are (ordered by price)
Dreame X40 Master
A cool problem-solving super small dock design, but my god does that problem-solving cost you.
Buying this thing for 1.6k€ did hurt even with money specifically donated to buy this robot.
Space-requirements wise it is very neat nonetheless. You just need to be prepared for the extra plumbing work.
Dreame L40 Ultra
The L40 Ultra is - at least as far as I can tell - just the same robot as the X40 Ultra.
The only difference I can see is that it comes with the higher lidar tower bumper housing three microphones.
That however is just an EU Thing, I think? At least the CN X40 also came with that higher Bumper and so does the EU X40 Master.
Anyway, it's cheaper. It seems to be the same thing. No-Brainer.
...unless of course you're using our affiliate links, in which case you should definitely prefer the more expensive X40.
Mova S20 Ultra
So Dreame is reviving the MOVA brand. VAOW.
This robot is just a plain interesting design, reusing the dock we've gotten used to but with a twist for the different mop design.
Come to think of it, It's also effectively the Roborock S8 Pro Ultra (still priced at ~1k€ at the time of writing) feature-wise:
Dual Brush, Vibrating Mop Pad, Mop Dock with Drying, AI Obstacle Avoidance.
All that and even more for 500€. Neat!
Side-note:
I'm pretty sure the mopping is worse than the spinning mops on the now equally (or cheaper) priced (but EOL) L10s Ultra.
It also can't use the Tri-Cut anti-hair-tangle brush which the L10s Ultra can.
Otoh it does have improved Obstacle Avoidance and should be better at sucking up larger chunks.
Plus newer software, a newer Dock design. Etc.
Feel free to comment down below what works better for your use-case and why.
IKOHS Netbot LS22
I bet you were wondering what that 0.1 Robot was about.
As you can see, it is yet another CRL200S. What else is there to say about these.
Given its rarity, I somewhat doubt that someone will ever use one of these with Valetudo, but listing it here makes number go up :-)
Timer Improvements
Valetudo now knows when it was built, and, assuming that the build host has a synced time, it can now judge if the system time on the robot is plausible by being newer than the build.
With this, time sync requirements for the inbuilt Valetudo timers could be relaxed.
They will now also execute if the time is plausible; not requiring a successful time sync within the last 8 hours.
This should fix hypothetical issues with timers not executing in setups with intermittent internet connectivity issues.
We never heard of any of those, but they might've happened.
Water Hookup Kits and Valetudo
With the X40 Master requiring it, support for testing the water hookup was added to Valetudo as a quirk:
According to user reports, this should also work for the water hookup kit for the other Dreames, however I haven't tested that myself yet.
Fingers crossed 🤞
Firmware Updates
Over the last weeks, were also busy testing and then updating the Dustbuilder with new firmware versions where available.
Feel free to try them and see if you can spot any improvements.
As the Valetudo updater only updates Valetudo, for instructions on updating the firmware, check out the docs.
Other Updates
I've created an icon pack you can install via HACS, that will add the Valetudo icons to your Home Assistant instance.
It's as simple as that. You can find it here:
https://github.com/Hypfer/hass-valetudo-icons
Have fun building Dashboards with the new default sections layout!
Bonus
While playing around with the new-style camera assembly on the X40 and L40 I've noticed that they now have an activity LED that lights up when the camera would be streaming video somewhere else.
This is an improvement over the older designs that had zero visual feedback on the camera state on the unit.. or so you'd think.
One peculiar thing about this LED is that it does not light up when the robot just uses the camera to navigate.
I think you can see where this is going.
Vid.20241106.205641964-1.mp4
Yep, it's pure software. Just some LED controllable via some GPIO.
This however is not unusual. In fact, probably most such activity LEDs on devices are pure software.
It also makes sense, because that LED being on all the time while the robot drives around might be unsettling to some users, as it provides a reminder that there is in fact a camera pointed at them.
Still, an indicator that might lie is arguably worse than no indicator at all.
I'm not pointing fingers at Dreame here though; they’re not doing anything notably different from the rest of the industry.
I'm just mentioning it here, because I'd like to encourage you to normalize putting stickers or other physical shutters on all unused cameras; illustrated by this practical real-world example.
Or, even better yet: Stop putting goddamn cameras (and microphones!! aaaaaah!!!) into absolutely every thing or corner you can find.
Bonus Ep. 2
In even more even other news, there has been a minor event on the /r/roborock subreddit.
One user this time actually bothered to read the ToS they're supposed to accept to continue using their products and then discovered something they did not like very much.
Specifically, the possibility for roborock to sell features as a subscription service or paid upgrade.
Roborock eventually released a statement addressing the unhappy users.
As it should turn out, the ToS update actually wasn't about the sentences in question. In fact, they've been there for a while already. It's just that no one ever read the ToS and with that they weren't discovered previously.
The response statement also confirms the read of those sentences, that they'd like to have the option to sell feature upgrades or subscriptions in the future.
They also say that they're not going to sell features that are free now, but that was an unreasonable fear anyway so no surprises there.
Anyway, what I really like about this is that it finally brought closure at least to me. Now, I finally understand why they've been cracking down as hard as they did on rooting. It wasn't just about region locks and regional pricing (which we explicitly not allow to bypass). It's about keeping the subscription and feature DLC revenue channel open.
And, frankly, it's right of them to do so from a business-standpoint. If you look at the vacuum robot market, you see that it is quite saturated. There's still money to be made, but it's not the booming moneymaker it once was.
Vacuum robots are a commodity now. They all can do very similar things. We now have most features available that one could think of for that kind of form factor vacuum robots have right now.
With roborock being publicly traded (and funded by investors in general), they do have to keep that revenue and growth coming. Thus, they at some point also have to pivot towards possible revenue sources that aren't explored yet.
Subscription services are just that. It's a way of getting more (and recurring!) revenue out of the same idea.
I don't blame them, honestly. It is the logical conclusion resulting out of the rules and mechanisms of the systems we have built.
That said, I definitely don't think that the current rules, mechanisms and systems are good. You wouldn't be here if I did.
I just don't believe that there is much long-term point in attacking the players when it's actually the game that is the problem.
It is a bit mind-breaking, I know, but even such large billion-dollar enterprises can be considered "players" here. That saying does not stop at individuals. You can of course be harsher with companies than with persons (though please not with (most of) their employees), but at the end of the day, it's a systemic issue that requires a systemic solution.
When I say this, I want you to remember that iterative change is usually if not always the way to go (given a sufficiently complex system).
While the emotional need might be to "throw it all away, set it on fire and build something new", reality has shown that this does for the most part not lead to better outcomes.
You will just make the same mistakes again, add in new mistakes and cause a ton of collateral damage in the process.
See also: Joel on Software: Things You Should Never Do, Part I (2000)
Time for me to step down this soap box for the day :-)
Thanks for reading
The usual
If you want to see Valetudo on more robots and/or like this release, you might want to consider donating:
https://github.com/sponsors/Hypfer
https://builder.dontvacuum.me/donations.txt
Autogenerated changelog
Features
Fixes
- vendor.dreame: Fix water hookup test quirk success state raising an error
74731a6
- Fix breakage caused by splitting changes into multiple commits
dd6eac0
- timers: Allow execution of timers if time is plausible
bf9ecb6
Refactoring
- Bake-in specifically crafted build_metadata file instead of random other files
436fae6
- Remove unnecessary second call to process.memoryUsage.rss() every 2.5s
8e336f6
Chores
- Bump some dependencies
89d1fb1