Bonjour à tous,
Je rencontre une difficulté sur Home assistant. Malgré l’utilisation d’un trigger temps, mes données ne sont acquisses que s’il y a un changement d’état, il en est de même pour les templates .
C’est très embêtant notamment pour l’évolution des intégrales de Reiman.
Pour palier au problème j’intègre dans mes templates des sensors qui changent souvent d’états et je fais évoluer artificiellement la valeur du capteur pour rafraîchir l’intégrale de Reiman.
Tout ça n’est pas très propre, il y a t-il une configuration qui permet de changer le comportement de Home assistant?
Merci à vous
Fabrice
Tentative de la mise en place d’un trigger, malheureusement le changement d’état reste prioritaire:
template:
- trigger:
- platform: time_pattern
# This will update every minute
minutes: "/1"
Exemple de la création d’une variation de puissance fictive pour faire évoluer l’intégrale et l’utilisation d’un capteur qui me serre juste à forcer le template.
- name: "consommation_eau_chaude"
icon: "mdi:tranmission-tower"
state_class: measurement
unit_of_measurement: "W"
state: >
{% if states('sensor.consommation_maison') | int and states('switch.marche_chauffe_eau') | bool == 0 %}
0
{% elif states('sensor.consommation_maison') | int and states('sensor.consommation_eau_chaude') | int == 0 %}
{{states('input_number.puissance_ballon_eau_chaude')|int}}
{% elif states('sensor.consommation_maison') | int and states('sensor.consommation_eau_chaude') | int == states('input_number.puissance_ballon_eau_chaude')|int and states('switch.marche_chauffe_eau') | bool == 1 %}
{{states('input_number.puissance_ballon_eau_chaude')|int + 100}}
{% elif states('sensor.consommation_maison') | int and states('sensor.consommation_eau_chaude') | int == (states('input_number.puissance_ballon_eau_chaude')|int + 100) and states('switch.marche_chauffe_eau') | bool == 1 %}
{{states('input_number.puissance_ballon_eau_chaude')|int}}
{% else %}
0
{% endif %}
Exemple intégration du ‹ sensor.consommation › maison juste pour activer le template régulièrement:
- name: commande_eau_chaude
state: >
{% if (states('sensor.consommation_maison') | int and states('input_boolean.marche_forcee_eau_chaude') | bool ) %}
1
{% elif ( states('schedule.chauffe_eau_heure_creuse') | bool == 1 and (states('input_number.consigne_energie_eau_chaude') | int - states('sensor.energy_day_boil') | int ) > 0 )%}
1
{% elif states('sensor.production_solaire') | int < states('input_number.consigne_solaire_eau_chaude') | int %}
0
{% elif (states('sensor.puissance_disponible') | int + states('sensor.consommation_eau_chaude') | int) > states('input_number.consigne_solaire_eau_chaude') | int %}
1
{% else %}
0
{% endif %}