GitRead 中文社区
首页趋势排行榜原创文章严选周刊
更多资源
新手训练营
精选专题热门话题GitHub 文档资源精选实战指南

lovelace-xiaomi-vacuum-map-card

This card provides a user-friendly way to fully control map-based vacuums in Home Assistant. Supported brands include Xiaomi (Roborock/Viomi/Dreame/Roidmi/Valetudo/Valetudo RE), Neato, Wyze, Roomba, Ecovacs (and probably more).

  • 语言TypeScript
  • 默认分支master
  • 大小4.1 MB
  • 更新6月24日
  • Issues72
在 GitHub 打开
avatarPiotrMachowski

项目介绍

PiotrMachowski/lovelace-xiaomi-vacuum-map-card 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 MIT License 许可证,目前获得 2.0k 个 Star、287 次 Fork。

仓库全名
PiotrMachowski/lovelace-xiaomi-vacuum-map-card

README 摘要

[hacs]: https://hacs.xyz/docs/defaultrepositories [latestrelease]: https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card/releases/latest [releases]: https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card/releases [communityforum]: https://community.home-assistant.io/t/xiaomi-vacuum-interactive-map-card/123901 Lovelace Vacuum Map card This card provides a user-friendly way to fully control…

完整内容见 GitHub 原始 README 或本页 。

常见问题

lovelace-xiaomi-vacuum-map-card 用什么语言开发?

主要使用 TypeScript 编写,采用 MIT License 许可证,目前有 2.0k 个 Star。

lovelace-xiaomi-vacuum-map-card 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 lovelace-xiaomi-vacuum-map-card 的源码?

可以直接克隆仓库:git clone https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card.git,默认分支为 master;安装与运行步骤见仓库 README。

lovelace-xiaomi-vacuum-map-card 最近还在维护吗?

仓库最近一次更新为 6月24日,当前有 72 个未关闭 Issue;Star 数为 2.0k,可作为社区活跃度的参考。

本页面展示项目元数据与原始 README,GitRead 中文社区 编辑团队负责选题收录。

相关仓库

freeCodeCamp/freeCodeCamp avatar
freeCodeCampfreeCodeCamp
1 小时前
459.0k
46.8k
86

freeCodeCamp.org 的开源代码库和课程体系。免费学习数学、编程和计算机科学。

learn-to-codenonprofitsprogramming+7
TypeScript
571.7 MB
9
详情
morluto/rea avatar
reamorluto
42 分钟前
454.3k
111.6k
1.7k

借助智能体逆向分析任何内容,从应用行为直至原生二进制文件。

agent-skillsaiandroid+17
TypeScript
154.7 MB
0
详情
openclaw/openclaw avatar
openclawopenclaw
36 分钟前
394.4k
82.9k
8.0k

真正做实事的 AI。任何 OS。任何平台。龙虾之道。🦞

aiassistantcrustacean+4
TypeScript
13.6 GB
18
详情
nilbuild/developer-roadmap avatar
developer-roadmapnilbuild
44 分钟前
371.9k
46.0k
0

交互式路线图、指南及其他教育内容,帮助开发者在职业生涯中成长。

computer-scienceroadmapdeveloper-roadmap+7
TypeScript
356.3 MB
2
详情
deepseek-ai/deepseek-harness avatar
deepseek-harnessdeepseek-ai
1 天前
279.3k
34.2k
0

DeepSeek Harness:一切皆插件。

ai-agentscordisdsh+1
TypeScript
374.1 MB
3
详情
anomalyco/opencode avatar
opencodeanomalyco
6 小时前
226.3k
30.6k
4.3k

开源编码代理。

TypeScript
702.4 MB
0
详情
vuejs/vue avatar
vuevuejs
2024年10月10日
212.5k
33.9k
368

这是 Vue 2 的仓库。如需 Vue 3,请前往 https://github.com/vuejs/core

frameworkfrontendjavascript+1
TypeScript
31.4 MB
0
详情
n8n-io/n8n avatar
n8nn8n-io
6 小时前
210.2k
61.0k
345

具备原生 AI 能力的公平代码工作流自动化平台。将可视化构建与自定义代码相结合,支持自托管或云端部署,提供 400+ 种集成。

automationipaasn8n+7
TypeScript
784.4 MB
3
详情

关于

deebotecovacshome-assistanthome-automationhomeassistantlovelace-cardmyneatoneatoroborockroombaroomba980vacuumvaletudovaletudo-rewyzexiaomixiaomi-vacuum
  • MIT License
  • 2.0k Stars
  • 287 Forks
  • 31 Watching

