github Hypfer/Valetudo 2025.11.0
Valetudo 2025.11.0

one day ago
valetudo

2025.11.0

Refactoring, bugfixes, new Robots

Valetudo 2025.11.0

Holistic is the word I'd pick to describe all the different things that I did as part of this release.

Midea

Midea is still moving along. I am buying new robots, taking them apart, try to root them and through that, improve the rooting process.
This was already successful. We now have a much more user-friendly way of rooting.

This is why you wait with the release of a root, even when you already feel somewhat confident in it.
It is not the first time and will not be the last time that we found something even better through looking at it longer.

Eureka J12 Ultra

j12u

I now own this robot. It runs Valetudo.
The RK3308 SoC is not the quickest and thus Valetudo needs a minute after boot to fully start up, but once it is started up it just works.
Valetudo as we know it.

Being older than the J15, I could see some of the evolution their software went through. This led to me gaining a better understanding of what were previously rather confusing details, duplications and not-quite-clear aspects of the software, data formats and interfaces.

This was the one mentioned in the last release notes with the whole WHD weirdness.
Something interesting about it was just how good Gemini was at geoguessing the prior shipping label's location based on a StreetView screenshot.
On top, I learned that northern france looks quite similar to the UK in some ways.

Eureka J15 Ultra

j15u

I now also own this robot. It runs Valetudo.
This one runs the same firmware as the J15 Pro Ultra, however, it is not exactly the same robot.
There are some minor differences. The fan motor is a bit weaker, it can't lift the main brush (rather unnecessary tbh), the mop wash board in the dock is different and stuff like that.
Otherwise, it is exactly the same.

This one was sold to me as completely defective. It had no issues whatsoever other than coming with old dust and hair from the previous (again french) owners.
I am starting to see a trend here.

Eureka J20 - no Valetudo support :(

I have also looked at the J20, excited about the possibility of a Valetudo-supported robot with this new rolling mop technology.

Unfortunately, this turned out as a waste of time and money, as it is just branded "Eureka" but actually made by a different ODM (LD-Robot?).
This means that the software is entirely different and a dead-end without updates.
On top, it came with a laughably small 128MB flash chip, which is not enough to sustain Valetudo.

The search continues...

Eureka E6 Plus - no Valetudo support either :(

This one cost me ~100€ as a "badly worn" Amazon WHD, so I tried for fun. What showed up instead was a factory-sealed box with a completely new robot.
Eureka definitely seems to have bribed fortuna for me (or they have a lot of robots that won't sell?)

Unfortunately, this too was made by another ODM. Not sure who or what hardware is inside, but I didn't bother with it.
It felt cheap and not worth the trouble while also offering no benefits or USPs.

It was cute and small though. I would still like to one day find a supportable robot that is cute and small.
There is the Xiaomi Ultra Slim, but it never made its way to the west beyond some random resellers on Aliexpress, unfortunately.

More and slightly polished achievements

Total statistics achievements have received some love with this release.
There are now more of them that will hopefully bring you some joy. It at least did bring me joy to add them.

Furthermore, in the achievement list, you can now see at which point it was achieved.
This should eliminate some confusion.

No screenshot here, as that would spoil the fun.

Updater reliability improvements

Somewhere in the middle of building the Updater, my mind apparently kinda stumbled over itself. It was prepared so that the update process would never let go of a file handle, but it never actually did that.
This, in rare cases, led to situations where the newly downloaded Valetudo binary for some reason had vanished, but the updater still continued to delete the existing one.

Not sure what made the downloaded binaries vanish. Probably some "storage cleanup" cronjob or similar, but it also doesn't matter.
By fixing the code and keeping the file handle, we do not have to care.

This should thus fix a rare breakage you likely haven't experienced yet (I hope).

Mop Cleaning fix for the Dreame W10 (Pro)

Valetudo was sending the wrong payload for the DreameMopDockCleanManualTriggerCapability on the W10 and W10 Pro, leading to the robot not doing anything.
This should now work as expected.

Docs refactoring

In the August release, I've talked about how looking again at the architecture of the code brought some inconsistencies and bugs to light that I swiftly fixed.
In this release cycle, the same thing happened to the docs.

Bugs have been fixed, unhandled exceptions have received a graceful handler, interfaces have been cleaned, implicit assumptions have been made explicit, separation of concerns was achieved, context was provided and overall, the whole thing was again looked at from a distance and in detail.

Thus, while the groundwork was there all along, they should now be a much more polished and comprehensive experience without sudden and grave potholes.

I have also added a "developer commentary" spoiler to the Code of Conduct.
Now that it had been a few months, I had the time to collect some thoughts about it and that is where you can find those.

My general goal was to make Valetudo more approachable/relatable/human and less intimidating/defensive/hostile, while still keeping the filtering aspects as-is.
Feel free to have a look at these changes and let me know what you think.

Home Assistant deprecated the object_id

As part of the normal refactoring process, Home Assistant has deprecated the object_id for Home Assistant Core 2026.4.
You might have seen a warning about that in your Home Assistant instance.

This is an easy fix in Valetudo - in fact, the commit is already on a branch - but it won't be merged just yet, as that would break Valetudo for HA versions older than 2025.10.
For now, you can rest easy, knowing that I am aware of this and just click on "Ignore".

What else is going on?

The Valetudog went 270 mph

This is the Valetudog:

valetudog

The Valetudog is Valetudo's official mascot; born from an interesting looking corner drawn on a map of my second-ever Roborock S5.
Through the power of paying 22€, I've stealthily inserted an obscure Valetudo reference into the content of a creator I really like.

sticker

And with that, it now was part of a new land speed record.
I do not think that he knows what the Valetudog or Valetudo is, but that also isn't necessary, nor would changing that be my goal.

Instead, continuing with the parasocial admiration, if you like Valetudo, chances are quite high that you might like Superfast Matt's content, so I highly recommend checking it out. If cars are not your thing, you might still enjoy the video where he drives his RV off a cliff or the one where he builds an autonomous zen garden from a cheap 3d printer.

DEF CON 33 happened

I've been watching through the DEF CON 33 talk VODs. Here are some you might find interesting:

The usual

If you like this release or Valetudo in general, you might want to consider donating:

https://github.com/sponsors/Hypfer

https://builder.dontvacuum.me/donations.txt

Autogenerated changelog

Features

  • vendor.midea: J15 Ultra 84c8697
  • vendor.midea: J12 Ultra 8fc5a0a
  • webserver: Add another 404 page 64b0ee0
  • ui: More and better Achievements c3609fc
  • mqtt: HA autodiscovery manufacturer should be Valetudo 78ee0f5
  • vendor.dreame: Add some more obstacle IDs aa8c98e
  • ui: Enhance AI safety guardrails 4b45af6

Fixes

  • vendor.midea: Fix J12 ota update check failing 6c94eda
  • vendor.dreame: Remove legacy payload for manual mop clean trigger that worked for 0 remaining robots 94ae396
  • ui: Fix statistics label d1dd007
  • updater: Pass around a file descriptor to/and make things safer ff7e462

Refactoring

  • vendor.midea: Misc cleanup 1de0ca3

Chores

Don't miss a new Valetudo release

NewReleases is sending notifications on new releases.