Valetudo 2023.03.0
A pretty standard release with a few features and bugfixes
Obstacle locations
If you run Valetudo on a robot that reports obstacle locations, you will now be able to see them in your map.
If you zoom in enough, they will also show a label with additional information (if available).
Right now, you probably won't be able to see these as there are 0 robots with a public root that support this.
Once that changes though, this feature will be waiting.
Consumable status
Consumables are now displayed with a progress bar indicating the remaining life.
Previously, the reported numbers lacked context and thus left users wondering if 3 days remaining is a lot or a little or something in-between. Now that should be clear.
Updater download progress
Speaking of progress bars, the updater has also been extended to report the download progress.
This should be comforting when updating valetudo via a slow network connection.
API Changes
This release also comes with two breaking changes.
The first is in how the ZoneCleaningCapability
works.
To be consistent with the MapSegmentationCapability
, the iterations
parameter is now a top level property:
{
"action": "clean",
"zones": [
...
],
"iterations": 1
}
If you do zone cleaning via the REST API or MQTT interface, you will have to slightly modify your payloads.
The second breaking change is also for consistency reasons.
Previously, the StatusStateAttribute
flag
was reported via the <TOPIC PREFIX>/<IDENTIFIER>/StatusStateAttribute/detail
topic.
As that was the only place where it was called detail
it is now instead available via <TOPIC PREFIX>/<IDENTIFIER>/StatusStateAttribute/flag
.
Bugfixes
-
Multiple race conditions in the MQTT Client and other components have been identified and fixed.
If you had trouble with connecting to your MQTT broker, this should likely fix that. -
This release of Valetudo can now properly handle multiple comma-separated errors reported by some Dreame firmwares.
-
Lastly, the
OperationModeControl
on Viomi has been fixed. If you had trouble getting your robot to mop, that should now work again.
Misc
By buying more robots, another supported CRL200S variant was found: The Commodore CVR 200
I also bought a Xiaomi Robot Vacuum-Mop 2S
and a Kärcher RCV 3
, however unfortunately those aren't based on the CRL200S but the CRL200SD which is entirely different hardware and hence incompatible with Valetudo right now.
Robots that are based on the supported CRL200S can now select between 1
and 2
iterations for segments and zones starting with this release.
What's next?
After reevaluating a few things, we have a suspicion that the Roborock S7 Pro Ultra
might be worth further investigation.
However, doing that unfortunately will cost at least ~850€.
That alone would be expensive but doable, but it is of course not the only robot we're looking at.
I've been buying quite a few other robots for evaluation including most of the new Dreame lineup, which makes this a very expensive hobby.
While there's nothing to announce yet, what I can say is that we're quite busy looking at interesting robots.
Therefore and as always:
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
- mqtt: Rename status detail to status flag for consistency
eb67fca
- Move zone iterations from zone-level to command-level to be consistent with segments
ec449d0
Features
- vendor.dreame: R2240 support
aaa01bf
- updater: Visualize download progress
992c38f
- ui: Consumable status progress bars
a427045
- Obstacle locations
222ba01
- mqtt: Allow ignoring certificate errors for brokers with self-signed certificates
e99bb6b
- vendor.viomi: Iterations via set_repeat
72e6b84
Fixes
- vendor.dreame: Handle invalid or unknown status data on the 1C
931ab79
- miio: Continue to poll the map in short intervals for a while after state transition from active to inactive
537f7af
- vendor.roborock: Remove incorrect mop pattern quirk option
c261d75
- mqtt: Trying to exterminate some concurrency gremlins
7bd9122
- ui: Fix zone integration help
5744e4e
- vendor.viomi: Fix operation mode selection
6b2a268
- networkadvertisement: Ensure that there's only one scheduled networkStateCheck
0af4703
- vendor.dreame: Gracefully handle comma-separated error codes
460c5d1
- vendor.roborock: Handle fan speed miot updates with correct and incorrect piid
51a412d
Refactoring
- ui: Cleaner use of mutexes in context of async functions
1055171