github Hypfer/Valetudo 2021.07.1
Valetudo 2021.07.1

latest releases: 2024.06.2, 2024.06.1, 2024.06.0...
2 years ago
valetudo

2021.07.1

This release includes, SSDP and Zeroconf advertisement, an Event/Notification feature some bugfixes and lowmem optimizations.
Furthermore, 2021.07.1 fixes a race condition which was present in 2021.07.0 causing crashes on reboot.

Network advertisement

To make using Valetudo a bit easier and more straight-forward, advertisement of the Service via both SSDP/UPnP as well as Zeroconf was added.

If you're on Windows, opening "Network" in the File Explorer should look similar to this:

image

If you're on a Mac, I'm sure that there's also something.
Furthermore, Valetudo will log the .local domain it's using, which might be useful in some setups.

ValetudoEvents

Starting with this release, we now have something that will deal with everything that would've been a push notification
when using the regular app. Utilizing this, the "Bin Full" notification on roborock vacuum robots may finally happen.

There's no UI for it just yet, however it will be implemented eventually.

Runtime Reuse

As storage space can be quite limited on these devices, it is now possible to use the NodeJS runtime bundled with
Valetudo for other things as well.

This can be helpful if one would e.g. want to implement a Microservice, which also runs on the Robot, talks to Valetudo
and provides Telegram connectivity.

Just add the --ignore-payload flag plus another JS file:
./valetudo --ignore-payload repl.js

The baked-in v8 options will still apply when reusing the runtime.
That however shouldn't be an issue for most use-cases.

S5 Max Map issues

Apparently, the Map Reset on the S5 Max never worked. That might explain some issues users of this Robot were seeing.
It should be fixed now.

Memory-related changes

During the development of 2021.07.0, a lot of time was spent optimizing Valetudo for use in lowmem environments
such as the Roborock S5 Max or Dreame D9.

It was discovered that there were issues with the SSE Map update feature, which lead to Valetudo being killed by the
Kernel OOM killer. This was the cause of the confusing "Hey my Valetudo is just.. gone" reports.

While this was fixed by introducing limits there, Valetudo was also extended to watch its own Memory usage
and shut down if it exceeds 1/3 of system memory. This should provide an additional failsafe.

Furthermore, Valetudo will also set its OOM score to a rather high value by itself, so that the Kernel OOM killer
will always kill Valetudo and nothing else.

Still, if you can, please buy a 512mb or more RAM robot.

Misc

  • To help with debugging, you can now enable an option in the config file to store all uploaded maps in the filesystem.
  • Resetting the Map will now also invalidate the map cached by Valetudo to reduce confusion.

Autogenerated changelog

Features

  • Network Announcement via SSDP/UPnP and mDNS/Zeroconf/Bonjour (c158d77)
  • core: MappingPassCapability (1b09cde)
  • core: PendingMapChangeHandlingCapability (ed0455d)
  • miio: Add easy way to store uploaded maps for debugging purposes (547f8c1)
  • vendor.dreame: Add Support for the L10 Pro (2f618c0)
  • vendor.dreame: DreamePendingMapChangeHandlingCapability (d972121)
  • vendor.dreame: Handle more properties (421e7de)
  • vendor.dreame: MappingPassCapability (7f9322b)
  • Set OOM Score Adj when embedded (6de2f06)
  • ValetudoEvents (aa15238)
  • vendor.dreame: Map fast mapping status (021213e)
  • vendor.dreame: Sensor consumable (4c1e319)

Bug Fixes

  • core: Catch uncaught exceptions for an orderly shutdown (5cf19c4)
  • core: Reverse event order (a829ba5)
  • networkadvertisement: Don't crash on reboots + human-friendly URL (3cb1cb8)
  • vendor.dreame: Fix segment cleanup via mqtt (5dbb9d0)
  • vendor.dreame: Fix status mapping and ignore irrelevant property change (68c1c0c), closes #969
  • vendor.dreame: Handle more properties (6a834c8)
  • vendor.dreame: Handle sensor consumable push (cc8b7a5)
  • vendor.dreame: Handle sensor consumable push (4276c36)
  • vendor.dreame: Handle uploaded multi-map jsons (01486b8)
  • vendor.dreame: Revert Fix status mapping (8db8b6f)
  • vendor.dreame: Segments from rism might not apply in some situations (e1161cf)
  • vendor.dreame: There actually is a difference between pause and stop (6da5dc4)
  • vendor.roborock: Add filename to map upload url (90b7346)
  • vendor.roborock: Enable S7 Water Pump Control + No-Mop-Zones (f699a55)
  • vendor.roborock: MapSnapshots are only available on Gen2 robots (0752de2)
  • vendor.roborock: MapSnapshots IDs are strings in valetudo but numbers for roborock (361dffa)
  • vendor.roborock: Multi-Map capable roborock robots use a different command for map resets (2bbd86f)
  • webserver: Remove unused parameter (d27e3b1)
  • Fix missing git commit id (40ca9cb)
  • Fix OOM-issues caused by SSE connections (a0371f4)
  • Further tweak forced garbage collection (c70393a)
  • Further tweak SSE settings (8eae178)
  • Further tweak SSE settings (40d16f5)
  • Further tweak SSE settings (cb8e01e)
  • Resetting the map should also clear the Map cached by Valetudo (e70041f)
  • vendor.viomi: Set correct env variables (#979) (5fd4a6a)
  • vendor.viomi: Set correct ssh key location (b15c707)
  • Try logging everything we can get about process memory before committing sudoku (6578a99)
  • Tweak forced garbage collection (d905864)

Don't miss a new Valetudo release

NewReleases is sending notifications on new releases.