History_stats

Mon problème

J’arrive pas a faire fonctionner un history_stats en mode count :

Ma configuration

J’ai crée ce template binary sensor ( qui fonctionnne ) dans template.yaml :

  binary_sensor:
    - name: "portail_en_fonctionnement"
      state: >
        {% if states('sensor.circuit_12_power') | int >= 10 %}
          {{ 'on' }}
        {% else %}
          {{ 'off' }}
        {% endif %}

Plus un sensor de type history_stats sur celui-ci dans sensor.yaml :

- platform: history_stats
  name: Portail Ouvert recement 
  entity_id: binary_sensor.portail_en_fonctionnement
  state: 'on'
  type: count
  end: "{{ now() }}"
  duration:
    minutes: 5

Je ne comprend pas pourquoi celui-ci ne se met pas a jour

Exemple dans les outils de developpements avec :

{{ states('sensor.circuit_12_power') }}
{{ states('sensor.circuit_12_power') | int >= 10 }}
{{ states('binary_sensor.portail_en_fonctionnement') }}
{{ states('sensor.portail_ouvert_recement') }}
  • 1er exemple de résultat :
38.3
True
on
0
  • 2eme exemple de résultat :
9.5
False
off
0

donc mon binary_sensor.portail_en_fonctionnement' change bien quand il faut mais pas le sensor.portail_ouvert_recement (crée via history_stats)

une idée du souci ?

Salut

Que disent les logs ? Pas d’erreur sur les valeurs par défaut par hasard ?

J’ai mis au niveau debug et je vois pas grand chose :

mai 24 00:57:46 pi hass[416943]: {{ states('sensor.portail_ouvert_recement') }} triggered by event: <Event state_changed[L]: entity_id=binary_sensor.port
ail_en_fonctionnement, old_state=<state binary_sensor.portail_en_fonctionnement=on; friendly_name=portail_en_fonctionnement @ 2023-05-24T00:54:16.629902+
02:00>, new_state=<state binary_sensor.portail_en_fonctionnement=off; friendly_name=portail_en_fonctionnement @ 2023-05-24T00:57:46.871546+02:00>>

rien avant ou après, sur pourquoi le history_stats n’agit pas

L’erreur sur la valeur par défaut n’est pas forcément proche du moment de mise à jour. C’est plutôt une erreur au démarrage de ha.
Bref la transformation en int n’est pas conforme (au mieux un warning, au pire pas de sensor créé). Il faut corriger la syntaxe à mon avis

Merci pour les pistes,
j’ai change mon binary_sensor en sensor et ça fonctionne maintenant.

Bonne soirée

1 « J'aime »

Bonjour @roumano

Je souhaitais m’inspirer de votre code, mais étant novice, je ne sais pas où ajouter le code ci-dessous pour créer un sensor history_stats

- platform: history_stats
  name: Portail Ouvert recement 
  entity_id: binary_sensor.portail_en_fonctionnement
  state: 'on'
  type: count
  end: "{{ now() }}"
  duration:
    minutes: 5

j’utilise, principalement, pour l’instant l’interface graphique.
Merci par avance

Ce sont des configs à faire en mode yaml et donc dans un fichier de config que tu modifies avec soit l’addon file editor:
CleanShot 2024-05-29 at 10.48.25

ou l’addons Studio code server:
CleanShot 2024-05-29 at 10.49.16

ensuite tous va dépendre de ta manière de géré tes fichiers de config par défaut, il faut le faire dans le fichier configuration.yaml sous sensor

Exemple :

sensor: 
  - platform: history_stats
    name: Portail Ouvert recement 
    entity_id: binary_sensor.portail_en_fonctionnement
    state: 'on'
    type: count
    end: "{{ now() }}"
    duration:
      minutes: 5

Mais tu peux aussi utiliser le mode « package » qui te permet de créer les fichiers de configuration yaml ou tu le souhaites dans le dossier config de ton home assistant

doc officiel :

et un sujet sur notre forum qui parle du mode package :

merci @barto_95
je vais regarder tout ça