Un cas concret de mauvaise interprétation : le capteur History Stats
Dans le cadre d’une automatisation de gestion de chauffe-eau solaire, un capteur history_stats avait été mis en place pour mesurer la durée de fonctionnement du chauffe-eau sur une journée. L’objectif était d’allumer le chauffe-eau en heures creuses (23h-7h) si celui-ci n’avait pas suffisamment fonctionné durant la journée.
Le capteur était configuré de cette manière :
sensor:
- platform: history_stats
name: duree_chauffe_eau
entity_id: switch.chauffe_eau_switch
state: "on"
type: time
start: "{{ now().replace(hour=7, minute=0, second=0) }}"
end: "{{ now() }}"
L’automatisation utilisait ensuite cette condition :
condition:
- condition: numeric_state
entity_id: sensor.duree_chauffe_eau
below: 240
Pensant que la valeur retournée était en minutes, le seuil avait été fixé à 240 pour représenter 4 heures.
Le problème : la valeur est en heures, pas en minutes
Or, le capteur history_stats configuré avec type: time retourne une valeur en heures décimales, et non en minutes. Une valeur de 2.5 correspond donc à 2 heures et 30 minutes. La condition below: 240 était donc totalement incohérente, et ne pouvait jamais être vraie dans ce contexte.
La solution : ajuster les valeurs selon l’unité réelle
La correction a été simple une fois le souci identifié. Il a suffi de remplacer :
below: 240
par :
below: 4
Autrement dit, pour tester une durée inférieure à 4 heures, il faut fixer la limite à 4, pas 240.
Bien vérifier les unités des capteurs personnalisés
Cette erreur met en évidence un point crucial : les unités des capteurs personnalisés (et parfois même natifs) dans Home Assistant ne sont pas toujours explicites. Il est donc important de :
- Consulter les documentation officielles pour vérifier les types et les unités utilisés.
- Inspecter les valeurs dans « Outils de développement » pour voir ce que renvoie exactement le capteur.
- Adapter les conditions ou automatisations en fonction.
Un doute sur le comportement d’un capteur ?
Si vous configurez un capteur ou une automatisation et constatez un comportement inattendu (jamais vrai, toujours vrai, déclenchements intempestifs…), il est fort probable qu’un problème d’unité ou de type de donnée en soit la cause.
Besoin d’aide pour valider vos configurations ou corriger un comportement ? N’hésitez pas à nous contacter.





0 commentaires