This release contains mostly bugfixes and code cleanup.
Also, ordered cleanup and iterations for MQTT segment cleaning.
Dreame root public release
Rooting Dreame robots has been made publicly available with Dennis' DEF CON 29 Talk
Robots with lasers and cameras but no security Liberating your vacuum.
For more information, consider joining the Dreame Robot Vacuum Telegram Usergroup.
MQTT Segment Cleaning options
This release allows you to specify an iteration count when calling Segment Cleanups via MQTT.
Furthermore, you can also request it to respect the order you've provided. e.g. Kitchen then Living Room then Bathroom.
This requires firmware support and is also a breaking change.
You'll have to update your MQTT scripts/automations/whatever.
The docs contain an example payload.
KeyLockCapability
If you have children, cats or drunk roommates who like to mess with your robot vacuum, you can now lock the buttons via Valetudo.
This of course needs firmware support. Something that seems to be available on most Dreame-made robots.
Please note that there's no UI toggle for it yet, meaning that you'll have to use the Swagger UI (http://ROBOT_IP/swagger/) to enable it.
_valetudo._tcp bonjour service
Valetudo 2021.08.0 and up will publish a bonjour service, which should make it easy to auto-discover a Valetudo instance.
This will likely be useful in the future.
Autogenerated changelog
Features
- core: KeyLockCapability (4e2b97b)
- networkadvertisement: Publish _valetudo._tcp service (cb1c34f)
- vendor.dreame: 1C Manual Control (afded40)
- vendor.dreame: DreameKeyLockCapability (36e3598)
- vendor.dreame: Manual Control (4cfddd4)
Bug Fixes
- core: Improve unhandledRejection event handler (a8720b9)
- mqtt: Catch exceptions when handling MQTT commands (33b9dc3)
- mqtt: Fix weirdness on disconnect (be033b6)
- mqtt: Only try to publish state when connected (e61cf98)
- mqtt: Publish named as well as unnamed segments (b5ff0b4)
- vendor.dreame: Add error code 64 for Dreame robots (#1017) (4ed64d2)
- vendor.dreame: Error 11 Mapping for CombinedVirtualRestrictions (491ed4b)
- vendor.dreame: Fix cleaning order of segments (d7cfd07)
- vendor.dreame: Handle more segment-related error codes (57fe90a)
- vendor.dreame: Ignore some FDS uploads (f1930b3)
- vendor.dreame: Update error code mapping (d1699b2)
- Fix invalid use of .finally() (770f977)
- vendor.dreame: Remove logging of raw data on failed parse (11fec98)
- vendor.roborock: Fix unhandled rejection in virtual restrictions (4a76029)
- vendor.viomi: Fix unhandled rejection in virtual restrictions (af4704f)
- Fix more various minor issues found by deepscan (c6c1a7f)
- Fix various minor issues found by deepscan (37cc55f)