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 !