Skip to content

Configuración de Mapa Personalizado ​

La alineación, la escala y la imagen de fondo se pueden configurar de manera independiente para cada mapa guardado en el dispositivo.

Estas configuraciones se pueden ajustar en el editor visual seleccionando un mapa de la lista de mapas, o usando la propiedad map_config en la configuración YAML.

Ajustes mapaAjustes mapaAjustes mapa

Opciones de Configuración del Mapa ​

Las configuraciones dentro de map_config se aplican por índice de mapa usando claves como map_1, map_2, etc. Cualquiera de las siguientes opciones se puede definir bajo un mapa específico:

Advertencia

Los índices de los mapas se asignan según su orden de creación, con el mapa más antiguo recibiendo el índice más bajo, empezando desde 1. Sin embargo, si la función de mapas con múltiples pisos está deshabilitada en un dispositivo que tiene múltiples mapas y sus configuraciones, el mapa activo actualmente se reasigna automáticamente al índice 1. Esto significa que un mapa previamente configurado bajo un índice diferente adoptará repentinamente la configuración de map_1.

  • rotation: Sobrescribe la rotación configurada dentro de los datos del mapa para dibujar el mapa en una rotación personalizada específica de esta carta, aceptando valores de 0, 90, 180 o 270.
  • scale: Sobrescribe el cálculo automático de escala basado en la diferencia entre el tamaño original del mapa y el tamaño de la carta, aceptando valores entre 0.1 y 20.
  • object_scale: Sobrescribe el tamaño calculado automáticamente de los objetos del mapa, como los íconos de habitación y obstáculos, permitiendo que aparezcan más grandes o más pequeños.
  • opacity: Transparencia global del mapa dibujado. El valor inicial es 1 y acepta valores hasta 0.
  • object_opacity: Transparencia de los objetos dibujados en el mapa, como los íconos de habitación o de obstáculos. El valor inicial es 1 y acepta valores hasta 0.
  • font_size: Tamaño de la fuente para los globos de texto mostrados sobre objetos activados. Acepta valores entre 0 y 12.
  • hidden_objects: Sobrescribe los objetos del mapa ocultos definidos en el Configuración avanzada global para este mapa específico.

Centrado y Escalado ​

Los parámetros a continuación se utilizan para sobrescribir el tamaño y las coordenadas del centro que la tarjeta calcula automáticamente para dibujar el mapa.

Advertencia

Los valores proporcionados para estos parámetros son relativos a las dimensiones originales y sin escalar del mapa, no a los píxeles absolutos en la pantalla. Debido a que calcular estas coordenadas relativas manualmente es muy complejo, los valores exactos necesarios se pueden extraer utilizando la sección Información del mapa en vivo del editor visual.

  • left: Sobrescribe el centro horizontal del mapa calculado automáticamente. Por ejemplo, establecer este valor en 0 coloca la coordenada 0 del mapa en el eje X exactamente en el centro horizontal de la tarjeta. Este punto normalmente se encuentra justo enfrente del muelle.
  • top: Sobrescribe el centro vertical del mapa calculado automáticamente. Por ejemplo, establecer este valor en 0 coloca la coordenada 0 del mapa en el eje Y exactamente en el centro vertical de la tarjeta. Este punto normalmente se encuentra justo enfrente del muelle.
  • width: Anula el ancho real del mapa utilizado para el cálculo de ajuste. Debido a que la tarjeta escala el mapa según la dimensión más grande que encaje, ingresar un valor mayor que el ancho real del mapa reducirá el tamaño del mapa dentro de la tarjeta, mientras que un valor menor lo ampliará.
  • height: Anula la altura real del mapa utilizada para el cálculo de ajuste. De manera similar a la propiedad width, ingresar un valor mayor que la altura real del mapa reducirá el tamaño del mapa dentro de la tarjeta, mientras que un valor menor lo ampliará.

Ejemplo en YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2
map_config:
  map_1:
    rotation: 90
    scale: 1.2
    object_scale: 1.5
    left: 10
    top: -20
    hidden_objects:
      - name
      - virtual_wall
  map_2:
    rotation: 180
    opacity: 0.8

Imágenes de Fondo y Superposición ​

La tarjeta admite la representación de una imagen de fondo personalizada detrás del mapa, lo cual es particularmente útil para crear paneles de planta 3D inmersivos. Este comportamiento se configura usando la propiedad background_image.

Imagen de Fondo de Configuración del MapaImagen de Fondo de Configuración del Mapa

Para mejorar aún más el efecto 3D, también se puede proporcionar un overlay_image opcional. La imagen superpuesta se dibuja directamente sobre el camino de limpieza del robot y su propósito principal es oscurecer visualmente los caminos que pasan detrás de paredes físicas o muebles en el plano. Se recomienda encarecidamente combinar tanto una imagen de fondo como una imagen superpuesta para lograr una sensación realista de profundidad en los paneles 3D.

Imagen de Fondo InicioImagen de Fondo Inicio
Imagen de Fondo MapasImagen de Fondo Mapas
Imagen de Fondo Mapa GuardadoImagen de Fondo Mapa Guardado

