Je ne maitrise pas les templates

bonjour à tous,

dans les cartes de mon Tdb j’ai un certain nombre d’entités qui utilisent bien souvent le même code

exemple

- type: custom:mushroom-chips-card
  alignment: center
  chips:
     - type: template
       entity: cover.volet_chambre_emilie
       content: >-
                  {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
                  {{ cover_level }}%
                
       icon: >-
           {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
           {% if (cover_level>0) %}
                mdi:window-shutter-open
           {% else %}
               mdi:window-shutter
           {% endif %}
                
       icon_color: >-
          {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
          {% if (cover_level>0) %}
              red
          {% else %}
              blue
          {% endif %}
       
      tap_action:
          action: more-info

tous mes volets utilise le même code, il n’y a que l’entité qui change.

J’aurais donc voulu créer un template et mettre ce template dans un fichier entities_templates.yaml mais je n’arrive pas à faire le lien entre le fichier configuration.yaml et ce fichier. J’ai à chaque fois une erreur de syntaxe

une idée ?

Salut,

Si tu veux faire des templates, il faut faire attention à plusieurs choses :

  • les espaces sont toujours en nombre pair
  • l’inclusion marche si le yaml est valable

Voilà la différence entre ton code (à gauche), et ce qu’il devrait être (à droite):

- type: custom:mushroom-chips-card
  alignment: center
  chips:
    - type: template  
      entity: cover.volet_chambre_emilie
      content: >-
        {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
        {{ cover_level }}
      icon: >-
          {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
          {% if (cover_level>0) %}
            mdi:window-shutter-open
          {% else %}
            mdi:window-shutter
          {% endif %}
      icon_color: >-
        {% set cover_level =  state_attr('cover.volet_chambre_emilie','current_position')  %} 
        {% if (cover_level>0) %}
            red
        {% else %}
            blue
        {% endif %}
      tap_action:
          action: more-info
2 « J'aime »

Merci pour ta réposne mais le problème doit être ailleurs

en effet le code donné pour l’exemple était mal indenté sur ce topic (ma faute j’ai voulu le remettre en forme pour le topic) mais pas dans HA
voici le code réel

donc le problème est au niveau de la sémantique à utiliser sur le fichier configuation.yaml et là je coince

OK, donc le code est vraiment différent !!! ça n’aide pas au diag :wink:
Pour le reste, tu mélanges le configuration.yaml (pour les entités) et les cartes (pour l’affichage lovelace)…
Les deux ne sont pas compatibles. Pour ajouter des templates, il faut être en mode yaml

Bonjour je m’auto-réponds,

Pour faire des templates de card sans avoir un Dashbord en mode yaml, il faut utiliser les decluttering_templates.

Ca marche super bien et cela permet :

  • de simplifier grandement le code contenu dans les cards
  • de simplifier la modification des codes (on modifie un seul template et ça s’applique sur les toutes les cards afférentes)