Je souhaiterais créer un capteur qui réponde à plusieurs conditions. Déjà voici ce que j’aimerais faire :
binary_sensor:
-platform: template
sensors:
chauffage_salon_mode_confort:
friendly_name: "Chauffage confort salon"
value_template: >
{% if states.input_datetime.heure_debut_confort_semaine_salon.state < states.input_datetime.heure_fin_confort_semaine_salon.state %}
{% if (states.sensor.time.state > states.input_datetime.heure_debut_confort_semaine_salon.state) and (states.sensor.time.state < states.input_datetime.heure_fin_confort_semaine_salon.state) %}
on
{% endif %}
{% else %}
{% if (states.sensor.time.state > states.input_datetime.heure_debut_confort_semaine_salon.state) or (states.sensor.time.state < states.input_datetime.heure_fin_confort_semaine_salon.state) %}
on
{% endif %}
{% endif %}
{% if binary_sensor.vendredi %}
{% if states.input_datetime.heure_debut_confort_weekend_salon.state < states.input_datetime.heure_fin_confort_weekend_salon.state < '23:59:59' %}
{% if (states.sensor.time.state > states.input_datetime.heure_debut_confort_weekend_salon.state) and (states.sensor.time.state < states.input_datetime.heure_fin_confort_weekend_salon.state) %}
on
{% endif %}
{% else %}
{% if (states.sensor.time.state > states.input_datetime.heure_debut_confort_weekend_salon.state) or (states.sensor.time.state < states.input_datetime.heure_fin_confort_weekend_salon.state) %}
on
{% endif %}
{% endif %}
{% endif %}
Et encore dans ce qu’on voit là je n’ai pas mis toutes les conditions que je souhaiterais… Il y’en a plus que cela.
Voici l’idée derrière cela. J’essaie de créer un capteur qui m’indique lorsque la température doit être en mode confort dans mon appartement. Si ce capteur est à ON alors je suis en mode confort et si il est à OFF alors je suis en mode éco.
Le problème que j’ai c’est que j’ai beaucoup de conditions qui permettent de le mettre à ON et que l’on ne peux pas mettre plusieurs IF dans les conditions du capteur. Autre difficulté, comme vous le voyez dans mon exemple je souhaiterais n’avoir à définir que les conditions du ON et si aucune n’est remplie alors je voudrais qu’il soit à OFF.
template:
- binary_sensor :
- name: "Chauffage confort salon"
state: >
{% if binary_sensor.lundi and (states.sensor.time.state > input_datetime.lundi_debut_confort_salon_plage_1) and (states.sensor.time.state < input_datetime.lundi_fin_confort_salon_plage_1) %}
on
{% else %}
off
{% endif %}
Mais déjà comme ça il ne fonctionne pas. Lorsque je regarde son état il n’est ni à ‹ on ›, ni à ‹ off › mais en ‹ indisponible ›. Quelqu’un pourrait il me le corriger svp?
Je pense avoir un problème de syntaxe quelque part mais malgré tous mes essais je ne trouve pas?
Le problème vient peut être de lui effectivement car lorsque je le supprime de mes équations ça fonctionne…
C’était le moyen que j’avais trouvé pour récupérer le jour de la semaine.
Oui ta syntaxe concernant la récupération de l’heure fonctionne. Mais la mienne également. Quand je disais que « j’ai essayé sans succès » je voulais dire que cela n’avait pas résolu mon problème.
Là non ! {% if binary_sensor.lundi %} c’est faux au niveau de la syntaxe. C’est pas la mienne et c’est pas la tienne non plus (pas de states. ni de .state)
Mais ça fait beaucoup pour l’usage. pas vraiment intéressant de créer 7 sensors quand tu peux faire le calcul à la volée