Animation icône porte garage

Bonjour à tous,

J’aimerais customiser mon ouverture de garage en mettant un état intermédiaire, à savoir une icône différente avec « ouverture en cours » ou « fermeture en cours ». Pourriez vous m’aider car je ne sais pas comment m’y prendre.
Actuellement j’ai un simple bouton.

Garage

Dans mon configuration.yaml :

cover:
  - platform: template
    covers:
    #Garage
      garage_door:
        device_class: garage
        friendly_name: "Portail du garage"
        value_template: >-
          {% if is_state('binary_sensor.0xa4c138b80f5b6e7b_garage_door_contact','on') %}
            Open
          {% else %}
            Closed
          {% endif %}
        open_cover:
          service_template: >
            {% if is_state('binary_sensor.0xa4c138b80f5b6e7b_garage_door_contact','off') %}
              switch.turn_on
            {% endif %}
          data:
            entity_id: switch.0xa4c138b80f5b6e7b_trigger
        close_cover:
          service_template: >
            {% if is_state('binary_sensor.0xa4c138b80f5b6e7b_garage_door_contact','on') %}
              switch.turn_off
            {% endif %}
          data:
            entity_id: switch.0xa4c138b80f5b6e7b_trigger
        stop_cover:
          service_template: >
            {% if is_state('binary_sensor.0xa4c138b80f5b6e7b_garage_door_contact','on') %}
              switch.toggle
            {% endif %}
          data:
            entity_id: switch.0xa4c138b80f5b6e7b_trigger
        icon_template: >-
          {% if is_state('binary_sensor.0xa4c138b80f5b6e7b_garage_door_contact','on') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}

Merci pour votre aide

Salut.
Tu as le bloc icon_template à refaire

Infos ajoutés…
Si on utilise le ‹ button card › il y a des icones de bases qui changent de couleurs automatiquement, sans ‹ template ›

Justement c’est ce que j’utilise et il n’y a pas les états intermédiaires

Binaire donc 2 états… il faut que tu complétes le template avec un test plus précis (basé sur une ou plusieurs autrse entités qui indiquent que c’est en mouvement).
Donc step 1 chercher l’info « opening/closing » dans les états

C’est un contact donc il y a 2 états : contact / pas contact et c’est justement ce qui me pose problème car il n’y a pas d’état intermédiaire. Je pensais peut qu’il fallait mettre une tempo après appui sur le bouton puis que cela change l’icône une fois terminé ? Je ne vois pas trop comment m’y prendre

Nativement les états de cover sont plus détaillées, mais comme c’est toi qui force les états…
Par contre, c’est quand même un truc qui sert uniquement pendant les 20 secondes durant lesquelles le garage bouge et à condition d’voir les yeux collés sur l’appli

Sinon tu passes par ça

Le but c’est d’avoir une modification du bouton quand on clique dessus pour savoir si cela a bien pris la commande. Pour aller au plus simple je voyais juste une animation de l’icône pendant quelques sec pour signifier le changement d’état
Y’avait ce sujet que j’ai pris en exemple mais je n’y arrive pas

Là c’est très différent, il y a 2 capteurs : 1 pour ouvert et 1 pour fermé

        value_template: >-
          {% if is_state('binary_sensor.shelly_garage_fermer_door', 'off') and 
                is_state('binary_sensor.shelly_garage_ouvert_door', 'on') %}
            open
          {% elif is_state('binary_sensor.shelly_garage_fermer_door', 'on') and 
                  is_state('binary_sensor.shelly_garage_ouvert_door', 'off') %}
            closed
          {% else %}
            entre-ouvert

Donc c’est facile si tu es ni ouvert, ni fermé il reste qu’une position intermédiaire possible.
Toi tu n’as que la moitié de l’info

Du point de vue technique, ‹ bouton appuyé › ou ‹ porte en mouvement › c’est pas la même chose
On pourrait imaginer un bouton qui change de couleur à chaque appui sans pour autant avoir besoin d’un retour d’info coté porte

oui c’est pour ça que je n’arrive pas à voir comment faire…mis à part mettre une tempo et du coup c’est le lien que tu as mis où je dois créer un « Cover Time Based Component » c’est ça ?

oui, tu peux y mettre une notion de temps de mouvement (pour piloter en %) ça servira à rien dans ton cas sauf à avoir une notion de tempo. Ensuite, il faut voir comment se comporte le binary_sensor uniquement sur la fermeture. Fait des tests d’abord, tu passeras à la partie graphique ensuite