J’ai besoin de votre aide. Je vous explique la situation : j’ai créé une nouvelle table dans la base de données SQLite de mon Home Assistant « daily_consumptions ». Cette table reçoit chaque jour une nouvelle valeur correspondant à la consommation de ma maison en kWh. Voici la structure de la table :
Je vous passe les détails de la façon dont j’en suis arrivé là, car ce n’est pas réellement le sujet.
Mon but ultime est d’afficher sur mon tableau de bord un graphique à barres de 7 barres (représentant une semaine, du lundi au dimanche) et de pouvoir naviguer de semaine en semaine avec des flèches.
J’ai vraiment besoin d’aide, car je ne sais pas du tout comment créer un graphique de ce genre et encore moins à partir d’une base de données directement.
le fait de prendre la base de HA pour y mettre des données dans une nouvelle table perso ?
le fait qu’avec n’importe quel sensor, tu es en mesure de faire directement un histogramme avec les cartes HA ou HACS ?
le fait que la gestions des conso est déjà possible sous forme d’histogrammes sur la semaine dans le dashboard energy ? Navigation par semaine incluse …
Bref… je pense que tu ne prends pas du tout le chemin le plus simple/rapide pour répondre à ton besoin
Merci beaucoup pour cette réponse très rapide. Je comprends que ma situation peut sembler un peu inhabituelle, alors je m’explique.
Je ne souhaite pas du tout utiliser le tableau de bord Énergie. Mon objectif est de créer une petite carte minimaliste sur mon propre tableau de bord personnalisé, car mon installation Home Assistant fonctionne sur une tablette murale où j’ai entièrement désactivé les barres latérales et supérieure.
Pourquoi j’utilise une base de données : j’utilise l’intégration HA Linky, qui enregistre des entrées dans la base de données des statistiques, mais ne crée pas de sensor ou d’autre entité associée à ces données. Cela limite leur utilisation au tableau de bord Énergie et m’empêche de les afficher ailleurs.
J’ai donc créé ma propre table, en simplifiant les données et enffectuant les calculs préliminaire (Wh en kWh, calcul des consommations quotidienne, garder que la date et la valeur) , mais je bloque sur la création d’un graphique à partir de ces données…
Tu peux tout à faire refaire les calculs/simplifications dans des sensors templates…
Admettons, c’est pas obligatoire
Là aussi, le fait de ne pas avoir les menus n’est pas un souci. Il y a des cartes (apex, plotty) qui permet de faire l’équivalent du dashboard energy, en moins direct mais pas forcément compliqué. Et il y a même moyen d’y faire encore des calculs
En tout cas ça me semble infirment moins difficile que de faire ça à la main à partir d’une série de requête SQL. Et puis en plus même en ayant les données re-extraitent" de ta base perso, il va te falloir TOUT faire une carte que tu va devoir adapter ou créer. Rien n’est adapté
D’accord merci beaucoup pour ces infos, je suis peut être aller un peu trop vite. J’aime faire de moi même et questionner les forums que en cas de réels problèmes ahah.
Les charts apex ou plotty sont en mesure de créer des graphiques à partir d’une statistic qui n’est ni une entité ni un sensor ?
C’est l’info qu’il me manquait, vu que je ne trouvais aucune entité ni sensor je pensais que son utilisation se limitait au dashboard energie, j’ai donc essayer de créer mon propre sensor sur des données « prétraitées », mais je bloque. Car si je créer un sensor sql avec une requète sql qui récupère la dernière valeur de la table après l’avoir trié par date ça fonctionne, mais j’ai qu’une valeur dans mon sensor alors que j’ai 2 ans de data dans ma table.
ton sensor c’est a toi de le fabriquer avec les outils a disposition et surtout tu n’es pas a l’abirs de te faire fusiller ta table pas une mise a jour de HA
si vraiment tu souhaites faire cela part sur une DB que tu gères toi et fait ta petite sauce dans ton coin, mais avec tout ce que HA propose comme intégration c’est bizarre de devoir en arriver là
C’est le truc compliqué dans l’affaire.
Créer un sensor à partir des requetes SQL ça se fait, mais il va falloir aller cherche loin dans les specs HA pour créer un sensor + l’historique associé.
A l’inverse créer un sensor + graph avec les données à partir de maintenant, c’est facile
Après des outils comme influxDB permettent de mélanger(virtuellement) 2 bases (tes 2 ans d’historique) + les nouvelles données issues de HA. Charge ensuite à grafana d’en faire un graph visible dans HA
C’est pas un sujet facile et je pense que peu sont arrivés au bout de la démarche au regards de l’effort versus le gain. Mais c’est de toute façon plus propre la direction que tu prends
Merci @ddfdom & @Pulpy-Luke de ton aide, pas de soucis pour ma table elle est recrée et mise à jour tous les matins.
Donc si je résume :
Je créer mon sensor et cela fonctionnera que à partir d’aujourd’hui. Et à partir de ce sensor je peux facilement créer des charts.
J’utilise des outils comme influxDB + grafana pour avoir accès à l’historique et les données à partir d’aujourd’hui mais compliquer à mettre en place ?
Sinon j’ai imaginé créer un script python qui parcourt ma table et rajoute des données ancienne dans le sensor juste avec des insert dans la table states de ha, ça peut fonctionner d’après vous ?
Oui tu as bien résumé les 2 options.
Quant au script python qui ajoute les historiques sur ton nouveau sensor, ça doit être jouable.
Il faut quand même aller chercher/étudier le modèle de données HA, donc loin d’être évident quand même
Pour répondre à @ddfdom je parcours la table statistic, tous ce qui est concernant mon compteur linky je le récupère, le transforme en somme par jours, converti en kWh et transforme le timestamp en date « lisible »
@Pulpy-Luke Oui le modèle de donnée dans la table states n’est pas si simple ahah. Mais je pense que je peux faire un script qui prend un csv (j’oublie ma table perso) du type : date,value et l’insert dans la table states en convertissant tout dans le bon format.
J’ai été naif à penser qu’il serait simple de créer un graph à partir d’une table de base de donnée, on peut faire des choses tellement plus compliqué dans ha. Une demande ne me paraissait pas impossible ahah
Pas cool ta remarque ahah, ça fonctionne bien et le script python s’exécute en 400ms une fois par jour pour 2 ans de valeurs. Je vois pas ce qui est problématique
Oui oui merci beaucoup pour vos remarque je note ! Je vais donc travailler sur un script qui traduis toutes les données de la table statistics et les envoies dans la table states pour mon sensor. Cela me parait la meilleure solution.
Ce script sera donc exécuter une seule fois, pour les données « futures » ce sera une intégrations sql standard
Tu te fais un HA de test, tu créer un sensor bidon…
Et tu teste ton script là dessus. Quand le script sera OK, tu le joues sur ton HA de prod (en adaptant les clés primaires) et zou .Même s’il te faut 2 mois pour y arriver c’est pas génant.