github Hypfer/Valetudo 2022.10.0
Valetudo 2022.10.0

latest releases: 2024.06.2, 2024.06.1, 2024.06.0...
23 months ago
valetudo

2022.10.0

New Robot, new Firmware, Various UX improvements and MQTT changes

Dreame W10 support

Starting with this release, the Dreame W10 (not-pro!) is supported by Valetudo.
Because I got pretty annoyed by the lack of proper mopping robots supported by Valetudo, I've finally just bought one myself to check if it is rootable and suitable for Valetudo.

Turns out:
It is. Looks like it always was.
We were just misinformed because we never had bought one ourselves due to its pricing and people on the internet told us incorrect information about it. The lesson here is that we absolutely have to buy all robots ourselves or else we go nowhere.

Anyway, rooting is possible with the catch that you will need a new custom PCB to do so.
I do have ~250 of them lying here waiting to be soldered and used, however the logistical issue of me getting those to you yet remains to be solved.

Dreame D9 Pro firmware backport

Because I got pretty annoyed by the lack of firmware updates for the D9 Pro, I've finally just bought one myself to check if I can do anything about it.

It seemed pretty wrong that the older D9 has a recent 2022 firmware while the newer D9 Pro is stuck with a firmware from early 2021.
Thus, I wondered how different those robots really are and if it would be possible to port the D9 firmware over to it.

Turns out:
They're pretty similar but not entirely.

And so with a few changes, you can now upgrade your D9 Pro to a much more recent firmware using the Dustbuilder.
Gone should be the days of the robot bumping into everything and its map slowly deteriorating over time.

You're welcome :)

image

Reminder:
Do not try to install a regular D9 firmware on your D9 Pro. It will brick your robot.
You absolutely need to select the customized D9 Pro version in the dustbuilder.

MQTT

This release features a few MQTT improvements.

Optional exposed capabilities

Valetudo's MQTT client has gotten a bit more flexible with this release.

To avoid additional load and traffic for features that aren't required in 90% of setups, not every capability is exposed to MQTT.
This unfortunately meant that 10% of people had to also use the REST API to solve their automation needs.

image

With optional exposed capabilities, it is possible to cater to those needs without polluting the MQTT broker of people that don't require the functionality. For now, the only option to select is the SpeakerVolumeControlCapability. Others may follow if someone makes a solid case for why it should be controllable via MQTT.

image

Please only enable optional exposed capabilities that you actually plan on using as each additional one adds system load due to periodic polling.

Improved MQTT Errors

The error mapping improvements that have been implemented in the last release are now also being published to MQTT.

It should make building reliable automations based on the error state much easier

Please note that this could be a breaking change if you've hardcoded the MQTT error topic somewhere.
Users of Home Assistant should not notice anything changing as the autoconfiguration payload change should take care of everything.

If you've created automations based on the value of the error topic, this will be a breaking change for those as well.

Better map integration instructions

The process of getting the Valetudo Map into Home Assistant always has been challenging for newcomers as it is not straightforward.
Therefore, the image displayed in Home Assistant was changed and a new docs microsite was created.

If you navigate to hass.valetudo.cloud, you'll find a step-by-step walkthrough to get the map integrated.
Furthermore, there is also an explanation why things are that complicated.

UX Improvements

The Mop Attachment Reminder event now gets dismissed automatically when you detach the Mop Attachment from the robot.

If the user attempts to start a full cleanup after selecting something in the map view, they will now see a warning dialog.

The Wi-Fi configuration settings are now hidden and replaced by an info box if the robot does not support reconfiguration while provisioned.

Operation Mode Control

This release features support for changing the operation mode of the robot.

image

This enables you to e.g., tell your new W10 that it should only mop.

More error code mappings

After staring at Ghidra for a while, I've managed to discover the meaning of a few more hardware error codes of dreame robots.
Furthermore, roborock hardware error code mappings were updated as well.

The usual

As you've seen at the beginning of these release notes, we do have to buy all robots ourselves if we want stuff to happen.

Thus, if you want to see Valetudo on more robots and/or like this release, you might want to consider donating if you haven't done so already:

https://github.com/sponsors/Hypfer

https://builder.dontvacuum.me/donations.txt

Autogenerated changelog

Breaking Changes

  • mqtt: Provide better error information da6994a

Features

  • vendor.dreame: Newer 1C firmwares do seem to support no mop zones a06a86d
  • vendor.dreame: Operation mode control aefa436
  • vendor.dreame: D9 Pro+ special edition support ffbcb73
  • vendor.dreame: Mop Stuff 0081cba
  • ui: Allow configuration of optional exposable capabilities for mqtt 3f31186
  • mqtt: Introduce optional exposed capabilities starting with the SpeakerVolumeControlCapabilityMqttHandle 685227b
  • vendor.dreame: Initial support for the W10 6da6556
  • ui: Warn the user when attempting to start a full cleanup with a MapAction pending bc6a4ce
  • ui: Add current browser timezone hint to timer timePicker 892cc09
  • vendor.dreame: Automatically dismiss the MopAttachmentReminderValetudoEvent on Mop detachment 19f96a2
  • mqtt: Update wrapper image to point to docs microsite 67f600a
  • vendor.dreame: Map some internal error codes c9bc1b8
  • vendor.roborock: Add hardware fault error code mappings 19ce6aa

Fixes

  • vendor.dreame: Fix generational differences in operation mode mapping 8b6643c
  • vendor.dreame: 1C error codes might occasionally be numbers 93fdfb9
  • Hide non-functional Wi-Fi configuration editor if not supported fbcfd47
  • vendor.dreame: Handle carpet information in maps d1ad1af
  • ui: Strip even more characters that home assistant doesn't like from all mqtt topic building blocks 5877381
  • vendor.dreame: Voicepack hash must be lowercase 0deff82
  • ui: Weekday order should be ISO 8601 compliant 3c884f5

Refactoring

Chores

  • release: 2022.10.0 dd49ecc
  • mqtt: Minor cleanup d27b189
  • Bump github actions to setup-node@v3 4dbb745
  • bump upx dependency 38fb6e4
  • Revert axios bump due to broken builds c3de7e5
  • Bump dependencies cefd3a7
  • webserver: Minor data validation cleanup 263774b
  • vendor.dreame: Ignore irrelevant POST_CHARGE_CONTINUE update on initial root 0fdec0c
  • Docs update a96501f
  • mqtt: Update wrapper image cd3b75f

Don't miss a new Valetudo release

NewReleases is sending notifications on new releases.