Bonjour,
je viens de creer ma premiere template que je n’arrive pas a la mettre au point.
j’ai 2 entrees :
- un binary-sensor « nuit » qui se met a ‹ on › lorsqu’il fait nuit
- un input_boolean « lumieres_ext_activees » que j’active si je veux que mon eclairage soit actif
- un input_select que je peux mettre a nuit, jour, ou off
je n’ai pas d’erreur mais rien ne se passe lorsque j’agis sur les inputs.
Voici mon code inséré dans configuration.yaml
template:
- binary_sensor:
- name: "allumage_lumext_activees"
unique_id: allumage_lumext_activees
state: >
{is_state("input_boolean.lumieres_ext_activees", "on")
and
{is_state("binary_sensor.il_fait_nuit", "on")
or is_state("input_select.force_nuit_jour", "nuit") }
Ou est mon erreur ?
merci d’avance
Bonjour,
As-tu essayé de créer ton template par l’UI?
Cela évitera les erreurs de syntaxe et d’indexation.
Tu peux aussi tester ta formule de calcul dans les outils de développement (Outils de développement → Modèle)
je ne connaissais pas le (Outils de développement → Modèle)
lorsque je mets le code j’ai le message suivant :
« Ce modèle n’écoute aucun événement et ne se mettra pas à jour automatiquement. »
Il manque un trigger ?
Salut
Les accolades { et les parenthéses ( ne sont pas bien …
3 { ouvrantes seulement 2 } fermantes et en plus tu confonds {} et () pour ton ou .
Et au final les doubles accolades, pour faire le calcul ne sont pas présentes
j’ai reussi a mettre au point la syntaxe avec vos messages et l’outil de developpement :
template:
- binary_sensor:
- name: "allumage_lumext_activees"
unique_id: allumage_lumext_activees
state: >
{{ is_state("input_boolean.lumieres_ext_activees", "on")
and
(is_state("binary_sensor.il_fait_nuit", "on")
or is_state("input_select.force_nuit_jour", "nuit") )
}}
reste maintenant a mettre la bonne sequence. merci.
1 « J'aime »
bonjour,
il vaux mieux éviter de mettre des booléens dans un binary_sensor car bien souvent home assistant traite avec des chaines de caractères
Tu peux donc mettre l’état « on », « off » grace à une expression conditionnelle inline
state: "{{ 'on' if is_state('input_boolean.lumieres_ext_activees', 'on') and (is_state('binary_sensor.il_fait_nuit', 'on') or is_state('input_select.force_nuit_jour', 'nuit')) else 'off' }}"`