github Hypfer/Valetudo 2023.01.0
Valetudo 2023.01.0

latest releases: 2024.02.0, 2023.12.0, 2023.10.0...
16 months ago
valetudo

2023.01.0

Five new supported robots, Four new features and improvements, Three new icons, Two new firmwares, One new year

Viomi is dead, long live Viomi

The rising prices in Germany served as motivation to look into the Viomis again after having ended support for them a few releases ago.
Even though they're pretty mediocre robots, they're also relatively inexpensive and abundantly available both new and used.

Thanks to your donations, I was able to buy a few test devices to change that. Being able to directly verify correctness, reproduce issues and debug solutions yourself greatly helped with motivation. Furthermore, as they already had code for support in Valetudo, this wasn't actually all too much work.

I'd say that the implementation is now mostly on the quality level of the other supported robots. No more unparsable maps :)
The firmware itself is still a bit slow and weird, but you can very well live with that for the price of the unit.

Additionally, the rooting process has been reworked to be way more similar to other supported robots.

Plenty of Viomi

image

Another big announcement is that Viomi is actually many now.

As you may or may not have known, Viomi is not a real vacuum robot manufacturer. Instead, they're just ordering "Viomi"-branded robots from the ODM 3irobotix. Specifically in our case it's the CRL-200S vacuum robot which has Valetudo support under its Viomi identity. Viomi is not the only "brand" that does that. In fact, there are quite a few that all feature the same hardware specs.

A question we had in the back of our minds for a while now was: "Can you just flash those other robots with a Viomi firmware?"

Turns out: Yes, you can.
And so, with no additional changes in Valetudo required, you can now free even more robots from the cloud.

The following models have been tested so far by me:

  • Proscenic M6 Pro
  • Cecotec Conga 3290
  • Cecotec Conga 3790

Additionally, these models look promising and should be evaluated in the future:

  • Viomi SE
  • All other Cecotec Conga 3****
  • Wyze Robot Vacuum
  • Commodore CVR 200
  • Kärcher RCV 3

If you have any of those and would like to help, please ping me.

Roborock updates

While I was busy figuring out the Viomis, Dennis once again looked into new and existing Roborocks.

Also, once again thanks to your donations, I was able to buy a used S5 Max (and only got scammed once). Not only was this used for testing Valetudo but also to write step-by-step FEL rooting instructions for the Valetudo docs, which should make the whole process easier to understand.

Firmware updates

The latest firmware versions for the S5 Max and S7 will soon be available in the Dustbuilder.
These now include a mapping pass functionality, which is also supported by the latest version of Valetudo.

Note: As we don't have a test device for the S7 (yet?), we weren't able to verify that it works properly.

Q7 Max support

Due to - you guessed it - donations, we were able to buy this robot to see if it can be rooted.
And yes, we're pleased to announce that the FEL rooting method also works with the Q7 Max.

image

The Q7 Max and it's Auto-empty-dock sibling Q7 Max+ are now fully supported by Valetudo.
Expect to see it in the Dustbuilder soon.

Valetudo features

Apart from robot support, there were also quite a few other changes.

Live Map rework

This release introduces a Map Mode selector to the Live Map.
If you want to do something, first select what you want to do and then simply interact with the map.

image

The reasoning behind this change is that a few releases ago, it became possible to select segments by simply tapping on them anywhere.
As this conflicted with the Go-To marker feature, that feature was moved to press-and-hold. This wasn't because it was a particularly good idea to use a long press for that but because there was no other idea what to use.

With this change, the UX should be significantly better especially for newcomers, since you're now being shown directly which interactions with the map are possible and how you can do them.

This is also mostly just a return to the idea @Jomik proposed back in early 2021 when rewriting the frontend in react.
Thanks once again!

New Icons

The previously confusing "1x" button in the live map view now features an icon that should be self-explanatory.

image

Also, Icons in the menu have been updated for consistency and easier understanding.

image

Welcome Dialog

Speaking of newcomers, there's now a welcome dialog that tells a new user what their next steps should be.
It also conveniently features all the correct controls for their robot to make getting started even easier.

image

If you first want to play around with Valetudo without permanently dismissing the dialog, you can also temporarily hide it.
It will then reappear on the next page refresh.

Valetudo Options

A new sub-menu was introduced with this version of Valetudo

image

Config reset

