Filtré les valeurs délirantes envoyés par un capteur de temperature

Mon problème

j’ai une sonde de température dans mon congélateur, qui toutes les 2 ou 3 heures envoi une valeur de 300° au lieu des -18 qu’elle envoie la plupart du temps.

ce qui est gênant pour mettre en place une alerte si la température remonte (par exemple si il y a une coupure de courant, ou la porte du congélateur mal fermé)

image

Ma configuration


[center]## System Information

version core-2023.12.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.63-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.2
update_channel stable
supervisor_version supervisor-2023.11.6
agent_version 1.6.0
docker_version 24.0.7
disk_total 916.2 GB
disk_used 7.0 GB
healthy true
supported true
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Z-Wave JS (0.4.3), Studio Code Server (5.14.2)
Dashboards
dashboards 4
resources 0
views 5
mode storage
Recorder
oldest_recorder_run 23 novembre 2023 à 11:01
current_recorder_run 17 décembre 2023 à 22:09
estimated_db_size 59.83 MiB
database_engine sqlite
database_version 3.41.2
[/center]

le site du forum me propose le lien suivant Filtrer les valeurs “parasite” d’un capteur de courant?

mais je suis plutot noob dans home assitant.:

  • je ne vois pas ou mettre la fonciton de correction
  • je ne souhaite pas une valeur de Zero (il s’agit de la temperature de mon congélo, je prefere avoir une valeur Null, qu’une temperature a zero ° qui ne represente pas une eventuelle réalité.

merci a toutes et tous pour vos lumieres
Tonic

Salut,

là on est pas dans un cas de valeur erratique, c’est récurrent et constant visiblement… ça mériterait une question au fabricant, ou voir si un firmware est disponible.

Une possibilité serait de créer un capteur template dont la valeur serait égale à celle de ton thermomètre, sauf si celle-ci est au dessus de 40° (au hasard) et si elle l’est, garder la dernière valeur.

En créant un capteur appelé sensor.sonde_owon_filtree (dans parametes>appareils>entrées)
La logique template pourrait être, j’ai jjuste un doute s’il est possible de récupérer la dernière valeur comme je l’ai fait dans le else:

{% if states.sensor.sonde_owon_temp_zb01_temperature.state | float < 40.0 %}
  {{ states.sensor.sonde_owon_temp_zb01_temperature.state }}
{% else %}
  {{ states.sensor.sonde_owon_filtree.state }}
{% endif %}

C’est à tester, sans garantie.

Salut,

C’est bien un souci de matos, mais pas un défaut de fonctionnement à mon avis :

Quand on voit les specs, c’est certainement pas le genre de capteur à mettre dans un congélateur, on est vite hors plage de fonctionnement

1 « J'aime »

Bonjour

merci pour les précisions.:frowning: et donc oui je suis a -18° bon bah a plus qu’à chercher un autre produit.

Ce serait cool que les fabricants d’électroménager adopte matter rapidement dans le futur qu’on puisse chopper ces valeurs dans nos outils…

bonnes fêtes de fins d’année

et merci pour les réponses raides, c’est top!!

Hello Alex

merci en adaptant le code avec le sensor declaré « sensor.unk_manufacturer_unk_model_temperature » (oui, oui il a bien enregistré cela unk_manufacturer_unk_model_temperature :frowning: )

{% if states.sensor.unk_manufacturer_unk_model_temperature.state | float < 40.0 %}
  {{ states.sensor.unk_manufacturer_unk_model_temperature.state }}
{% else %}
  {{ states.sensor.sonde_owon_filtree.state }}
{% endif %}

j’ai un rectangle rouge, je me suis donc trompé quelque part

ah et je ne peux plus le supprimer via la page web

desolé mon coté « noob » est de sortie.

comme Pulpy-Luke l’a indiqué le capteur est en dehors de sa limite. Je vais donc chercher un autre produit si possible, ou peut etre chercher un congélo qui fait Zigbee directement (je sais je peux revé…)

mais je souhaites trouver/résoudre la solution temporaire (ce qui me permettra d’apprendre un truc de plus dans HA)

merci a toi et bonnes fêtes de fin d’année
Tonic8

Moi j’ai une sonde zigbee sonoff snzb02 depuis au moins 1 an et ca fait le job.
La pile est annoncée très faible 20% mais elle tient le coup

L’erreur vient du fait que j’ai oublié de mettre | float après les 2 « state ».
Car il s’attend à un nombre et pas à du texte qui contient des chiffres :wink:

donc si j’ai bien compris

{% if states.sensor.unk_manufacturer_unk_model_temperature.state | float < 40.0 %}
  {{ states.sensor.unk_manufacturer_unk_model_temperature.state | float }}
{% else %}
  {{ states.sensor.sonde_owon_filtree.state | float }}
{% endif %}

j’ai modifié ca a l’air de fonctionner :slight_smile: je ferais des tests (ouvrir la porte 1min)

par contre tu dis superieur a 40°C et là on « < 40.0 % » je suis pas sur de comprendre

Tonic8

j’ai ce genre de sonde aussi, mais je suis déjà en train d’utiliser une sonde qui est prévu pour aller dans un congélo (meme si visiblement je suis a -20° et la sonde fonctionne bien jusqu’a -17°)

je vais essayer de trouver le réglage du congélo pour voir si je peux relever a -18° voir -17°

mais merci

bon j’édites mon propre post , visiblement il faut etre autour de -18°C et -24°C, avec une préférence pour -18 pour l’optimisation de consommation

Oui je fais pas ce que je dis :rofl:
Mais c’est la même chose. Là on garde la valeur du capteur si elle est <40.

Même expérience, même conclusion: Ma sonde Owon ne supporte pas les valeurs négative du congélateur… Par contre, la même de marque CASAIA (qui n’existe plus) fonctionnait correctement… Bref, j’"ai mis des xiaomi à la place et no problémo depuis

bon apres quelques heures, on a des trous dans le calcul de la verison filtrée , ce que tu craignais, la boucle ne récupère pas la dernière valeur.

cela permet de enfin voir les variation (car le grpoahe quand l’echelle va de -20 a 300° on voit pas les demi ° :slight_smile:

c’est deja plus utilisable en l’etat.
merci.

Ok, je n’avais jamais essayé de faire ça en fait, maintenant je sais ce que ça fait :rofl:
Y’a ptet un moyen. En tous cas ça donne une info intéressante.
Ca a l’air d’arriver quand la température descend donc surement quand le compresseur donne un coup de froid… et du coup dépasse franchement des limites de l’appareil…
Là du coup en attendant si tu veux un graph continue, au lieu de mettre « l’ancien » state qui ne marche pas tu peux mettre -20 directement, pour le moment tu peux pas savoir si ça descend plus bas… mais c’est tjrs ça comme info…

1 « J'aime »

je vais modifier le code en consequence ET regarder si je peux faire un reglage coté congelateur.

merci et Joyeux Noel!