Bonjour à tous ![]()
Je cherche à fiabiliser un capteur de température d’eau filtrée pour ma piscine, basé sur une sonde Bayrol (connectée via sensor.bayrol_24acl210901_temperature).
Le but est que la température ne se mette à jour que si la filtration est active depuis au moins 15 minutes, et qu’elle ignore les valeurs anormales envoyées par le module Bayrol en cas de coupure wifi.
sensor.bayrol_24acl210901_temperature→ renvoie parfois 0 °C ou ~0,01 °C lors des transitions (alors que le module reste connecté).sensor.bayrol_24acl210901_flow_in→ indique"on"/"off"selon l’état de la filtration.input_select.pompe_filt_mode→ peut être sur"Off forcé".- Un capteur binaire gère déjà le délai de 15 min :
template:
- binary_sensor:
- name: Filtration active depuis 15 min
unique_id: filtration_active_depuis_15_min
device_class: running
state: >
{{ is_state('sensor.bayrol_24acl210901_flow_in', 'on') }}
delay_on:
minutes: 15
delay_off:
minutes: 2
Pourriez vous m’aider à corriger ce code qui renvoi unvailable sur le sensor. De manière exceptionnelle, mon ami chatGPT n’a pas reussi à resoudre ma demande :
# Température filtrée (valide uniquement si filtration active)
temperature_eau_utile_filtration:
unique_id: temperature_eau_utile_filtration
friendly_name: "Température eau utile filtration"
unit_of_measurement: "°C"
icon_template: mdi:coolant-temperature
value_template: >-
{% set pompe_mode = states('input_select.pompe_filt_mode') %}
{% set flow_ok = is_state('binary_sensor.filtration_active_depuis_15_min', 'on') %}
{% set temp_state = states('sensor.bayrol_24acl210901_temperature') %}
{% set last = states('sensor.temperature_eau_utile_filtration') | float(default=0) %}
{# Conversion sécurisée #}
{% if temp_state not in ['unknown', 'unavailable', 'none'] %}
{% set temp = temp_state | float %}
{% else %}
{% set temp = last %}
{% endif %}
{# Rejeter les valeurs aberrantes ou écarts brutaux #}
{% if temp < 5 or temp > 45 or abs(temp - last) > 5 %}
{% set temp = last %}
{% endif %}
{# Mise à jour uniquement si filtration active depuis 15 min #}
{% if (pompe_mode != 'Off forcé' or flow_ok) %}
{{ temp }}
{% else %}
{{ last }}
{% endif %}
La capteur binary_sensor.filtration_active_depuis_15_min devrait résoudre les reprises et arrêts de filtration en rouge.
Il reste cependant à filtrer les moments (en vert) ou sensor.bayrol_24acl210901_temperature devient indisponible ou renvoi des valeurs incohérentes. Dans ce cas, j’aimerai garder la dernière valeur connue.
Merci d’avance.
PS : Tout est à jour dans mon HA.
- Méthode d’installation Home Assistant OS
- Core 2025.10.2
- Supervisor 2025.10.0
- Operating System 16.2
- Interface utilisateur 20251001.2
