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 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
Merci d’avance
Benoit
H3bus
Février 3, 2022, 4:21
2
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
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