Skip to content

Map Support ​

Completely reverse engineered map data handling, decoding and rendering for live and multiple saved map support with all features provided with the official App.

Live mapLive map
  • High resolution image rendering with layer caching for improving performance.
  • All icon position and color index finding algorithms were independently reverse engineered to match the official App's 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.

How to view the map and control the device from the dashboard

High refresh rate with low latency ​

The integration features advanced map decoding capabilities to deliver a high refresh rate with low latency, closely matching the official app's performance. It seamlessly processes incoming data streams to support the standard three-second refresh rate found on most devices, as well as the faster one-second refresh rate introduced with 2026 and newer models.

Cleaning refresh rateCleaning refresh rateCleaning refresh rate

Map Decoding Complexity

Modern devices transmit partial map updates (P-frames) that contain only the incremental differences from the previous frame. Decoding these differential frames is a highly complex process, but it is necessary for achieving real-time updates. By independently handling this logic, the integration avoids the heavy overhead and arbitrary time limitations of requesting full maps continuously.

Color schemes ​

The integration provides multiple built-in color schemes, allowing users to customize the visual style of both live and saved maps to best fit their dashboard design.

Dreame Light color schemeDreame Light color scheme
Dreame Light
Dreame Dark color schemeDreame Dark color scheme
Dreame Dark
Mijia Light color schemeMijia Light color scheme
Mijia Light
Mijia Dark color schemeMijia Dark color scheme
Mijia Dark
Grayscale color schemeGrayscale color scheme
Grayscale

The active color scheme for a specific device can be changed at any time from the Color Scheme configuration option.

Room and customized cleaning icons ​

The map renderer dynamically generates and overlays a comprehensive set of room-specific icons, labels, and badges to reflect the device's current customized cleaning settings in real time. These dynamically rendered elements include:

Room and customized cleaning iconsRoom and customized cleaning iconsRoom and customized cleaning icons
  • Room Colors
  • Room Icons
  • Room Names
  • Room Name Backgrounds
  • Room Order
  • Room Suction Level
  • Room Water Volume
  • Room Cleaning Times
  • Room Cleaning Mode
  • Room Mopping Mode

Any of these room-specific elements can be selectively hidden from the generated map at any time via the Hidden Map Objects configuration option.

Dynamic object rendering for job types ​

The visual elements displayed on the map, including room colors, active icons, and other objects, change dynamically depending on the robot's current job type (e.g., room cleaning vs. zone cleaning) to accurately reflect the active task.

Room cleaning renderingRoom cleaning renderingRoom cleaning rendering
Zone cleaning renderingZone cleaning renderingZone cleaning rendering

Fast mapping and spot cleaning ​

The integration can parse and render unsaved, temporary maps in real-time. This includes dynamically drawn maps during fast mapping operations or spot cleaning tasks initiated directly via the physical button on the robot.

Temporary Map Handling

When the robot is fast mapping or spot cleaning, it creates a new temporary map in its memory and does not respond to local map_request API actions. Because these newly created maps do not have an object name yet, they can only be accessed via the cloud map_data property. New map data requires entirely different decoding and rendering rules, making this integration uniquely capable of handling this type of map data.

Fast mappingFast mappingFast mapping
Spot cleaningSpot cleaningSpot cleaning

When a mapping job is completed but the device has reached its maximum saved map limit, the robot will pause and wait for your decision on whether to overwrite an existing map or discard the newly generated one. The integration provides a dedicated Notification to alert you when a temporary map is discovered and waiting for an action.

Robot state ​

Vacuum icon overlays for displaying device state, matching the official App's conventions.

Sleeping
Idle
Active
Charging
Error
SleepingSleeping
IdleIdle
ActiveActive
ChargingCharging
ErrorError

TIP

Warnings are clearable via notifications or clear_warning service for restoring robot state on map.

Room Entities ​

Dynamic room entitiesDynamic room entitiesDynamic room entities

The integration exposes dynamic room entities for managing all customizable properties of a room, such as its name, floor material, and customized cleaning settings. These entities are dynamically generated from saved maps and update automatically when the selected map changes.

For more info about room entities