It's now possible to reset the configuration via the UI. This can be useful if you'd like to gift a rooted robot to someone.
Unfortunately, we've slightly missed Christmas with this update.

If you'd like to see that welcome dialog again, resetting the config will allow you to do that.

Update Provider Settings

The UI now also allows you to select the update channel.
The default "Release" channel should be used by most people, however if you like to live dangerously and want to support the development by testing unreleased versions for bugs, you can pick "Nightly".

The updater will then continue to work as it did before but pull its updates from the selected channel.

Tray Companion

image

The Valetudo Tray Companion app now works on both Windows and Linux thanks to @NKnusperer.

https://github.com/Hypfer/valetudo-tray-companion

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

  • ui: Restructure router and add controls for update provider and configuration reset 8706988

Features

  • vendor.dreame: Add mop dock autorepair trigger quirk 9932b03
  • vendor.roborock: Add support for the Q7 Max bb6b66f
  • vendor.roborock: Implement RoborockMappingPassCapability 8374951
  • ContainerEntity upsert should return the previous attribute 38ccba5
  • ui: Add proper robot options icon 046087c
  • ui: Allow temporarily hiding the welcome dialog f1c7238
  • Allow selection of the update provider 68efeb8
  • Add action to reset the config to defaults e7959a4
  • ui: Reintroduce live map mode toggle 27554be
  • oobe: Don't show welcome dialog for existing installations 0695457
  • ui: Change some icons 759288e
  • ui: Add iterationsIcon to live map controls 0180c65
  • oobe: Add welcome dialog a43f30f
  • vendor.roborock: Add implementations for Roborock S7 auto empty dock 39207e8
  • vendor.dreame: D10S Pro 0939cbd
  • vendor.viomi: Introduce ViomiOperationModeControlCapability d764438
  • vendor.viomi: Add y_mopping quirk 5ac847f
  • vendor.3ir: Introduce common 3irobotix map parser 8f5013a
  • vendor.viomi: Track active segments 56b0bf6
  • vendor.viomi: Refactoring, fixes and tests 7882db4
  • ui: remove redundant first confirmation dialog for fetching updates 4d01657

Fixes

  • Handle additional content in iw command output e5a2791
  • vendor.viomi: Repoll map on state change if it is an active state aac44b4
  • vendor.roborock: Ignore unknown_method message caused by miio_client downgrade on newer roborocks 226a938
  • vendor.roborock: Fix map not instantly repolling on state change for newer roborocks 559076d
  • miio: Use non-0 uid for provisioning to fix a38 0866 provisioning 68e6d35
  • ui: Welcome dialog should work especially when embedded f97184d
  • vendor.dreame: Add warning message workaround for the half-broken W10 MappingPass 2471c59
  • ui: Fix segment actions for live map not handling the new live map mode selection properly 56193f8
  • updater: Delete any downloaded binary when reconfiguring updater 2a74157
  • ui: Clamp segment intersection calculation to map area dec5efb
  • ui: Fix dock controls on very small screens 492cb42
  • Reduce map polling interval when dealing with huge maps to prevent valetudo from going OOM 718115c
  • ui: Remove confusing state timestamp from NTPConnectivity 692085e
  • updater: Better error message logging on http errors b6e7820
  • vendor.dreame: Remove broken operation mode control for W10 and reintroduce mop only quirk 8b8d7a2
  • vendor.3ir: Fix segment name block parsing 99897a5
  • vendor.viomi: Don't raise three events for a single error f143319
  • ui: Allow valid slashes in mqtt topic prefix 1f06b86
  • ui: Fix occasional unexpected scrollbars bafdb4d
  • vendor.3ir: Parse temporary maps f43a7ed
  • vendor.3ir: Fix map parser going oom if uniqueMapId is all 0 b351686
  • Add .catch() handler to previously unhandled promises db5aeca
  • miio: Protect against invalid Wi-Fi passwords 4c873b7
  • mqtt: Make sure that we only refresh handles while we're connected 67e66a0

Refactoring

Chores

  • release: 2023.01.0 3d6ef60
  • vendor.roborock: Formatting 2798fed
  • build: Bump to NodeJS v18.12.1 25b7061
  • vendor.viomi: Remove unused map parser 0c7d757
  • minor cleanup 79229f9
  • Add hint regarding maps and reboots to the updater 69b0ae7

Don't miss a new Valetudo release

NewReleases is sending notifications on new releases.