简要分析

热度分
2558
价值分
1257
活跃状态
活跃
GitHub

语言占比

JavaScript
TypeScript

Release

  • Roomba+, Neatsvor, card editor fixes6月23日
  • HA 2026.2+ compatibilty2月4日
  • v2.3.2-beta2月3日
  • Roborock and Dreame fixes2025年4月4日
  • Roborock core2025年3月30日

贡献者

PiotrMachowskiPiotrMachowskitzagimtzagimamixslvamixslvalicialialialicialialigentslavagentslavadependabot[bot]dependabot[bot]druprydrupryLash-LLash-LsebPommesebPommerogodrarogodrafbirollofbirollofangguishengfangguisheng

HACS Default GitHub Latest Release GitHub All Releases Community Forum Ko-Fi buycoffee.to PayPal.Me Revolut.Me

Lovelace Vacuum Map card

This card provides a user-friendly way to fully control map-based vacuums in Home Assistant. Supported brands include Xiaomi (Roborock/Viomi/Dreame/Roidmi/Valetudo/Valetudo RE), Neato, Wyze, Roomba, Ecovacs (and probably more).

https://user-images.githubusercontent.com/6118709/140251738-7fb06e81-34b0-4bf8-b7b1-2221d0062331.mp4

Table of contents

  • Features
  • Installation
    • HACS
    • Manual
  • Configuration
    • Main options
    • Preset options
    • Map source options
      • Cropping options
    • Calibration source options
      • Calibration points options
    • Supported vacuum platforms
    • Icon list entry options
    • Tile list entry options
    • Condition options
    • Map modes options
      • Supported templates
      • Supported selection types
      • Service call schema options
      • Supported repeats types
      • Predefined selection options
      • Icon options
      • Label options
    • Available actions
  • FAQ
  • Migrating from v1.x.x
  • Translations
  • Special thanks
  • Support

Features

Features include:

  • Map-based controls:
    • Zoned cleaning (manual and saved)
    • Going to target (manual and saved)
    • Room cleaning
    • Following path
    • Custom services
  • Icon controls:
    • Conditional visibility
    • Customizable service calls
  • Value tiles:
    • Customizable content
    • Conditional visibility
    • Customizable service calls
  • General:
    • Multiple vacuums support
    • Multiple maps (camera/image) support
    • Fully customizable styling

Installation

HACS

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  • Open HACS
  • Go to “Frontend” section
  • Click button with “+” icon
  • Search for “Xiaomi Vacuum Map”
  • Install repository in HACS
  • Make sure you have added this card to Lovelace resources
    url: /hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js
    type: module
    
  • Refresh your browser

Manual

  • Download xiaomi-vacuum-map-card.js file from the latest release
  • Save downloaded file somewhere in <ha config>/www/ directory, e.g. /config/www/custom_lovelace/xiaomi-vacuum-map-card.js
  • Add saved file to Lovelace resources
    url: /local/custom_lovelace/xiaomi-vacuum-map-card.js
    type: module
    
  • Restart HA if you had to create www directory
  • Refresh your browser

Configuration

This card contains UI configuration editor, but it is limited to only basic set of features. Its full potential can be achieved by manual yaml adjustments.

:warning::warning::warning:

You can use this configuration as an example: demo config (configuration used in full_demo.mp4).

:warning::warning::warning:

Main options

Key Type Required Default Description
title string no empty Card's title
language string no autodetected Overrides autodetected language (supported languages)
action_handler_id string no - Enables action handling
additional_presets list no empty A list of additional presets (e.g. with different map/vacuum)
All values from preset options section

Preset options

Key Type Required Default Description
preset_name string yes1 - Name of the preset
entity string yes - Vacuum entity
map_source string yes - Preset’s map source
calibration_source object yes2 - Preset’s calibration source
vacuum_platform string no default Preset’s vacuum platform
map_locked boolean no false Default state of pan/zoom
two_finger_pan string no false Enables two finger map panning
icons list no autogenerated Preset’s icons
append_icons boolean no false Enables appending configured icons to autogenerated ones instead of replacing them
tiles list no autogenerated Preset’s tiles
append_tiles boolean no false Enables appending configured tiles to autogenerated ones instead of replacing them
map_modes list no autogenerated Preset’s map modes
activate object no - Service call that should be executed after clicking preset name
activate_on_switch boolean no false Enables executing activate service call after switching map preset
conditions list no - List of conditions that need to be (all of them) met for preset to be shown
clean_selection_on_start boolean no true Allows to disable cleaning selection on cleanup start
internal_variables object no - Allows to specify default values for internal variables

