Modèle (tempate) de button-card dynamique (problème de IF dans du YAML)

Bonjour,

J’ai un petit souci qui me semble simple, mais qui me taraude pas mal la tête.

Objectif: changer le template d’un button-card en fonction de l’état d’une entité.

Voici en gros le code initial:

- type: vertical-stack
        title: Harmony Activities
        cards:
        - type: grid
          columns: 6
          cards:
          - type: 'custom:button-card' 
            template:
              - base
            icon: 'mdi:power'
            show_icon: true

l’idée est de « dynamiser » la valeur « - base ».

J’ai donc testé:

            template:
              {% if is_state('input_select.harmony_hub', 'PowerOff') %}
                - base_forced_on
              {% else %}
                - base
              {% endif %}

ou encore:

            template: >
              [[[ 
              const activity = states['input_select.harmony_hub'].state;
              if (activity == 'PowerOff')
              { return `- base_forced_on`;}
              else 
              {return `- base`;}
              ]]]

Mais en vain…
Je pourrais très bien passer par d’autres moyens détournés (par exemple gérer le coté dynamique à l’interieur du template, c’est d’ailleurs ce que je fais pour d’autres besoins), mais j’aimerais bien comprendre ce que je ne fais pas correctement dans ma gestion de IF dans mon YAML.

Une idée?

Bon et bien faute de mieux, j’ai mis mes conditions dans les valeurs directement, je n’ai pas réussi à le gérer au niveau template.

C’est plus lourd en termes de code, encore que là ça va je ne joue que sur 3 valeurs, mais pour des cas plus complexes, c’est encore moins adapté. Mais au moins, ça fait le taff.

Au cas ou cela servirais à d’autres, voici comment je l’ai géré:

- type: 'custom:button-card' 
  aspect_ratio: 3/2
  icon: 'mdi:music }}'
  show_icon: true
  show_name: false
  entity: input_select.harmony_hub
  styles: 
    card:
      - background-color: '[[[ if (states["input_select.harmony_hub"].state == "Musique") return "rgba(255, 255, 255, 0.8)"; else return "rgba(255, 255, 255, 0.3)";]]]'
      - border: '[[[ if (states["input_select.harmony_hub"].state == "Musique") return "1px rgba(80, 80, 80) solid"; else return "1px rgba(255, 255, 255) solid"]]]'
    icon:
      - color: '[[[ if (states["input_select.harmony_hub"].state == "Musique") return "rgba(80, 80, 80, 0.8)"; else return "rgba(255, 255, 255, 0.8)" ]]]'
  tap_action:
    action: call-service
    service: input_select.select_option
    service_data:
      entity_id: input_select.harmony_hub
      option: Musique
  double_tap_action:
    action: more-info