Diseñando un Plano 3D

Al crear gráficos personalizados para un plano 3D, el diseño debe exportarse como dos imágenes separadas con fondos transparentes: una capa base que contenga los pisos y muebles bajos y una capa superior que contenga solo las paredes superiores.

Las imágenes de ejemplo a continuación, mostradas sobre un patrón de tablero de ajedrez para resaltar sus áreas transparentes, fueron generadas usando la aplicación gratuita de diseño de interiores Sweet Home 3D y posteriormente procesadas en un software de edición de imágenes estándar para eliminar las áreas del piso y crear las partes transparentes requeridas.

Imagen fondoImagen fondo
Imagen fondo
Imagen superpuestaImagen superpuesta
Imagen superpuesta

background_image y overlay_image soportan las siguientes propiedades para alinear el plano del piso:

  • url: Ruta de la imagen, como /local/first_floor_bg.
  • opacity: Transparencia de la imagen. El valor inicial es 1 y acepta valores hasta 0.

Centrado y Escalado de Imágenes ​

Las propiedades left, top, width y height para imágenes funcionan usando la misma lógica de coordenadas relativas que la configuración Centrado y Escalado del propio mapa. Estas propiedades son completamente opcionales.

Incluso si la imagen personalizada coincide perfectamente con el tamaño del mapa, se recomienda encarecidamente proporcionar al menos los valores de top y left. Esto asegura que si el tamaño total del mapa cambia en el futuro, la imagen personalizada permanezca fijada de manera segura en la misma ubicación relativa.

Valores Predeterminados

Cuando estos valores no se proporcionan, la tarjeta iguala automáticamente el tamaño y el centro de la imagen personalizada con los datos del mapa. Estas propiedades son completamente opcionales y existen únicamente para anular este comportamiento, evitando que la imagen personalizada se desplace o que su escala cambie en caso de que el mapa se expanda o se reduzca con el tiempo.

  • left: Define el centro horizontal de la imagen con respecto al centro del mapa. Por ejemplo, establecer este valor en 0 coloca la coordenada 0 del mapa en el eje X exactamente en el centro horizontal de la imagen. Este punto generalmente se encuentra justo frente al muelle.
  • top: Define el centro vertical de la imagen con respecto al centro del mapa. Por ejemplo, establecer este valor en 0 coloca la coordenada 0 del mapa en el eje Y exactamente en el centro vertical de la imagen. Este punto generalmente se encuentra justo frente al muelle.
  • width: Define el ancho de la imagen en relación con el sistema de coordenadas original y no escalado del mapa, en lugar de los píxeles absolutos de la pantalla. Por ejemplo, establecer este valor para que coincida con el ancho bruto del mapa garantiza que la imagen se escale proporcionalmente para cubrir exactamente la misma área horizontal que los datos del mapa.
  • height: Define la altura de la imagen en relación con el sistema de coordenadas original y no escalado del mapa. Por ejemplo, establecer este valor para que coincida con la altura bruta del mapa garantiza que la imagen se escale proporcionalmente para cubrir exactamente la misma área vertical que los datos del mapa.

Rotación Nativa

Las imágenes personalizadas no tienen su propia propiedad de rotación independiente; su rotación está inherentemente ligada a la rotación del mapa. Para asegurar la alineación en todas las vistas, la orientación base de la imagen diseñada debe coincidir exactamente con la orientación inicial del mapa cuando se establece en 0 grados.

Relación de Píxeles del Dispositivo (DPR)

La tarjeta representa el mapa de acuerdo con la relación de píxeles de la pantalla del dispositivo. Para evitar que las imágenes de fondo y superposición aparezcan borrosas en pantallas de alta resolución, como las de los teléfonos móviles, se recomienda encarecidamente proporcionar estas imágenes con al menos el doble del tamaño requerido en el panel de escritorio.

Determinación del Tamaño de la Imagen

Los datos del mapa incluyen una propiedad grid_size que indica cuántos milímetros representa un solo píxel en el mundo real. Este valor se puede encontrar en la sección Información del mapa en vivo. Por ejemplo, un grid_size de 50 significa que cada píxel corresponde a 50 mm, o 5 cm. Al dividir las dimensiones reales de la casa por este grid_size, se pueden calcular con precisión los valores exactos de width y height que se deben ingresar en la configuración, asegurando que una imagen del plano de planta a escala 1:1 se corresponda perfectamente con el tamaño real de la casa.

Ejemplo en YAML ​

yaml
type: custom:dreame-vacuum-card
entity: vacuum.l10s_gen2

map_config:
  map_1:
    object_scale: 7
    width: 250
    height: 183
    opacity: 0.45
    hidden_objects:
      - customized_cleaning
      - floor
      - name
      - name_background
      - no_go
      - no_mop
      - order
      - walls
    background_image:
      url: /local/home.png
      left: 77
      top: 10.3
      width: 250
      height: 183
      opacity: 0.75
    overlay_image:
      url: /local/home_overlay.png
      opacity: 0.9
  map_2:
    left: 41
    top: -12
    width: 269
    height: 171
    background_image:
      url: /local/second_floor_bg.png