1 If multiple presets are configured

2 Not mandatory when used with a platform that support a default calibration

Map source options

Key Type Required Default Description
camera string no1 - Entity id of map camera
image string no1 - URL of map image
crop object no no cropping Images cropping options

1 Exactly one of camera or image must be provided

Cropping options
Key Type Required Default Description
top number no 0 Image cropping value from the top (in pixels)
bottom number no 0 Image cropping value from the bottom (in pixels)
left number no 0 Image cropping value from the left (in pixels)
right number no 0 Image cropping value from the right (in pixels)

Calibration source options

Key Type Required Default Description
camera boolean no1 - Enables retrieving calibration from camera defined in map_source (Xiaomi Cloud Map Extractor)
entity string no1 - Entity with calibration returned as a state
attribute string no - Enables usage of a configured attribute instead of state of given entity
calibration_points list no1 - List of 3 or 4 calibration points
identity boolean no1 - Enables using image coordinates on map (e.g. when map is used just for rooms)
platform string no1 - Enables using a default calibration from a chosen platform (provided that it supports it)

1 Exactly one of camera, entity, calibration_points, identity or platform must be provided

Calibration points options

Each of calibration points must have a following structure:

vacuum: # coordinates of a point in a vacuum coordinate system
  x: 25500
  y: 25500
map: # coordinates of a point in a map coordinate system (can be read using e.g. Paint or Gimp)
  x: 466
  y: 1889

Manual calibration guide

Supported vacuum platforms

Following vacuum platforms are supported out of the box at this moment:

  • Xiaomi Miio
  • Roborock
  • humbertogontijo/homeassistant-roborock
  • Tasshack/dreame-vacuum
  • rand256/ValetudoRE
  • Hypfer/Valetudo
  • marotoweb/viomi SE
  • tykarol/ViomiVacuumV8
  • KrzysztofHajdamowicz/miio2
  • send_command
  • al-one/Xiaomi MIoT (additional manual configuration required)
  • Neato
  • Roomba
  • DeebotUniverse/Deebot-4-Home-Assistant
  • romedtino/simple-wyze-vac
  • BenjaminPaap/home-assistant-myneato
  • CoderAS-ru/hass-neatsvor
  • johnnyh1975/ha_roomba_plus

Create a request for a new built-in platform

Adding a new platform

Icon list entry options

icons image

