This card enables you to specify a target or start a zoned cleanup using live or static map, just like in Mi Home app. Additionally you can define a list of zones and choose the ones to be cleaned.
Key | Type | Required | Default | Description |
---|---|---|---|---|
entity |
string |
True |
- | ID of Xiaomi vacuum entity |
map_image |
string |
False |
- | Path to image of map |
map_camera |
string |
False |
- | ID of map camera entity (for map without root on a vacuum use this integration) |
camera_refresh_interval |
integer |
False |
5 | Update interval for map camera in seconds |
camera_calibration |
boolean |
False |
- | Automatic calibration if camera entity provides calibration_points attribute |
calibration_points |
list |
False |
- | Pairs of coordinates: in vacuum system and on map image. See: Calibration |
zones |
list |
False |
Empty | List of predefined zones |
modes |
list |
False |
[go_to_target, zoned_cleanup, predefined_zones] |
List of displayed modes. Possible values: go_to_target , zoned_cleanup , predefined_zones |
default_mode |
string |
False |
- | Default selected mode. Possible values: go_to_target , zoned_cleanup , predefined_zones |
debug |
boolean |
False |
false |
Enables alerts with coordinates after holding Start button. Possible values: true , false |
service |
string |
False |
vacuum.send_command |
Allows to define service used after clicking Start button. See: Defining service |
ignore_zones_limit |
boolean |
False |
false |
Disables 5 zones limit. Possible values: true , false . See: Defining service |
language |
string |
False |
en |
Language used in the card. Possible values: cz , en , de , dk , es , fi , fr , hu , it , nl , no , pl , pt , ru , se , uk |
type: custom:xiaomi-vacuum-map-card
entity: vacuum.xiaomi_vacuum
map_image: '/local/custom_lovelace/xiaomi_vacuum_map_card/map.png'
calibration_points:
- vacuum:
x: 25500
y: 25500
map:
x: 466
y: 1889
- vacuum:
x: 26500
y: 26500
map:
x: 730
y: 1625
- vacuum:
x: 25500
y: 26500
map:
x: 466
y: 1625
zones:
- [[25500, 25500, 26500, 26500]]
- [[24215, 28125, 29465, 32175]]
- [[24245, 25190, 27495, 27940], [27492, 26789, 28942, 27889]]
- [[28972, 26715, 31072, 27915], [29457, 27903, 31107, 29203], [30198, 29215, 31498, 31215], [29461, 31228, 31511, 32478]]
- Download xiaomi-vacuum-map-card.js, coordinates-converter.js, texts.js and style.js to
/www/custom_lovelace/xiaomi_vacuum_map_card
directory:mkdir -p www/custom_lovelace/xiaomi_vacuum_map_card cd www/custom_lovelace/xiaomi_vacuum_map_card/ wget https://github.com/PiotrMachowski/Home-Assistant-Lovelace-Xiaomi-Vacuum-Map-card/raw/master/dist/xiaomi-vacuum-map-card.js wget https://github.com/PiotrMachowski/Home-Assistant-Lovelace-Xiaomi-Vacuum-Map-card/raw/master/dist/coordinates-converter.js wget https://github.com/PiotrMachowski/Home-Assistant-Lovelace-Xiaomi-Vacuum-Map-card/raw/master/dist/texts.js wget https://github.com/PiotrMachowski/Home-Assistant-Lovelace-Xiaomi-Vacuum-Map-card/raw/master/dist/style.js
- Add the card to resources in
ui-lovelace.yaml
or in the raw editor if you are using the frontend UI editor:resources: - url: /local/custom_lovelace/xiaomi_vacuum_map_card/xiaomi-vacuum-map-card.js type: module
To calibrate this card follow instructions from this guide.
You can use a service
parameter for example to run a script instead of starting a vacuum directly. Provided service will be run with following parameters:
entity_id
- id of a vacuumcommand
- one of two:app_goto_target
- for Go to target modezoned_cleanup
- for Zoned cleanup and Predefined zones modes
params
- point or a list of zones (the same value as displayed indebug
mode)
WARNING: In the current version of Home Assistant the service vacuum.send_command does not support templates! |
---|
To overcome this issue you can use a script and a python script. |
Example HA script that can be used with this card is available here.
-
To find out values for
calibration_points
you can use the servicevacuum.send_command
with data:{ "entity_id": "vacuum.xiaomi_vacuum", "command": "app_goto_target", "params": [25500, 25500] }
Alternatively you can use
vacuum.xiaomi_clean_zone
:{ "entity_id": "vacuum.xiaomi_vacuum", "zone": [[25500, 25500, 26500, 26500]], "repeats": 1 }
-
You can find out coordinates for zones using two methods:
- Enabling
debug
in settings, drawing zone inZoned cleanup
mode and holdingStart
button. Note: this method also works for other modes. - Android App FloleVac
- Enabling
-
To add another language modify file texts.js and set the
language
parameter in cards configuration.
-
Can this card show a live map?
Yes, to show a camera feed as a background set property
map_camera
in configuration. To get this feature without rooting your vacuum use this integration. -
Does this card require rooted device?
No, it only utilizes features of Home Assistant and not communicates directly with a vacuum.
-
How to create a map?
You can use any image you want, the easiest way is to use a screenshot from Mi Home/FloleVac or this integration to provide live map without rooting.