Skip to content

Personalización con Card Mod en Home Assistant: Guía Completa

Índice de contenido

    ¿Qué es CSS y por qué es importante en Home Assistant?

    Hoy exploraremos cómo la personalización con Card Mod en Home Assistant puede revolucionar tu experiencia. Aprenderás a usar CSS para diseñar y controlar visualmente tus dispositivos de una manera completamente nueva. CSS, o Hojas de Estilo en Cascada, es un lenguaje de diseño gráfico para definir y crear la presentación de un documento estructurado escrito en HTML o XML. En el contexto de Home Assistant, CSS nos permite personalizar la apariencia de nuestras tarjetas en el dashboard, desde colores y fuentes hasta espaciado y más.

    Instalación de Card Mod

    Instalar Card Mod es un proceso sencillo si utilizas HACS (Home Assistant Community Store). Simplemente dirígete a HACS, busca «Card Mod», e instálalo. Una vez instalado, recomiendo añadir la siguiente línea a tu archivo configuration.yaml para optimizar el rendimiento:

    frontend:
      extra_module_url:
        - /hacsfiles/lovelace-card-mod/card-mod.js
    

    No olvides reiniciar Home Assistant para que los cambios tengan efecto. Este paso asegura que Card Mod se cargue correctamente y puedas empezar a personalizar tus tarjetas de inmediato.

    Personalización con Card Mod en Home Assistant: Ejemplos Prácticos

    Personalizando la tarjeta de Meteoalarm

    Vamos a ver cómo aplicar estilos CSS a tarjetas específicas. Uno de mis ejemplos favoritos es personalizar la tarjeta de Meteoalarm para que cambie de color según el nivel de alerta meteorológica. Aquí os dejo un ejemplo de cómo hacerlo:

    type: vertical-stack
    cards:
      - type: tile
        entity: binary_sensor.emporda
        show_entity_picture: false
        vertical: false
        hide_state: false
        name: Empordà
        card_mod:
          style: |
            ha-card {
              {% set bma = states('binary_sensor.emporda') %}
              {% set color = '#FFFFFF' %}  {# Default text color is white #}
              {% if bma == 'off' %}
                background-color: #568e56;
                {% set color = '#000000' %}  {# Dark text for light green background #}
              {% else %}
                {% set level = state_attr('binary_sensor.emporda', 'awareness_level') %}
                {% if 'green' in level %}
                  background-color: #568e56;
                  {% set color = '#000000' %}
                {% elif 'yellow' in level %}
                  background-color: #999900;
                {% elif 'orange' in level %}
                  background-color: #996300;
                {% elif 'red' in level %}
                  background-color: #991e00;
                {% else %}
                  background-color: #996878;
                {% endif %}
              {% endif %}
              color: {{ color }};
            }
    

    Este código cambia el color de fondo de la tarjeta según el estado del sensor de Meteoalarm, permitiendo una identificación visual inmediata del nivel de alerta.

    Personalizando tarjetas de horarios laborales

    También he personalizado mis tarjetas de horarios laborales para reflejar visualmente mi turno de trabajo usando colores distintos. Por ejemplo, para una tarjeta que muestra mi jornada laboral, utilizo diferentes colores para indicar cada turno:

    type: grid
    cards:
      - type: button
        entity: input_select.jornada_laboral
        show_state: true
        name: Jornada Laboral
        tap_action:
          action: toggle
        card_mod:
          style: |
            ha-card {
              {% set state = states('input_select.jornada_laboral') %}
              {% if state == 'Turno mañana' %}
                background-color: #FFFF00;  # Amarillo
              {% elif state == 'Turno tarde' %}
                background-color: #92D050;  # Verde
              {% elif state == 'Turno noche' %}
                background-color: #33CCCC;  # Azul
              {% else %}
                background-color: #FFFFFF;  # Blanco
              {% endif %}
              color: black;  # Text color for state
              border-radius: 12px;
            }
    square: true
    

    Con este estilo, cada cambio en mi turno de trabajo ajusta automáticamente el color de fondo de la tarjeta, haciendo que sea fácil y rápido identificar mi horario con solo echar un vistazo.

    Personalizar el aspecto de una tarjeta de clima

    type: weather-forecast
    entity: weather.home
    card_mod:
      style: |
        ha-card {
          background-image: url('/local/weather-background.jpg');
          color: white;
        }
        .name {
          font-weight: bold;
        }
    

    Este ejemplo muestra cómo agregar un fondo personalizado y cambiar el color del texto para una tarjeta de pronóstico del tiempo, haciendo que la interfaz sea más visual y atractiva.

    Resaltar tarjetas de sensores según su estado

    type: entities
    entities:
      - entity: sensor.living_room_temperature
        card_mod:
          style: |
            :host {
              background-color: {% if states('sensor.living_room_temperature') | float > 25 %} red {% else %} green {% endif %};
              color: white;
            }
    

    Este código cambia el color de fondo de la tarjeta del sensor de temperatura del salón según su valor, resaltando condiciones que requieren atención, como altas temperaturas.

    Estilizar tarjetas de luces para mostrar su estado

    type: entities
    entities:
      - entity: light.living_room
        card_mod:
          style: |
            :host {
              --card-mod-icon: mdi:lightbulb;
              --card-mod-icon-color: {% if is_state('light.living_room', 'on') %} yellow {% else %} grey {% endif %};
            }
    

    En este ejemplo, el icono de la tarjeta de la luz del salón cambia de color dependiendo de si la luz está encendida o apagada, proporcionando una indicación visual inmediata del estado de la luz.

    Crear un borde dinámico para tarjetas de seguridad

    type: alarm-panel
    entity: alarm_control_panel.home
    card_mod:
      style: |
        ha-card {
          border: 5px solid {% if states('alarm_control_panel.home') == 'armed' %} red {% else %} green {% endif %};
        }
    

    Este estilo añade un borde alrededor de la tarjeta del panel de alarma que cambia de color según el estado de la alarma, facilitando la identificación visual rápida de si la alarma está armada o no.

    Personalización de tarjetas de reproducción de medios

    type: media-control
    entity: media_player.living_room
    card_mod:
      style: |
        ha-card {
          background: linear-gradient(to right, #000000, #434343);
          color: white;
          font-family: 'Helvetica Neue', sans-serif;
        }
        .title {
          font-size: 20px;
          font-weight: bold;
        }
        .media-info {
          font-size: 15px;
        }
    

    Este ejemplo muestra cómo personalizar una tarjeta de control de medios para darle un estilo moderno y elegante, mejorando la legibilidad del texto y la apariencia general de la tarjeta.

    Personalizar ícono según estado del sensor

    Vamos a suponer que tenemos un sensor de ruido y queremos cambiar el color del ícono dependiendo del ruido detectado por el sensor. Así lo podríamos lograr.

    type: entities
    entities:
      - entity: sensor.db_soundesp
        name: Nivel de Sonido
        icon: mdi:volume-high
        style: |
          :host {
            --paper-item-icon-color: 
              {% if states('sensor.db_soundesp')|float > 50 %}
                red;
              {% elif states('sensor.db_soundesp')|float > 30 %}
                orange;
              {% else %}
                green;
              {% endif %}
          }
    

    Explicación del Código

    • type: entities: Utilizamos una tarjeta de tipo entities para listar nuestros sensores.
    • entity: sensor.db_soundesp: Este es el sensor de sonido que estás utilizando.
    • icon: mdi:volume-high: Especifica el ícono que se mostrará.
    • style: Aquí es donde aplicamos Card Mod para personalizar el estilo del ícono.
      • :host: Selecciona el host de la tarjeta para aplicar estilos CSS.
      • –paper-item-icon-color: Variable CSS que controla el color del ícono.
      • Condicionales Jinja: Utilizamos condicionales para determinar el color basado en el estado del sensor.
        • Si el nivel de sonido es mayor a 50, el ícono será rojo.
        • Si está entre 31 y 50, será naranja.
        • Si está por debajo de 30, será verde.

    Con estos ejemplos de personalización con Card Mod en Home Assistant, puedes empezar a explorar y adaptar tu espacio a tus necesidades. Puedes adaptar estos ejemplos según tus necesidades específicas para personalizar tu dashboard de manera que refleje tu estilo y preferencias personales.

    Preguntas Frecuentes sobre Card Mod en Home Assistant

    ¿Qué es Card Mod?

    Card Mod es una integración para Home Assistant que permite aplicar estilos CSS personalizados a las tarjetas de tu dashboard. Con Card Mod, puedes modificar aspectos visuales como colores, fuentes, y espaciados de tus tarjetas en Home Assistant.

    ¿Cómo instalo Card Mod en Home Assistant?

    Para instalar Card Mod, debes utilizar HACS (Home Assistant Community Store). Busca ‘Card Mod’ en HACS, instálalo, y luego agrega la URL del módulo en tu archivo configuration.yaml:

    frontend:
      extra_module_url:
        - /hacsfiles/lovelace-card-mod/card-mod.js
    

    Reinicia Home Assistant para que los cambios surtan efecto.

    ¿Card Mod funciona con todas las tarjetas en Home Assistant?

    Card Mod funciona con la mayoría de las tarjetas que contienen el elemento <ha-card>. No es compatible con tarjetas como conditional, entity_filter, y algunas tarjetas de agrupación como vertical-stack, horizontal-stack, y grid, aunque puede estilizar las tarjetas contenidas dentro de estas.

    ¿Puedo usar Card Mod para cambiar iconos en las tarjetas?

    Sí, con Card Mod puedes personalizar los iconos y su color en las tarjetas. Utiliza variables CSS para definir y modificar los iconos y colores según el estado de los dispositivos o entidades.

    ¿Es necesario saber programar para usar Card Mod?

    Mientras que un conocimiento básico de CSS es muy útil, no necesitas ser un programador experto para usar Card Mod. La comunidad de Home Assistant y varios tutoriales en línea, incluyendo vídeos y foros, pueden ayudarte a empezar y aprender cómo aplicar cambios básicos y avanzados.

    ¿Card Mod afecta el rendimiento de Home Assistant?

    La implementación de estilos CSS mediante Card Mod puede afectar el rendimiento si se usan estilos muy complejos o se aplican a muchas tarjetas. Sin embargo, para la mayoría de los usuarios, el impacto es mínimo y se puede manejar optimizando el CSS y limitando el uso de estilos complejos.

    Conclusión

    La integración de Card Mod en Home Assistant nos abre un mundo de posibilidades para personalizar nuestra interfaz de manera que no solo sea funcional, sino también estéticamente agradable y adaptada a nuestras necesidades específicas. Desde cambiar colores y estilos de texto hasta ajustar la disposición visual según el contexto, Card Mod es una herramienta poderosa que puede transformar la manera en que interactuamos con nuestra automatización del hogar.

    Os animo a todos a explorar las posibilidades que ofrece Card Mod. No dudéis en experimentar y ajustar los estilos para adaptar vuestras tarjetas a vuestras preferencias personales. Recuerda que, aunque al principio puede parecer complejo, con práctica y algo de ayuda de las herramientas de inteligencia artificial, pronto podrás crear una interfaz que no solo sea funcional, sino también un placer visual. ¿Estás listo para darle un toque personal a tu Home Assistant? ¡Manos a la obra y a personalizar!

    Sígueme a YouTube

    Personalización con Card Mod en Home Assistant

    Ajustes