Key Type Required Default Description
icon string yes - An icon to be displayed (mdi)
icon_id string no - Icon ID that can be used to override the configuration
tap_action action no more-info Action that will be triggered when an icon is tapped.
Warning: use service_data instead of data
hold_action action no - Action that will be triggered when an icon is held and released.
Warning: use service_data instead of data
double_tap_action action no - Action that will be triggered when an icon is double-tapped.
Warning: use service_data instead of data
conditions list no - List of conditions that need to be (all of them) met for an icon to be shown
tooltip string no - Tooltip to be displayed on hoover
order number no - Used to sort the icons
replace_config boolean no false Marks that this icon should override the config of an already existing icon with the same icon_id
menu_id string no - Adds this icon to the menu with given ID
label string no - Label that should be displayed in the menu
variables object no - Variables that should be passed to to service calls
remove boolean no false Allows to remove specific pre-defined icon (when combined with icon_id and replace_config: true
Menu icon additional options
Key Type Required Default Description
type string yes - Has to be set to menu
menu_id string yes - A menu ID
entity string yes - Entity that should be used to generate the menu
current_value_attribute string no - Changes the source of the selected value to given attribute
available_values_attribute string yes - Configures an attribute that contains all available values for the menu
icon_mapping object no - A mapping of possible entity value -> icon that should be used for the value
value_translation_keys object no - A mapping of possible entity value -> label that should be used for the value
tap_action object no - Action that should enable a specific value

Examples:

  • Menu based on the select entity
    type: "menu",
    menu_id: "water_box_mode",
    icon_id: "water_box_mode",
    entity: "select.water_box_mode"
    available_values_attribute: "options"
    icon: "mdi:water",
    icon_mapping:
        off: "mdi:water-remove"
        mild: "mdi:water-minus"
        moderate: "mdi:water"
        intense: "mdi:water-plus"
        custom: "mdi:water-sync"
    tap_action:
        action: "call-service"
        service: "select.select_option"
        service_data:
            option: "[[value]]"
            entity_id: "[[entity_id]]"
    

Tile list entry options

tiles image

Key Type Required Default Description
label string no - Label of a tile
entity string no - Entity which should be shown on a tile
internal_variable string no - Internal variable which should be shown on a tile
icon string no - An icon to be displayed (mdi)
icon_source string no - Source of an icon, e.g: vacuum.xiaomi.attributes.battery_icon
attribute string no - Attribute that should be shown on a tile
multiplier number no - Multiplier that should be used to calculate value shown on a tile
precision number no - Precision that should be used to present value on a tile
unit string no - Unit to be used
tap_action action no more-info Action that will be triggered when a tile is tapped.
Warning: use service_data instead of data
hold_action action no - Action that will be triggered when a tile is held and released.
Warning: use service_data instead of data
double_tap_action action no - Action that will be triggered when a tile is double-tapped.
Warning: use service_data instead of data
conditions list no - List of conditions that need to be (all of them) met for a tile to be shown
tooltip string no - Tooltip to be displayed on hoover
translations map no - Translations that should be applied to tile’s value
tile_id string no - ID of an autogenerated tile that should be replaced with this one
order number no - Used to sort the tiles
replace_config boolean no false Marks that this tile should override the config of an already existing tile with the same tile_id
variables object no - Variables that should be passed to to service calls
remove boolean no false Allows to remove specific pre-defined tile (when combined with icon_id and replace_config: true

Condition options

Key Type Required Default Description
entity string no - Entity ID
attribute string no - Attribute to use instead of entity state
internal_variable string no - Name of internal variable to use instead of entity state
value string no1 - Entity state/attribute has to be equal to this value
value_not string no1 - Entity state/attribute has to be unequal to this value

1 Exactly one of them has to be provided

Map modes options

map modes image

Key Type Required Default Description
template string no1 - Map mode template to be used (supported templates)
name string yes2 - Name of map mode
icon string yes2 - Icon of map mode (mdi)
selection_type string yes2 - Type of selection, one of supported ones
service_call_schema object yes2 - Service call schema that should be used in this mode
run_immediately boolean no false Enables calling service immediately after choosing a selection
coordinates_rounding boolean no true Enables coordinates rounding
max_selections integer no 1 Maximal number of selections
repeats_type string no NONE Type of repeats inclusion, one of supported ones
max_repeats integer no 1 Maximal value of repeats
variables object no - Variables that should be passed to service_call_schema
predefined_selections list no3 -

You can override any value from built-in template by providing it in your configuration

1 Not required if all parameters with (2) are provided

2 Required if template is not provided

3 Required if template is not provided and selection_type is one of: PREDEFINED_RECTANGLE, PREDEFINED_POINT, ROOM

Supported templates

List of supported templates depends on selected vacuum_platform

Supported selection types

Following selection types are supported at this moment:

  • MANUAL_RECTANGLE: Free-drawn rectangular zones on the map

    Example video

    https://user-images.githubusercontent.com/6118709/141666913-d95f082d-f5bf-4ab5-a478-ba44effe6f34.mp4

  • PREDEFINED_RECTANGLE: Rectangular zones that can be selected on the map from predefined_selections

    Example video

    https://user-images.githubusercontent.com/6118709/141666920-492a000c-9a78-4c20-b4f5-9343928140c7.mp4

  • MANUAL_POINT: Point selected by clicking in an arbitrary place on the map

    Example video

    https://user-images.githubusercontent.com/6118709/141666921-2f3d66da-6ffc-492a-8439-625da97651bd.mp4

  • PREDEFINED_POINT: Point selected on the map from predefined_selections

    Example video

    https://user-images.githubusercontent.com/6118709/141666923-965679e9-25fb-44cd-be08-fc63e5c85ce0.mp4

  • ROOM: Identifier-based selection with free-drawn outline

    Example video

    https://user-images.githubusercontent.com/6118709/141666925-34b01cde-82ff-447b-aecc-e9ced402b1ed.mp4

  • MANUAL_PATH: Path selected by clicking on the map

    Example video

    https://user-images.githubusercontent.com/6118709/141666931-48d1717f-96d0-461d-84f4-788c071f3a78.mp4

Service call schema options
Key Type Required Default Description
service string yes - Service that should be called in a given mode
service_data object no - Data that should be passed to service call
target object no - Target that should be passed to service call
evaluate_data_as_template boolean no false Enables support for jinja templates in service calls

It is possible to use several built-in placeholders in service_data section. They will be replaced by:

  • [[entity_id]]: entity_id defined in preset’s config
  • [[selection]]: selection made on the map (zone, point or path)
  • [[selection_size]]: number of selections made on the map
  • [[selection_unwrapped]]: the same as [[selection]], but passed as string unwrapped from brackets
  • [[repeats]]: selected number of repeats
  • [[point_x]]: x coordinate of selected point (for MANUAL_POINT and PREDEFINED_POINT selection types)
  • [[point_y]]: y coordinate of selected point (for MANUAL_POINT and PREDEFINED_POINT selection types)
  • [[variables]]: a list of variables for all selections

It is possible to use any value from variables section (wrapped with double rectangular brackets):

variables:
  test_variable: 123
service_call_schema:
  service: fake.service
  service_data:
    var: "[[test_variable]]"

It is possible to use following modifiers in service_data section:

  • |[[jsonify]]: if value ends with this modifier it will be decoded as a JSON and attached to service call in unwrapped form
  • |[[jsonify_jinja]]: behaves in the same way as |[[jsonify]], but is executed after jinja templating
Supported repeats types

Following repeats types are supported at this moment:

  • NONE: No repeats
  • INTERNAL: Repeats number included in coordinates array ([25500, 25000, 26500, 26500, 2])
  • EXTERNAL: Repeats number used as a separate attribute in service_call_schema
  • REPEAT: Repeats selection (repeats: 2, selection: [5,6] => [5,6,5,6])
Predefined selection options

Format of data depends on selected selection_type:

  • PREDEFINED_RECTANGLE

    Key Type Required Default Description
    zones list yes - List of lists containing zone’s coordinates in [x,y,width,height] format (e.g. [[25500, 25000, 26500, 26500]])
    icon object no - Icon definition
    label object no - Label definition
    variables object no - Variables that should be passed to service_call_schema
    default_state selected/unselected no unselected Default state of selection
    state_entity entity id no - Entity that should be used to store the state of selection

    See this page to check how to easily retrieve zone coordinates.

  • PREDEFINED_POINT

    Key Type Required Default Description
    position list yes - Point’s coordinates in [x,y] format (e.g. [25500, 25000])
    icon object no - Icon definition
    label object no - Label definition
    variables object no - Variables that should be passed to service_call_schema
    default_state selected/unselected no unselected Default state of selection
    state_entity entity id no - Entity that should be used to store the state of selection

    See this page to check how to easily retrieve point coordinates.

  • ROOM

Key Type Required Default Description
id string or number yes - Room’s identifier
outline list no - List of points forming an outline of a room (e.g. [[25500,25500],[26500,25500],[25500,26500]]
icon object no - Icon definition
label object no - Label definition
variables object no - Variables that should be passed to service_call_schema
default_state selected/unselected no unselected Default state of selection
state_entity entity id no - Entity that should be used to store the state of selection (e.g. switch.bathroom)

See this page to check how to easily create outline.

Icon options
Key Type Required Default Description
name string yes - An icon to be displayed (mdi)
x number yes - X coordinate of an icon (in vacuum’s coordinate system)
y number yes - Y coordinate of an icon (in vacuum’s coordinate system)
Label options
Key Type Required Default Description
text string yes - Text to be displayed
x number yes - X coordinate of a label (in vacuum’s coordinate system)
y number yes - Y coordinate of a label (in vacuum’s coordinate system)
offset_x number no - Offset that should be applied to label in X direction (in pixels)
offset_y number no - Offset that should be applied to label in Y direction (in pixels)

Action handling

To enable handling actions you have to configure action_handler_id in Main options. This card handles following actions:

  • Starts cleaning

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: cleaning.start
    
  • Set a value of internal variable

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: internal_variable.set
          data:
            variable: variable_1
            value: "some value"
    
  • Selects next map mode

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: map_mode.next
    
  • Selects previous map mode

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: map_mode.previous
    
  • Selects a specific map mode

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: map_mode.set
          data:
            index: 2 
    
  • Decrements a number of repeats

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: repeats.decrement
    
  • Increments a number of repeats

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: repeats.increment
    
  • Set a number of repeats

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: repeats.set
          data:
            value: 2
    
  • Clears current selection

      tap_action:
        action: fire-dom-event
        xiaomi_vacuum_map_card:
          action_handler_id: xiaomi_vacuum_map_card_id_1
          action: selection.clear
    

FAQ

  • Make sure to check out FAQ section in Discussions, it contains a lot of useful information

  • Does this card require rooted device?

    No, it only utilizes features of Home Assistant.

  • How to create a map?

    The easiest way is to use Xiaomi Cloud Map Extractor, but you can use any image (e.g., a screenshot from Mi Home/FloleVac).

  • Can I use image that has a perspective distortion?

    Yes, you just have to provide 4 calibration points.

Migrating from v1.x.x

Configuration with map_image
Old config (v1.x.x)New config (v2.x.x)
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]]
  - [[24245, 25190, 27495, 27940], [27492, 26789, 28942, 27889]]
type: custom:xiaomi-vacuum-map-card
entity: vacuum.xiaomi_vacuum
map_source:
  image: '/local/custom_lovelace/xiaomi_vacuum_map_card/map.png'
calibration_source:
  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
map_modes:
  - template: vacuum_clean_zone
  - template: vacuum_goto
  - template: vacuum_clean_zone_predefined
    predefined_selections:
      - zones: [[25500, 25500, 26500, 26500]]
      - zones: [[24245, 25190, 27495, 27940], [27492, 26789, 28942, 27889]]

Configuration with map_camera
Old config (v1.x.x)New config (v2.x.x)
type: custom:xiaomi-vacuum-map-card
entity: vacuum.xiaomi_vacuum
map_camera: camera.xiaomi_cloud_map_extractor
camera_calibration: true
zones:
  - [[25500, 25500, 26500, 26500]]
  - [[24245, 25190, 27495, 27940], [27492, 26789, 28942, 27889]]
type: custom:xiaomi-vacuum-map-card
entity: vacuum.xiaomi_vacuum
map_source:
  camera: camera.xiaomi_cloud_map_extractor
calibration_source:
  camera: true
map_modes:
  - template: vacuum_clean_zone
  - template: vacuum_goto
  - template: vacuum_clean_zone_predefined
    predefined_selections:
      - zones: [[25500, 25500, 26500, 26500]]
      - zones: [[24245, 25190, 27495, 27940], [27492, 26789, 28942, 27889]]

Translations

Currently, this card contains translations for following languages:

  • bg - Bulgarian (Български)
  • ca - Catalan (Català)
  • cs - Czech (Čeština)
  • da - Danish (Dansk)
  • de - German (Deutsch)
  • el - Greek (Ελληνικά)
  • en - English
  • es - Spanish (Español)
  • fi - Finnish (Suomi)
  • fr - French (Français)
  • he - Hebrew (עברית)
  • hu - Hungarian (Magyar)
  • is - Icelandic (Íslenska)
  • it - Italian (Italiano)
  • lv - Latvian (Latviešu)
  • nb-NO - Norwegian Bokmål (Norsk bokmål)
  • nl - Dutch (Nederlands)
  • pl - Polish (Polski)
  • pt - Portuguese (Português)
  • pt-BR - Brazilian Portuguese (Português Brasileiro)
  • ro - Romanian (Română)
  • ru - Russian (Русский)
  • sk - Slovak (Slovenčina)
  • sv - Swedish (Svenska)
  • tr - Turkish (Türkçe)
  • uk - Ukrainian (Українська)
  • zh - Chinese (中文)
  • zh-Hant - Traditional Chinese (正體中文)

Adding a new language

Special thanks

I’d like to give special thanks to people who helped me with card’s design and development:

  • Bartosz Orczyk
  • Filip Schramm
  • Kamil Dryzek
  • Marek Trochimiak

Support

If you want to support my work with a donation you can use one of the following platforms:

Platform Payment methods Link Comment
Ko-fi
  • PayPal
  • Credit card
  • Buy Me a Coffee at ko-fi.com
  • No fees
  • Single or monthly payment
  • buycoffee.to
  • BLIK
  • Bank transfer
  • Postaw mi kawę na buycoffee.to
    PayPal
  • PayPal
  • PayPal Logo
  • No fees
  • Revolut
  • Revolut
  • Credit Card
  • Revolut
  • No fees
  • Powered by

    PyCharm logo.

    评论

    登录 后发表评论
    暂无评论
    GitRead 中文社区
    深度解读 · 趋势洞察 · 价值精选

    关于

    关于我们联系我们编辑准则收录标准赞赏人员

    发现

    技术趋势新手训练营资源精选实战指南精选专题热门话题GitHub 文档

    条款

    隐私政策服务条款网站地图
    26.9万收录项目
    6.7万中文话题
    155精选专题
    发现技术价值,连接开源智慧
    © 2026 GitRead · GitHub 中文社区 本站与 GitHub, Inc. 无隶属关系;GitHub 是 GitHub, Inc. 的商标。