Réalisation d'un template pour un volet

Bonsoir,

Je cherche a faire un template de volet :

cover:
  - platform: template
    covers:
      gvs:
        device_class: shutter
        friendly_name: "grandvoletsalon"
        unique_id: gvscoveruid
        state_template:
        {% if is_state('binary_sensor.grand_volet', 'on') %}
            open
        {% if is_state('binary_sensor.grand_volet', 'off') %}
            close
        open_cover:
          - service: cover.open_cover
            target:
              entity_id: cover.x2dshutter_a2
        close_cover:
          - service: cover.close_cover
            target:
              entity_id: cover.x2dshutter_a2

C’est un cover qui à la base n’a pas de retour d’état. J’ai donc mis dessus un capteur d’ouverture et je souhaiterais donc créer un équipement avec les commandes de montée et descente de mon volet de base et en état celui du capteur (binary_sensor.grand_volet). Cela n’a pas l’air de fonctionner comme ça. J’ai les commandes, mais l’état est à inconnu. Si vous avez des pistes pour me guider.

Salut,

ce n’est pas state_template, mais value_template récupère l’état.
Et le mot clé d’état pour fermé c’est « closed » aussi je pense et pas « close ».
Voir premier exemple de la doc:

1 « J'aime »

Et il ne faut pas oublier les indentations yaml + format

      value_template: >
        {% if is_state('binary_sensor.grand_volet', 'on') %}
            open
        {% if is_state('binary_sensor.grand_volet', 'off') %}
          close

Ok je corrige le closed.

Par contre côté indentation je vois pas l’erreur. C’est l’oubli du > apres les deux points ?

Le bloc sous value_template est décalé de 2 espaces également

1 « J'aime »

Alors suite à vos conseils j’ai fait ça :

cover:
  - platform: template
    covers:
      gvs:
        device_class: shutter
        friendly_name: "grandvoletsalon"
        value_template: >
          {% if is_state('binary_sensor.grand_volet', 'on') %}
              open
          {% endif is_state('binary_sensor.grand_volet', 'off') %}
              closed
        open_cover:
          - service: cover.open_cover
            target:
              entity_id: cover.x2dshutter_a2
        close_cover:
          - service: cover.close_cover
            target:
              entity_id: cover.x2dshutter_a2

Mais j’ai ce message d’erreur à la vérification de mon config.yaml :

Invalid config for [cover.template]: invalid template (TemplateSyntaxError: expected token 'end of statement block', got 'is_state') for dictionary value @ data['covers']['gvs']['value_template']. Got "{% if is_state('binary_sensor.grand_volet', 'on') %}\n open\n{% endif is_state('binary_sensor.grand_volet', 'off') %}\n closed\n". (See ?, line ?).

Ouais, j’avais pas tout vu hier mais c’est pas beau non plus

        value_template: >
          {% if is_state('binary_sensor.grand_volet', 'on') %}
              open
          {% else %}
              closed
          {% endif %}

endif c’est tout à la fin comme son nom l’indique

Top tout fonctionne super bien. Merci a vous deux !