New Year, new Robot, MQTT changes and QoL fixes
New Robot
Beside the Dreame X40 and L40, there is also another permutation featuring basically the same hardware:
The Mova P10 Pro Ultra
What it can't do compared to its peers is leave its mops in the dock, however what it can do is cost $600 or less.
You're welcome.
Nightly updater
The nightly update channel now has a version check that actually works. :)
Previously, it always reported that there is a new version available, leading to some confusion.
MQTT
There are a bunch of MQTT changes and fixes in this release.
Dock Status
For docks that have a status, the dock status is now exposed to MQTT:
This should be helpful for automations.
More optionally exposable capabilities
The following capabilities can now optionally be exposed to MQTT:
- PetObstacleAvoidance
- CarpetModeControl
- CarpetSensorModeControl
again, something helpful for automations.
Fixing an infinite lock
As you know, there is no reboot button in NoCloud and that is for good reason. It should never require one.
Unfortunately, it happened to require one for some people first time setting up their robot.
In those situations, the MQTT client could lock up and never connect until the robot was rebooted.
This was super hard to identify and reproduce, but I think
that I finally found the root cause.
Fingers crossed 🤞
Map performance optimizations
The map renderer now simplifies and merges the to-be-rendered paths into one per type before drawing.
While it looks the same as before, it now performs much better when there's a long cleaning task going on.
Changes to the consumables
Consumables are changing a tiny bit with this release, resulting in a breaking change:
sensor
is no longer a type
but a subType
of the newly introduced type cleaning
. If you've been relying on that, please update whatever code you use accordingly.
Furthermore, this will also break the Sensor Cleaning entity in Home Assistant
.
To fix that, just delete the device in Home Assistant before updating. After the robot reboots, everything should be rediscovered correctly.
This change was necessary due to the new wheel
consumable Dreame introduced in newer firmware.
wheel
is now the second subType
for consumable type
cleaning
.
Additionally, it seems that Dreame has removed the mop
consumable from (some) new firmware.
It hence has been removed from NoCloud as well for the affected robots.
Misc Dreame changes
There are two new Dreame Quirks in 2025.01 if your robot's firmware supports them.
The first being Clean Route:
which does make quite a difference on the "deep" setting:
Also, users of Dreames with an extending side brush will now be able to enable the side brush on carpet:
As said, this will require the latest firmware. Speaking of:
Firmware Updates
Over the last weeks, we were once again busy testing and then updating the Dustbuilder with new firmware versions where available.
Feel free to try them and see if you can spot any improvements.
As the NoCloud updater only updates NoCloud, for instructions on updating the firmware, check out the docs .
In some tests on a Dreame X40 Master it was necessary to reconfigure Wi-Fi after the update.
This was observerd only once and couldn't be reproduced, so no clue if it might affect others or if it was only caused by something not yet present in this new NoCloud version (which was fixed when adding support for the new firmware).
Bonus
In the previous release notes were some mentions about the vendor (original) apps and how there were some interesting developments.
Since then, there have been some more interesting developments
. Just see for yourself:
sqH7fAI.mp4
sqH7fAI.mp4
Imagine being a person that just paid $1500 for a vacuum robot to then discover.. this poop.
But of course, it should quickly turn out that it's a systemic issue that is not isolated to one vendor :(
In a way, this feels vindicating, because it's another great example of why NoCloud exists in the first place.
This style of enshittification simply can't happen to something that is self-contained and operates only in your local network.
Autogenerated changelog
Breaking Changes
- vendor.Dreame: The mop consumable sensor has been removed from Dreame X/L40 firmware and equivalent
- The sensor consumable type is now a subtype of the new type cleaning
Features
- ui: Simplify and merge paths to improve Map performance
- vendor.Dreame: Added Side Brush on Carpet quirk
- vendor.Dreame: Added Wheel consumable monitoring
- core: Introduce wheel consumable subtype
- updater: Add NullUpdateProvider for good measure
- updater: Introduce a working version comparison to the Nightly Builds update channel
- ui: Shuffle the MQTT settings around
- mqtt: Remove obsolete addICBINVMapProperty setting
- vendor.Dreame: Add support for MOVA P10 Pro Ultra robot
- vendor.Dreame: Added Clean Route quirk
- vendor.Roborock: Add error mapping for error codes 27 35
- ui: Trim host field inputs
- mqtt: Optionally expose PetObstacleAvoidance, CarpetModeControl and CarpetSensorModeControl capabilities
- mqtt: Publish Dock Status to MQTT
Fixes
- vendor.Dreame:Newer Dreame robots may store obstacle images in a different path
- mqtt: Attempt to fix the reconfigure mutex never being left
- docs: Typos, wording - Miscellaneous stuff :)
- ui: Corrected / rephrased some Dialogs
- mqtt: Fix Home Assistant object_id generation
Refactoring
- mqtt: Minor cleanup
Full Changelog: 2024.11.6...2025.01.1