Skip to content

Valetudo 2024.10.0

Compare
Choose a tag to compare
@Hypfer Hypfer released this 21 Oct 17:29
· 22 commits to master since this release
valetudo

2024.10.0

Obstacle Images - a surprisingly fun feature

Obstacle Images

On robots that support the feature, assuming the right zoom level, you will now be able to click on the obstacle in the map view and see what the robot saw. I didn't expect it to be, but it is very neat to view the world through the perspective of the robot.

image

I was quite hesitant to implement such a feature for a long time, because there is a lot that one can do wrong when reading arbitrary large files based on user input from the filesystem and delivering them via HTTP.
But, given that long time I had to think about it, I believe that the implementation is now solid.

image

I hope that you will have as much fun with this feature as I had.
And, if your robot sees something neat and shareable, feel free to post the obstacle image in the comments below.

Side-note:

This should go without saying but please don't use this feature for abuse.
Talk with everyone living in (or even just visiting) your household about this before you enable it.

Even if you live alone, you can be certain that the robot will take a picture at the most unfortunate and inopportune moment imaginable.
Keep that in mind and maybe just keep the feature turned off if unsure.

The obstacle avoidance works regardless of it, so you're not losing out on any functionality if you do decide to not enable it.

Improvements to the Virtual Restrictions Editor

A simple change with great impact to the UX:

The virtual restrictions editor now also renders the path

image

This makes it a lot easier to precisely place virtual restrictions based on the real struggles the robot faced.

UI UX Fixes

Cutting lines for segments now have a shadow to not become invisible in front of the white background of the light theme.

image

Furthermore, zooming the map in by 1 step and zooming back out by 1 step will now make you end up with the same zoom level you started with - as one would expect it to.

Thanks to @vivia for both of these!

Improvements to the System Information View

The System Information page now displays the actual CPU load:

image

Previously, it used the system load, which got very confusing on robots with kernels where that feature is broken for some reason.
Now, these bars make sense again instead of just being stuck at 100% all the time.

Misc

  1. Users of the Dreame L10s Pro Ultra Heat and X40 can now trigger the Mop-Dock cleaning procedure using a new quirk.

    image

  2. Non-feature-wise, this release comes with a bump to basically all dependencies, meaning that we're good on that front as well again.

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

  • vendor.dreame: D10s Pro/Plus also support Obstacle Images 63279c4
  • vendor.dreame: Add quirk for triggering the mop dock cleaning procedure 76280bd
  • vendor.dreame: ObstacleImagesCapability 67ee71c
  • ui: ObstacleImagesCapability 30b5fc8
  • core: ObstacleImagesCapability f9fa9d0
  • Display the actual CPU usage instead of the system load d0f754b
  • ui: Draw half-transparent path in virtual restrictions edit map to make placing restrictions correctly easier ca077b6

Fixes

  • ui: Fix zoom level after zooming in and back out again not ending up where it started 2e5a9c2
  • vendor.dreame: Fix MopDockCleanManualTriggerCapability for everything that is not a pure mop 3513cbc
  • webserver: Valetudo router rate limits should be global 7a6eb1e
  • vendor.dreame: Fix Mop Dock Water Heater quirk 20917a7
  • A config reset should not reset the robot config 28d674f
  • ui: Fix cutting line being invisible when using the light theme a2a1d40

Refactoring

  • vendor.dreame: Add more AI classifier IDs and pull the constant into DreameUtils 0928cf0
  • webserver: Use rate limiters instead of semaphore in ObstacleImagesCapabilityRouter 90e5ab9

Chores

  • Bump dependencies 5559f88
  • Upgrade react-router v5 to v6 fb600a8
  • Bump dependencies 79deca1
  • Fix the wrong link in the right place 2152e20
  • Bump some transitive dependencies dc3b96e
  • ui: Resolve issues detected by sonarcloud b56ed1c
  • Update PR template ddcf3e1