Obtenir la durée de fonctionnement d'un "binary sensor"

Bonjour à tous,

Je cherche à générer un graphique en « barre » pour obtenir la durée de fonctionnement d’un binary sensor (quand il est à on).

En gros je souhaiterais connaitre (sur une durée de 30 jours max) le temps de fonctionnement journalier de ma chaudière et d’en sortir un joli graphique et quelques statistiques :wink: sous forme de barres (bar chart)

Quelqu’un a t’il déjà généré ce genre de graphique ? Si oui, s’il peut me mettre sur une piste :slight_smile:

Merci d’avance
Benoit

J’utilise integration ou energy

Hm et grace à cette intégration je peux avoir un graph ?

Je crois pas que Riemann Sum fasse quelque chose sur les binairy_sensor…

La doc dit :

source string REQUIRED
The entity ID of the sensor providing numeric readings.

Même « statistics » je fait rien sur le temps, tu peux juste avoir un pourcentage de temps…

Ceci devrait faire ce que tu veux je crois, y’a même un exemple sur 30 jour à la fin.

Je le fais, mais pas dans HA…

Et bien j’ai réussi différemment grâce à notre ami apexcharts :slight_smile:

Un history stats sur 24h + un graph apexcharts. Pour ceux qui sont interessé voici le code pour history_stats et apexcharts :

  - platform: history_stats
    name: Etat chaudière (stats) 24h
    entity_id: binary_sensor.heater_state
    state: 'on'
    type: time
    end: '{{ now().replace(hour=0, minute=0, second=0) }}'
    duration:
      hours: 24
type: custom:apexcharts-card
cache: true
apex_config:
  xaxis:
    labels:
      format: dd/MM
  chart:
    height: 140%
  dataLabels:
    formatter: |
      EVAL:function(value) {
        if (value) {
          var rhours = Math.floor(value / 60);
          var minutes = ((value / 60)- rhours) * 60;
          var rminutes = Math.round(minutes);
          return rhours + "h" + rminutes;
        }
      }
    background:
      enabled: false
    style:
      colors:
        - var(--primary-text-color)
graph_span: 8d
span:
  end: day
header:
  show: true
  title: Fonctionnement commande chaudière (en heures)
experimental:
  color_threshold: true
yaxis:
  - id: left
    min: ~0
series:
  - entity: sensor.commande_chaudiere_stats_24h_today
    transform: |
      return Math.floor(x * 60);
    type: column
    yaxis_id: left
    show:
      datalabels: true
      as_duration: minute
    group_by:
      func: last
      duration: 1d
card_mod:
  class: top-level-chart