Completely reverse engineered map data handling, decoding and rendering for live and multiple saved map support with all features provided with the official App.
- High resolution image rendering with layer caching for improving performance.
- All resources with icon position and color index finding algorithms are extracted from the official App for same look and feel.
- All map operations is handled on memory before it is sent to device for low latency updates.
- Fully featured highly optimized integrated map manager for map editing and handling partial maps.
- With dynamic refresh rate determined by map type, device state and last access time.
Partial map (P frame type) decoding for three seconds refresh rate with three seconds delay same as with the official App.
- P type maps are introduced with second generation robots and new devices only sends P frames to the cloud when running.
- P maps are only containing the difference between its previous frame therefore handling is much harder than standard I type maps.
- Valetudo do not parses P frames suggesting that is hard and instead it sends new map requests to refresh the map but requesting I frames from device is strictly restricted to minimum 5 seconds on the official App source code.
- Documentation for handling P frames is not available and currently there are no other integration, library or app exists that can handle P maps for Dreame vacuums except the official App.
Five available color schemes for live and saved maps:
- Dreame Light: Colors from the official Dreame App for light themes.
- Dreame Dark: Darkened version of the Dreame Light map for dark themes.
- Mijia Light: Colors from the official Mijia App for light themes.
- Mijia Dark: Darkened version of the Mijia Light map for dark themes.
- Grayscale: Black and white version of the Dreame Dark map with inverted icon colors for a clean look.
Map color scheme can be changed from integration configuration options.
Dynamically rendered icons and texts for:
- Room type
- Custom name
- Cleaning order
- suction level
- Water level
- Cleaning Times
Custom rendering rules extracted from the official App for specific type of job and robot state.
For more info about Xiaomi Vacuum map card
Live mapping support with new map handling, parsing and rendering.
When robot is fast mapping or spot cleaning it creates a new map on its memory and does not responds to local map_request api actions. Newly created map does not have an object name yet so it can only be accessed via cloud map_data property. New map data requires different decoding and rendering rules because of that there are currently no other available map decoder library for this types of maps.
Vacuum icon overlays for displaying device state same as on the official App.
Sleeping |
Idle |
Active |
Charging |
Error |
---|---|---|---|---|
Warnings are clearable via notifications or
clear_warning
service for restoring robot state on map.
Up to three saved maps with auto generated camera and select entities for multiple floor map management.
Saved maps uses
[original map id][version]
as theirmap_id
format (e.g.46
). Because of that map ids are constantly changing and cannot be used on entity ids. Instead, map camera entities uses indexing system. Map indexes created from map id ordered saved map list and used for naming maps without custom names. Therefore whenmap_2
removed from the list,map_3
will be deleted instead andmap_3
will becomemap_2
(exactly how handled on the official App). If Multi-floor map is disabled when multiple saved maps existsmap_1
always become the selected map instead of other maps being deleted.
Automatically generated saved and live map entities for map editing and automations.
For more info about map entities
Automatically generated room entities for room and customized cleaning settings.
For more info about room entities
Services for available map operations provided with the official App.
For more info about map services
Reverse engineered Valetudo map data generation with optimization features.
Valetudo map card uses its own color index algorithm, does not render room icons or names and ignores the map rotation setting from map data. But it can generate images much more quickly since map image rendering actually happens on browser.
For more info about valetudo map card
Selectable room, vacuum and charger icon types:
- Dreame: Icons from the official Dreame App.
- Dreame Old: Icons from the old version of the official Dreame App for VSLAM robots.
- Mijia: Icons from the official Mijia App.
- Material: Icons from the Material Design.
Configurable map object rendering options:
Map object can be selected from integration configuration options.
- Room Colors: Render rooms with colors
- Room Icons: Render room icons instead of names
- Room Names: Render custom and default room names
- Room Order: Render cleaning sequence number of the room
- Room Suction Level: Render customized cleaning suction level of the room
- Room Water Volume: Render customized cleaning water volume of the room
- Room Cleaning Times: Render customized cleaning times of the room
- Room Cleaning Mode: Render customized cleaning cleaning mode of the room (Only on supported devices)
- Path: Render path
- No Go Zones: Render no go zones
- No Mop Zones: Render no mop zones
- Virtual Walls: Render virtual walls
- Active Areas: Render active areas
- Active Points: Render active points
- Charger Icon: Render charger icon
- Robot Icon: Render robot icon
- Cleaning Direction: Render cleaning direction (Not supported yet)
- AI Obstacle: Render obstacle icon
- Carpet Area: Render carpet areas (Not supported yet)
Map recovery support is coming soon.
Cleaning history map rendering support is coming soon.