Skip to content

Valetudo 2025.01.0

Latest
Compare
Choose a tag to compare
@Hypfer Hypfer released this 12 Jan 17:59
· 2 commits to master since this release
valetudo

2025.01.0

New Year, new Robot, MQTT changes and QoL fixes

New Robot

Beside the Dreame X40 and L40, there is also another permutation featuring basically the same hardware:

The Mova P10 Pro Ultra

mova_p10proultra

What it can't do compared to its peers is leave its mops in the dock, however what it can do is cost $600 or less.
You're welcome.

Nightly updater

The nightly update channel now has a version check that actually works.

updater

Previously, it always reported that there is a new version available, leading to some confusion.

MQTT

There are a bunch of MQTT changes and fixes in this release.

Dock Status

For docks that have a status, the dock status is now exposed to MQTT:

dock state

This should be helpful for automations.

More optionally exposable capabilities

The following capabilities can now optionally be exposed to MQTT:

  • PetObstacleAvoidance
  • CarpetModeControl
  • CarpetSensorModeControl

optional capabilities

again, something helpful for automations.

Fixing an infinite lock

As you know, there is no reboot button in Valetudo and that is for good reason. It should never require one.

Unfortunately, it happened to require one for some people first time setting up their robot.
In those situations, the MQTT client could lock up and never connect until the robot was rebooted.

This was super hard to identify and reproduce, but I think that I finally found the root cause.
Fingers crossed 🤞

Map performance optimizations

The map renderer now simplifies and merges the to-be-rendered paths into one per type before drawing.

While it looks the same as before, it now performs much better when there's a long cleaning task going on.

Changes to the consumables

Consumables are changing a tiny bit with this release, resulting in a breaking change:

sensor is no longer a type but a subType of the newly introduced type cleaning. If you've been relying on that, please update whatever code you use accordingly.

Furthermore, this will also break the Sensor Cleaning entity in Home Assistant.
To fix that, just delete the device in Home Assistant before updating. After the robot reboots, everything should be rediscovered correctly.

This change was necessary due to the new wheel consumable Dreame introduced with newer firmwares.
wheel is now the second subType for consumable type cleaning.

Additionally, it seems that Dreame has removed the mop consumable from some new firmwares.
It hence has been removed from Valetudo as well for the affected robots.

Misc Dreame changes

There are two new Dreame Quirks in 2025.01 if your robot's firmware supports them.

The first being Clean Route:

Clean Route

which does make quite a difference on the "deep" setting:

deep

Also, users of Dreames with an extending side brush will now be able to enable the side brush on carpet:

sidebrush

As said, this will require the latest firmware. Speaking of:

Firmware Updates

Over the last weeks, we were once again 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.

In my testing on my X40 master, it was necessary to reconfigure Wi-Fi after the update.
I have not been able to reproduce that since, so no clue if it might affect you as well or if it was only caused by something I fixed when adding support for the new firmwares.

Bonus

In the last release notes, I talked about the vendor apps and how there were some interesting developments.
Since then, there have been some more interesting developments. Just see for yourself:

sqH7fAI.mp4

Imagine being a person that just paid $1500 for a vacuum robot to then discover.. that.

But of course, it should quickly turn out that it's a systemic issue that is not isolated to one vendor:

In a way, this feels vindicating, because it's another great example of why Valetudo exists in the first place.
This style of enshittification simply can't happen to something that is self-contained and operates purely local.

Still, I also feel a deep sadness that Tech and feeling excitement for it has been taken away from me.

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

Breaking Changes

  • vendor.dreame: The mop consumable has been removed from X/L40 firmwares and equivalent d7f8e75
  • The sensor consumable type is now a subtype of the new type cleaning b798ebb

Features

  • ui: Simplify and merge paths to improve performance ac5e096
  • vendor.dreame: Introduce Side Brush on Carpet quirk f795e2e
  • vendor.dreame: Wheel consumable monitoring 1eda6ef
  • core: Introduce wheel consumable subtype 6161901
  • updater: Add unnecessary NullUpdateProvider for good measure 1b9dc20
  • updater: Introduce a working version comparison to the nightly update channel 2cb8efc
  • ui: Shuffle the MQTT settings around a96ab06
  • mqtt: Remove obsolete addICBINVMapProperty setting 6dec70f
  • vendor.dreame: MOVA P10 Pro Ultra df0609e
  • vendor.dreame: Introduce clean route quirk 7b3dfb0
  • vendor.roborock: Add error mapping for error codes 27 35 9d3df05
  • ui: Trim host field inputs a07503b
  • mqtt: Optionally expose PetObstacleAvoidance, CarpetModeControl and CarpetSensorModeControl capabilities 2cc0ab5
  • mqtt: Publish Dock Status to MQTT ee76222

Fixes

  • vendor.dreame: Newer dreames may store obstacle images elsewhere b8477fb
  • mqtt: Attempt to fix the reconfigure mutex never being left 1af75e0
  • docs: Wording fd89128
  • ui: Add missing word in welcomeDialog c78e8c2
  • vendor.dreame: Hide obstacles of type 200 88c0af5
  • mqtt: Fix Home Assistant object_id generation d77480c

Refactoring