Releases: Hypfer/Valetudo
Valetudo 2021.03.0
This release features segment editing, SVG path and icon rendering, and a cool new companion service.
Segment editing
Yep. It's finally here.
Starting with this release, you can split and merge your Segments, which you might also refer to as Rooms.
If this was the only thing holding you back from switching back to Valetudo: Welcome back.
SVG Path + Icons
The map rendering was reworked. It's still a canvas but everything that isn't pixel-based is now drawn as an SVG, which results in greatly improved visual fidelity.
See for yourself:
Furthermore, this might also improve performance. In any case, I'm quite happy with how good zooming in looks now.
Valeronoi
@ccoors built a companion service which connects to Valetudo and generates a Wifi signal strength heatmap.
You should definitely check that out. It's great!
Its repo can be found here: https://github.com/ccoors/Valeronoi
I'm looking forward to seeing more companion services appear in the near future.
More Valetudo Builds
Starting with this release, there's more than one Valetudo binary available for download in the releases section.
The regular valetudo
binary has been renamed to valetudo-armv7
so just take that one if you're upgrading.
There's also a valetudo-armv7-lowmem
with a slightly decreased heap size. I haven't testet that very much yet so feel free to do that
especially if your robot only has 256mb or less of ram available.
And finally there's now a valetudo-aarch64
binary to support robots with that cpu architecture.
While doing that, I've also upgraded the Valetudo nodejs base binaries to v14.16.0
which should include performance, stability and security improvements.
Misc
VoicePacks
@depau added a way to install new VoicePacks. There's no UI support for that and the request required might vary from vendor to vendor.
Usually, it should be sufficient to provide an URL to the VoicePack + its hash and it should install fine.
MockRobot
@alexkn added a MockRobot
to make development easier and enable you to contribute to Valetudo even if you don't have a robot around.
ID Button
Furthermore, I've added an ID button to the Zone and Location Preset map edit view, which shows you the ID of the preset you're editing so that you can
use it via MQTT.
It's pretty much a hack but that's better than nothing ¯_(ツ)_/¯
Git Commit UI Info
The info section of the UI will now also contain your currently running git commit id, which should make debugging a bit easier in certain situations.
Docs
The Docs at valetudo.cloud have been improved and now feature an autogenerated overview of all supported robots
plus a page that explains all available capabilities.
Autogenerated changelog
Features
- core: Log and display git commit id (2d94408)
- MockRobot: add BatteryStateAttribute (584bfcb)
- MockRobot: add ModelName (db643c6)
- MockRobot: add returning state to BasicControlCapability (721cd78)
- MockRobot: introduce MockRobot (96c4bae)
- MockRobot: MockLocateCapability (#752) (5c41d49)
- ui: Add info button which shows the id of a zone or location preset (ea7cce4)
- ui: Draw path as SVG (48e5d54)
- ui: Nice rounded paths (59aaee3)
- ui: Render icons as SVGs (12f2907)
- ui: Segment editing (e306569)
- vendor.dreame: DreameVoicePackManagementCapability (f9d6ab1)
- vendor.dreame: Fully implemented segment joining + splitting (82e4fe3)
- vendor.roborock: Add support for the S4 Max (#699) (f7eb451)
- vendor.roborock: RoborockVoicePackManagementCapability (d81befc)
- vendor.viomi: Ensure timezone is UTC (#732) (bafa158), closes #728
- vendor.viomi: initial implementation of ViomiZoneCleaningCapability class (#675) (f760137)
- vendor.viomi: Speaker control capabilities (#738) (630d2ab)
- vendor.viomi: ViomiCarpetModeControlCapability (#739) (fe31438)
- webserver: Fully implemented MapSegmentationCapabilityRouter (eda7dcd)
- Add os.freemem() to debug memoryStats (5c7dfc3)
- Add voice pack managemenet capability (#725) (c953e2b)
Bug Fixes
- ui: Fix map canvas size (3c05e2d)
- Fix default map (25eac7c)
- dnshack: Don't try resolving ip addresses (b8c456d)
- logger: Use the windows equivalent of /dev/null on windows machines (fa8f909)
- miio: Bind dummycloud after setting event listeners (#741) (2aba77e)
- miio: Discard handshake packets with older stamps to avoid endless loops with 100% cpu (e274cf1)
- miio: Fix broken development token refresh (9217f70)
- miio: Fix Valetudo crashing due to missing onMessage function (4512fe0)
- miio: Various fixes related to Valetudo crashing in some situations (a62d7e3)
- mqtt: Log on command-less custom command json (3fa8232)
- ui: Decouple svg path generation from rendering to eliminate flicker (9ebee25)
- ui: do not cache API responses (#698) (6e3b462)
- ui: Fix copy-paste error (4479777)
- ui: Fix initial map offset (#711) (a408edc)
- ui: Fix log UI only working once (#718) (2d02570)
- ui: Fix new zone placement (036752a)
- ui: Only show presets if the robot is capable of having those (d996beb)
- ui: Reduce path render resolution ([aa64016](aa64016c29151499cad8f7f...
Valetudo 2021.02.0
This release features Home Assistant MQTT Autoconfig for the Map Data, an NTP Client and more.
Map Autodiscovery
The Valetudo Map Data is now optionally (on by default) provided as embedded and compressed text of a PNG file.
This is not only easy due to the nature of the PNG file format but also 100% according to specs.
We're actually publishing a completely valid PNG to MQTT containing the full Map as a JSON.
This enables Valetudo to do Home Assistant Autoconfiguration for the Map as well since camera entities aren't persistent to the HA database and therefore no user interaction regarding the exclusion of the map entity from the recorder is needed.
I'm quite happy with this approach because there's no added CPU load to Valetudo since we're just sandwiching the deflated Map JSON between other PNG chunks.
Furthermore, providing the raw map data instead of an image enables better interactions with the map such as
- better zooming
- custom colors
- custom icons
- mouseover things
- click-to-select things
etc.
The lovelace-valetudo-map-card is required to extract and render
the map data from the camera image.
If you were already using the Valetudo Map in Home Assistant, you will need to revise your setup.
No worries though. It is much easier now :)
NTP Client
During "normal" cloud operation, miio-based robots receive the time via the miio protocol. This of course resulted in
the robots syncing their time to their time, which doesn't make much sense and may even interfere with some features.
Also, not all robot firmwares contain a build of ntpd
and cross-compiling can be hard.
Therefore, there's now a simple NTP Client integrated into Valetudo, which by default fetches the time from pool.ntp.org
on startup
and every 8 hours after a successful sync.
It can be disabled via the configuration file and doesn't do anything if Valetudo isn't running in embedded
-mode.
Of course, you can also change the ntp server to a different one in the configuration file if you happen to own a
stratum-0 cesium atomic clock or even a fritzbox with an integrated ntp server.
UI-Accessible Logs
Thanks to @ccoors, you will now find the contents of your Valetudo logfile under Settings > Info in the Web UI.
No need for SSH anymore.
It is also possible to temporarily increase the Loglevel there until the next reboot.
If you're looking for stuff like the firmware version or your local token, the log viewer is the right place for you.
Misc
@bensweet86 ported even more capabilities over to the new capabilities system. Starting with this release, Valetudo is now
able to both control the volume and the carpet mode setting again.
Furthermore, he also fixed a long outstanding bug regarding pinch to zoom on iOS devices.
Dreame support has been improved as well.
Public root for those is still TBA.
There were also quite a few changes regarding the cloud redirection in this release.
Please make sure to follow the official upgrade instructions so that you don't run into any issues.
Autogenerated changelog
Features
- logger: Log config and logfile location to logfile (0171a8d)
- Add Valetudo log to UI (#690) (89320f4)
- Log the firmware version if embedded (4bd09c8)
- core: Change the interface of the SpeakerVolumeControlCapability and add the SpeakerTestCapability (56b0637)
- mqtt: Home Assistant Autodiscovery for Maps by embedding the map data in a png (83d1d13)
- vendor.dreame: Consumable monitoring (e986687)
- vendor.dreame: D9 error codes (669f192)
- vendor.dreame: Improve handling of RISM maps (186abd3)
- vendor.dreame: Minor improvements for D9 Firmware 1072 (ef949be)
- vendor.dreame: Virtual Restrictions (3f1f494)
- vendor.dreame: Volume Control + Volume Test (1509be3)
- vendor.roborock: Roborock/Capability Carpet Mode (#661) (54ca606), closes #656
- vendor.roborock: Volume Control + Volume Test (4a47939)
- NTPClient (8b54c7d)
Bug Fixes
- logger: Default loglevel should be info (3e23678)
- logger: Do not log twice if logfile is the same as stdout redirection (#691) (2bd4c82)
- logger: Logger should log 🪵 ([58515d9](58515d97559b 8bd2ab2ac12ddfbadd4fad576d9f))
- miio: Don't get confused by the system clock doing weird things (5e6d8df)
- miio: http_dns: Block ott.io.mi.com requests (#671) (852683b)
- miio: One failing message should not kill the process 20 minutes later (e5fd0a5)
- miio: Set ServerSocket to disconnected on timeouts to prevent valetudo breaking on wifi issues (e14935d)
- mqtt: Fix home assistant vacuum.send_command functionality (97ac35e)
- ntpClient: Intercept dns lookup calls for our ntp server as well (c7095a7)
- ui: Fix for pinch zoom bug in IOS / Safari (#683) (3c0a644)
- ui: SSE Map updates should use a relative path (54bc2b7)
- vendor.dreame: Don't store empty MapLayers (1230c08)
- vendor.dreame: Proper angles (43aa8c6)
- vendor.dreame: Properly parse map with correct rotation, offsets etc (5e037c2)
- vendor.roborock: calculation of max elements for virtual restrictions (#681) (2e4421b)
- vendor.viomi: consumables command fix for viaomi.v8 (#677) (bef609e)
- vendor.viomi: Resolve #672: Fix viomi fan speed control (#673) (be0efca)
- vendor.viomi: Various fixes for 2020.01.1 (a38987a), closes #641
- webserver: Fix handleHttpDnsRequest scope (8226e4a)
- webserver: Rate-limit logfile access (8fd53a5)
Valetudo 2021.01.1
Be advised: This release will break (almost) everything that you're currently using.
Config format, HTTP API and MQTT have changed significantly in this release.
You will need to recreate your Zone presets as well as your Home Assistant Robot entity.
Make sure to disable any Timers you might've configured before upgrading, since there's no way to delete/configure them in this release anymore!
Also, note that this release comes with fewer features than the previous, because not everything has been ported to the new structures yet.
Core rewrite (Capabilities)
To support a growing number of Vacuum Robots with different feature sets made by different Vendors, the core infrastructure
of Valetudo was completely rewritten.
Now, instead of having robots that inherit from other robots, there are so-called capabilities
as an abstraction of features.
There's always a generic base class for each feature (e.g. GoToLocationCapability
) which is extended by multiple vendor-specific
implementations (e.g. RoborockGoToLocationCapability
, ViomiGoToLocationCapability
etc).
This approach completely encapsulates vendor-specific implementation details and makes them invisible for e.g. the webinterface or other
users of the HTTP API which has also been rewritten.
Overall, I'm quite happy with how it turned out. Time will tell whether this abstraction was generic enough to deal with
all possible vendor-specific differences.
New HTTP REST Interface
As mentioned, the REST interface was rewritten and is now an official way of communicating with Valetudo.
All endpoints are dynamically generated according to which capabilities are available for the robot implementation Valetudo is using.
For example basic controls such as "start", "stop" or "home" are done via a PUT request to /api/v2/robot/capabilities/BasicControlCapability
.
To find out more about all possible endpoints for your Valetudo instance, a meta-endpoint has also been added.
At /api/v2/
you will get JSON containing all endpoints as well as their accepted methods.
New MQTT Interface
The MQTT interface was also rewritten to support different subsets of capabilities.
Instead of having a single topic, which contains all the information available, data is now split up onto different topics
based on capabilities.
This also means that you will have multiple entities for your robot in Home Assistant:
Furthermore, Wi-Fi information is now also available over MQTT so in theory, one could build a microservice which subscribes
to both map and Wi-Fi data updates and build a Wi-Fi heatmap of their home by mapping the measurements to the position in the map.
Note that the default identifier changed from rockrobo
to robot
, since Valetudo is not just dealing with Roborock anymore.
Therefore when reconfiguring this release, you may want to change that back to the old value if your setup relies on it.
New Config Schema + Location
To support different robots with different folder structures (some of them being read-only), the configuration location
had to be made configurable, which is a chicken/egg problem, because the information on where to find the configuration
would be configured within the configuration.
To solve this, Valetudo is now using the environment variable VALETUDO_CONFIG_PATH
and defaults to os.tmpdir()
if it isn't set.
Due to the fact that the configuration schema also changed significantly, you will need to reconfigure Valetudo on upgrade.
You will also need to update your means of running valetudo to include this ENV variable since otherwise your configuration will vanish on each reboot.
This can be done either by building a new firmware image or copying the changes required from these commits
Dreame Support
With the launch of the Dreame D9, there's now a promising successor to the Roborock S5 regarding both pricing and ease of installation.
This release already contains support for basic controls, Map Rendering, Segment Cleaning and Zoned Cleaning.
Rooting instructions will follow soon-ish. :)
It looks like this code should also be adaptable to the F9. We'll see about that if/when I get my hands on one
Misc
Viomi note: If you're upgrading on a Viomi, make sure to change the cloud IP used for redirection to 203.0.113.1
which is now hardcoded.
The docs have been updated to reflect that.
Valetudo is now using the CalVer versioning scheme, because it better fits the constantly changing scope of the project.
I'd like to especially thank @depau for his port of the Viomi robot to the new infrastructure using only the half-finished capabilities branch
and no documentation whatsoever as a reference.
Furthermore, thanks to @bensweet86 for porting more capabilities to the new framework.
Autogenerated changelog
Features
- mqtt: Publish ValetudoGoToLocations & ValetudoZonePresets (76a9c52)
- ui: Bring back consumable monitoring & resetting for now (fde2ffd)
- vacuum.roborock: Add support for no-mopping zones on S5 Max and S6 (#630) (61902ed
) - vacuum.roborock: Re-added support for S6 Pure (0226cd5)
- vacuum.viomi: Virtual Walls & No-Go Areas (96462ac)
- vendor.dreame: Basic Dreame D9 support (7c5e231)
- vendor.dreame: Re-add support for 1c as well as more dreame capabilities (cd76abe)
- vendor.roborock: Do not disturb capability (#659) (4b3ed97)
- vendor.roborock: Use the lo alias approach for more robots (58a2618)
- Add properties to capability (7114fcc)
- Configure authorized_keys location via ENV variable (d06520d)
- Viomi capabilities port (8486f04)
Bug Fixes
- miio: Only report a new token from handshake if it is actually new (b373703)
- Fix map layer dimensions calculation for empty layers (216c347)
- ui: fix #565 ui not working with safari and basic auth (252c22d)
- vendor.dreame: Fix map parser tests (a81b8e9)
- vendor.roborock: Use lo alias cloud redirection approach for S6 & S5Max with miio_client 3.5.8 (71bc1f8)
- Set VALETUDO_CONFIG_PATH variable for Upstart (#648) (f75b70d)
- mqtt: missing / in set_fan_speed topic (26ceb95)
- vacuum.roborock: Fix broken cloud connectivity on newer roborock vacuums caused by missing region (28483ab)
- vacuum.viomi: Added model names for viomi.v8 (20d86c3)
- vacuum.viomi: Fix fan speed state parsing (3ca7450)
- vacuum.viomi: Fix invalid property access (6da2822)
- vacuum.viomi: Segments + Docs (#600) (89a5485)
- Improved dnshack to catch all problematic dns.lookup requests (8609612)
Valetudo 2021.01.0b0
Be advised: This release will break (almost) everything that you're currently using.
Config format, HTTP API and MQTT have changed significantly in this release.
You will need to recreate your Zone presets as well as your Home Assistant Robot entity.
Make sure to disable any Timers you might've configured before upgrading, since there's no way to delete/configure them in this release anymore!
Also, note that this release comes with fewer features than the previous, because not everything has been ported to the new structures yet.
Core rewrite (Capabilities)
To support a growing number of Vacuum Robots with different feature sets made by different Vendors, the core infrastructure
of Valetudo was completely rewritten.
Now, instead of having robots that inherit from other robots, there are so-called capabilities
as an abstraction of features.
There's always a generic base class for each feature (e.g. GoToLocationCapability
) which is extended by multiple vendor-specific
implementations (e.g. RoborockGoToLocationCapability
, ViomiGoToLocationCapability
etc).
This approach completely encapsulates vendor-specific implementation details and makes them invisible for e.g. the webinterface or other
users of the HTTP API which has also been rewritten.
Overall, I'm quite happy with how it turned out. Time will tell whether this abstraction was generic enough to deal with
all possible vendor-specific differences.
New HTTP REST Interface
As mentioned, the REST interface was rewritten and is now an official way of communicating with Valetudo.
All endpoints are dynamically generated according to which capabilities are available for the robot implementation Valetudo is using.
For example basic controls such as "start", "stop" or "home" are done via a PUT request to /api/v2/robot/capabilities/BasicControlCapability
.
To find out more about all possible endpoints for your Valetudo instance, a meta-endpoint has also been added.
At /api/v2/
you will get JSON containing all endpoints as well as their accepted methods.
New MQTT Interface
The MQTT interface was also rewritten to support different subsets of capabilities.
Instead of having a single topic, which contains all the information available, data is now split up onto different topics
based on capabilities.
This also means that you will have multiple entities for your robot in Home Assistant:
Furthermore, Wi-Fi information is now also available over MQTT so in theory, one could build a microservice which subscribes
to both map and Wi-Fi data updates and build a Wi-Fi heatmap of their home by mapping the measurements to the position in the map.
Note that the default identifier changed from rockrobo
to robot
, since Valetudo is not just dealing with Roborock anymore.
Therefore when reconfiguring this release, you may want to change that back to the old value if your setup relies on it.
New Config Schema + Location
To support different robots with different folder structures (some of them being read-only), the configuration location
had to be made configurable, which is a chicken/egg problem, because the information on where to find the configuration
would be configured within the configuration.
To solve this, Valetudo is now using the environment variable VALETUDO_CONFIG_PATH
and defaults to os.tmpdir()
if it isn't set.
Due to the fact that the configuration schema also changed significantly, you will need to reconfigure Valetudo on upgrade.
You will also need to update your means of running valetudo to include this ENV variable since otherwise your configuration will vanish on each reboot.
This can be done either by building a new firmware image or copying the changes required from these commits
Misc
Viomi note: If you're upgrading on a Viomi, make sure to change the cloud IP used for redirection to 203.0.113.1
which is now hardcoded.
The docs have been updated to reflect that.
Valetudo is now using the CalVer versioning scheme, because it better fits the constantly changing scope of the project.
I'd like to especially thank @depau for his port of the Viomi robot to the new infrastructure using only the half-finished capabilities branch
and no documentation whatsoever as a reference.
Autogenerated changelog
Features
- vacuum.viomi: Virtual Walls & No-Go Areas (96462ac)
- Configure authorized_keys location via ENV variable (d06520d)
- Viomi capabilities port (8486f04)
- mqtt: Publish ValetudoGoToLocations & ValetudoZonePresets (76a9c52)
- vacuum.roborock: Add support for no-mopping zones on S5 Max and S6 (#630) (61902ed)
Bug Fixes
- ui: fix #565 ui not working with safari and basic auth (252c22d)
- vacuum.viomi: Added model names for viomi.v8 (20d86c3)
- vacuum.viomi: Fix fan speed state parsing (3ca7450)
- vacuum.viomi: Fix invalid property access (6da2822)
- vacuum.viomi: Segments + Docs (#600) (89a5485)
- Improved dnshack to catch all problematic dns.lookup requests (8609612)
Valetudo 0.6.1
This is merely a small fix release.
With 0.6.1, valetudo doesn't segfault anymore when using a domain name as the mqtt host.
Furthermore, zones are now back to being cleaned once instead of ten times.
If you've arrived at this release and haven't seen the 0.6.0 release notes yet, I strongly encourage you to do so now.
Autogenerated changelog:
Features
Bug Fixes
- mqtt: Fix segfault on mqtt hostname resolution (b2410ff)
- mqtt: Fixed #571 mqtt pause status (8b06203)
- ui: Fix mqtt settings checkboxes (039b741)
- ui: Restore context after drawing active zone (4f7ec2c)
- vacuum.roborock: Don't multiply iterations by 10 to fix #573 (f3cc935)
- override dns.lookup to mitigate static nodejs segfaults (41f3e98)
Valetudo 0.6.0
New Data Format
I've finally found the time to rework the Map Data format as well as the robot state format.
Both previously being heavily influenced by roborock, the new and improved formats are a huge step for easier adaption
of Valetudo to new Vacuums as well as implementation of new features.
In fact it has already proven itself in other work that has been done for this release and decreased memory pressure quite a bit.
This change is also of course a breaking change.
Make sure to update any dependant applications/integrations/etc. as well.
(Initial) Support for many more Vacuums + a new Vendor
The list of technically supported roborock vacuums has grown quite a bit.
Especially since Dennis released his guide on how to root the S6 which you can find here.
Furthermore, Valetudo has also received initial support for a dreame-made xiaomi vacuum robot: Xiaomi MiJia 1C
There's no map parsing yet though. Contributions much appreciated.
Please note that there's no dreame rooting guide available yet.
These release notes will be updated when it becomes available.
Segment Cleaning via the Web and MQTT
Owners of room-cleaning capable roborock vacuums can now use Valetudo to do so.
Simply select the segments you want to clean and start the cleanup like you would start a zoned cleanup.
Currently cleaned segments are denoted by a rotated icon.
If you zoom in on a segment marker, it will display both it's segment id as well as the segments' area in m²
.
The latter also being a benefit of the new Map Data format.
Segment cleaning is of course also available via MQTT.
Check out the updated Home Assistant docs for an example on how to use it.
Since this is a generic implementation, support for other vacuum vendors will follow.
You just need to open a PR for that.
UI enhancements
Dynamic zones now display their size in meters which is also a helpful addition if you quickly want to measure something without leaving your desk.
Furthermore, it is now impossible for you to break the map by zooming out too far.
Misc
- The map renderer has been updated by @aa-ko to always color adjacent segments in a different color thanks to math™
- MQTT supports client certificate authentication thanks to @mqtt-fan
and of course there's the autogenerated changelog:
Features
- Segment cleanup via WebUI + MQTT (f14f6cc)
- entities.state: Added Charging/Charged/Discharging status to BatteryStateAttribute (97b5cdf)
- mqtt: add support for client certificate (#549) (33f94ec)
- roborock: Experimental support for even more roborock vacuums (2450ceb)
- ui: Added zone size display, proper icon/text scaling and limited scaling (6b61ca8)
- ui: Use math (four color theorem) to properly color segments (d462f65)
- vacuum.dreame: Initial basic support for the dreame.vacuum.mc1808 (f73c7c6)
- vacuum.viomi: add support for viomi.vacuum.v8 + mop enhancements (#543) (17bb01e), closes #541 #538 #548
- Experimental support(?) for S6 MaxV (88de212)
Bug Fixes
- entities.map: Fixed MapLayer area calculation (ac86c84)
- mqtt: Check DNS resolution before connecting to mqtt broker to fix #563 (38a0af8)
- ui: Default to colorIndex 0 if solver can't find the segment in its graph (e1565d0)
- ui: Fix map coloring (#567) (890120c)
- ui: Fixed zone dimensions (0ca13e3)
- vacuum.roborock: Changed set_lab_status payload for S6 to fix #540 (19e141e)
- vacuum.roborock: Fix map parsing failing for maps with no image data (f187906)
- vacuum.viomi: Hackishly fixed map parsing for viomi v6 + fan speed settings for all viomi (ffbb8e7)
- vacuum.viomi: Hackishly fixed path + angle (fdd80d2)
Valetudo 0.5.3
With this release, Valetudo is upgraded to a stripped NodeJS 14.4.0 runtime, which brings both smaller binary size as well as enhanced performance.
Furthermore, the long awaited cleaning of multiple zones via the Web Interface is finally here.
If you had root access to your Roborock S6/T6/S4/T4 or M1S, you could now use Valetudo as well.
There will be a guide on how to do that in the near future. Be aware, that no new features beyond those which are already available on the S5 are supported yet.
If you're a Valetudo developer, your life has become a lot easier with 0.5.3.
Robot Model, Webserver Port and all the relevant settings are now configured via the config.json. No more messing around with ENV variables.
Here's the autogenerated changelog:
Features
- Initial Support for Roborock T/S4 and M1S (24579f7)
- Try to write a backup in case we're overwriting an invalid configuration file. (#537) (e738491)
- ui: Allow select of multiple zones for zone clean (#535) (1a29155)
- Added debug config option to continuously log memory usage (d96eb15)
- Added option to fully configure model information via the config file (#497) (e241c1d)
- Initial support for S6 T6 and S5 Max (f417b4d)
Bug Fixes
- mqtt: Removed unnecessary availability topic mitigation (b76ce14)
- Always assume embedded operation unless specified otherwise (#536) (7585f86)
- Removed useless app_get_locale functionality to fix #532 (ffc06d6)
- Simplify embedded logic now that 'auto' is gone. #536 (b9097a6)
- mqtt: Update availability topic on each attribute topic update to fix false offline status (af69673)
- ui: Fix #527 not working close and cancel buttons in timer settings (e2ea1ce)
- ui: Hide forbidden zones editor menu item on gen 1 (#382) (32e9416)
Valetudo 0.5.2
This release contains a new and reworked Iconset for the map view as well as support for displaying detected rooms.
Furthermore, these are the first release notes which feature semi-autogenerated changelogs utilizing Conventional Commits
Features
- mqtt: Add availability as last will (b196625)
- ui: Display Model information in Info Page (8db6ca2)
- Always log Stacktrace on unclean exit code (e2a542c)
- vacuum.roborock: Add backup map restore to vacuum class (2b76965)
- vacuum.roborock: added more events without handler (3bbdd80)
- log process exit code + debug log process exit stacktrace (afd7e5a)
- mqtt: added time and area information to mqtt attributes (9eaf848)
- ui: Added and reworked icons, fixed rendering bugs and fully enabled map dark mode (4c181ae)
- new robot + charger icon (964b935)
- Parse and render segments (386c344)
- mqtt: split broker_url in multiple fields (c41f6da)
- Upgrade MQTT to 4.0.0 (#518) (6063775)
Bug Fixes
- api: remove passwords from /api/get_config (18261bb)
- ui: Fixed virtual wall placement (6724e55)
- ui: Removed misleading firmware version which was actually the miio_client version (ac757b2)
- vacuum: missing roborock onStatusChange implementation (cd42a7e)
- vacuum.roborock: getCurrentStatus should return a promise (dd63d75)
- vacuum.roborock: Limit maximum amount of virtual walls according to firmware limits (6787826)
Valetudo 0.5.1
While this isn't a change in Valetudo itself, it is worth mentioning that there's finally a working mitigation for random firmware resets on Gen2 Vacuums.
This is currently available as an experimental feature in DustBuilder.
If you want to update the local firmware builders, the mitigation used by DustBuilder can be found here.
See #206 for more information on how it works.
Features & Changes
- MQTT-Settings via the Web UI
- Gen1-related Bugfixes
Valetudo 0.5.0
With the initial support for Viomi-made vacuums, the project is now multi-vendor capable.
A lot of refactoring as well as general code cleanup has been done to achieve this as well as to future-proof the codebase.
Thanks to @alexkn and @rumpeltux
Features
Here's what to expect feature-wise from the new version:
- Lots of MQTT Improvements
- QoS Settings
- Home Assistant Autodiscovery unique_id
- Home Assistant Autodiscovery device information
- Dark Theme
- UI Bugfixes
- Major code cleanup
- Support for latest firmwares
- Initial viomi support