Aide pour code sur une carte

Mon problème

bonjour,

j’essaye de mettre desespérement un code dans un carte afin que l’icone du bouton soit différent suivant la valeur d’ouverture du volet commandé par ce bouton

si je teste le code dans le modèle de developpement il m’a l’air bon

{% set position =  int(state_attr('cover.volet_chambre_emilie','current_position')) %}   
{{position}}
{% if  position == 0 %}  
  mdi:window-shutter  
{% elif position == 100 %} 
  mdi:window-shutter-open  
{% else %} 
  mdi:window-shutter 
{% endif %}

j’obtiens
Capture

je met donc mon code dans la carte

type: custom:button-card
        show_name: true
        show_icon: true
        name: Volet
        tap_action:
          action: more-info
        entity: cover.volet_chambre_emilie
        icon: >-
          {% set position = int(state_attr('cover.volet_chambre_emilie','current_position')) %}    
          {% if  position === 0 %}  
            mdi:window-shutter  
          {% elif position === 100 %} 
            mdi:window-shutter-open  
          {% else %} 
            mdi:window-shutter-alert 
          {% endif %}
        hold_action:
          action: more-info

et là j’ai ça
Capture

le nom s’affiche mais pas l’icone

j’ai fait plein de tests mais aucun résultat.

je sais même pas ce que veut dire le code >- à coté de icon. Est ce lié ?

Si vous avez des idées je suis preneur


Salut @merguez07

Button-card ne prend pas le jinja pour les templates :

Donc ça ne pourra pas fonctionner avec ton code :wink:

Tu peux essayer ça :

type: custom:button-card
show_name: true
show_icon: true
name: Volet
tap_action:
  action: more-info
entity: cover.volet_chambre_emilie
icon: >-
  [[[
    if (entity.attributes.current_position == 0) return 'mdi:window-shutter';
    else if (entity.attributes.current_position == 100) return 'mdi:window-shutter-open';
    else return 'mdi:window-shutter-alert';
  ]]]
hold_action:
  action: more-info     

Merci Herbs. ça fonctionne. je croyais qu’on pouvait mettre du jinja partout

le code que tu proposes c’est quoi comme nom de langage ?

Ce sont des templates Javascript, c’est inscrit dans le lien que j’ai partagé :wink:

essaye avec card-templater (hacs)

type: custom:card-templater
card:
  type: custom:button-card
  show_name: true
  show_icon: true
  name: Volet
  tap_action:
    action: more-info
  entity: cover.volet_chambre_emilie
  icon_template: >-
    {% set position = int(state_attr('cover.volet_chambre_emilie','current_position')) %}    
    {% if  position == 0 %}  
      mdi:window-shutter  
    {% elif position == 100 %} 
      mdi:window-shutter-open  
    {% else %} 
      mdi:window-shutter-alert 
    {% endif %}
  hold_action:
    action: more-info
entities:
  - entity: cover.volet_chambre_emilie