Je viens de réduire la taille de ma base de données via RECORDER, et désormais je me trouve face à un problème que j’avais pas vue venir car j’avais pas bien compris le fonctionnement de RECORDER .
En fait je pensais qu’avec cet outil on pouvait choisir de conserver certaines données sur une durée choisie , et les autres continuaient à être conservées.
Si je ne me trompe pas , avec RECORDER on efface tout SAUF celles que l’on veut garder pour XX jours ( à definir suivant le choix de chacun ).
Du coup , je vais prochainement installer une production d’energie par panneaux solaires, et je voudrais conserver ( à vie ) certaines données tel que la production et la conso …
J’ai vu que pour ce genre de "sauvegarde long terme " il fallait passer par les « STATISTICS », auriez vous quelques exemples à me fournir afin d’arriver à faire cela ??
Attention, le format de stockage est complexe. Donc si tu réinstalle ton HA, le système backup/restore n’a jamais marché chez moi. Et donc perte de l’historique.
Je reflechi à une solution pour externaliser mes données importantes dans une bdd + trigger avec des table simples et l’intégration sql. L’avantage c’est que tu peux travailler tes données, importer/exporter, les utiliser avec des outils externe (excel par exemple) tout en restant accessible dans HA.
Il faudra différencier dans le principe, tes données qui seront indépendantes de celle de HA/Recorder/influxdb.
Je vois bien que c’est pas chose facile , car j’ai cherché quelques jours avant de poser la question et j’ai pas trouvé grand chose…
J’ai mon HA installé depuis 10 mois , et je ne m’etais pas soucié de la taille de ma base de données, je suis monté à plus de 4,5 Go, et d’après mes lectures sur les forum c’est pas tip top de l’avoir aussi volumineuse…
Du coup j’ai passé quelques heures à mettre en place recorder, mais n’ayant pas bien saisi le fonctionnement j’ai perdu bcp bpc de données , trop de données et je ne veux pas renouveler cela … d’où mas question …
Ecoute je reste en standby et si tu le peux laisse moi connaitre ton avancement sur ce point … je suis de mon coté trop novice pour t’aider , et je m’en excuse …
Je ne peux pas te laisser dire ça.
Le backup et la conservation d’historique ça marche parfaitement !!!
Si ça ne fonctionne pas chez toi, c’est un cas particulier…
@Cyril_81 Pour en revenir au recorder : ça stocke pendant 10J par défaut avec tout dedans.
La configuration du recorder permet d’inclure et/ou d’exclure les entités ou de changer la durée ( )
La gestion des données à long terme n’est pas géré par la configuration. HA gére le « ménage » dans la donnée en ne gardant que la min/max/moy par heure/jour etc. Home Assistant Statistics | Home Assistant Data Science Portal
Les données qui sont concernées par le stockage à long terme sont défnies fonction des classes
J’ai juste dit qu’après une purge j’ai perdu ( éffacé ) certaines données que je souhaitais conserver …
Je pensais que RECORDER permettait d’effacer certaines données ciblées après un temps définit ( par exemple le niveau des piles , RSSI , temperatures …etc … MAIS SANS effacer toutes celles non définies…
Ou alors j’ai rien compris , fait moi le savoir dans ce cas stp …
Mon but au final était de TOUT conserver ( à vie ) sauf certaines ( temp , pile, rssi , voltage , Amperage … ) …
Non tu definis ce qui doit rentrer ou pas dans la base. Par effet de config, les données qui sont exclues sont effacées (plus ou moins vite). Tu as un sujet avec à ce propos, je ne vois pas tellement ce que je peux ajouter de plus
C’est bien là le vrai souci de l’approche à mon avis : tout sauf que dont tu n’a pas besoin c’est une mauvaise pratique… A chaque nouvelle entité, tu va devoir te poser la question de la conservation ou pas, et indirectement tu va exploser la taille de la base, parce que forcément tu va oublier des éléments qui ne sont pas utiles.
De mon point de vue, il vaut mieux avoir l’approche inverse : ne rien garder au dela de 10J SAUF les éléments que tu sais explicitement être intéressants (ta prod solaire etc)… Dans ces conditions tu es efficace à la fois sur les perfs et sur la limitation de la taille de stockage. Et pour ces éléments que tu veux stocker longtemps, une partie se gére seule (voir le lien sur les mécanisme de conservations ci-dessus) et tu n’as en gros qu’à completer si jamais il en manque
Dans la grande majorité des cas, il n’y a pas besoin de faire plus. 100j d’historique dans le recoder, ça ne sert à rien (j’irai même à dire que c’est une ânerie !)
Dans 90% des cas, c’est suffisant Et si on veut aller plus loin (mariadb, influxdb etc) il faut bien se dire que c’est ni simple, ni rapide. Et qu’à moins d’avoir un VRAI besoin, il vaut mieux s’en passer.
Oui je persistes : tu es dans un cas particulier, 20Go de données c’est largement plus que les recommandations et (je m’excuse du terme par avance) tu bidouilles le contenu de ta base…
Je passe assez de temps sur le forum (et depuis un moment) pour avoir je pense une vision exhaustive des cas qui se présentent, et quoique tu en penses, il y a bien plus de cas ou les données sont restaurées et présentes que de cas ou tout est perdu.
Bref c’est effectivement pas le sujet ici. Mais c’est gênant de propager ce genre d’infos
merci pour ton commentaire @Pulpy-Luke , c’est sympa de prendre le temps de me repondre…
Cela ne fait pas encore 1 an que je suis lancé dans l’aventure HA , et je suis bien loin de bien maitriser l’outils …
Du coup j’ai effectivement lu la page « Sensor Entity | Home Assistant Developer Docs » mais j’avoue ne pas trop la comprendre , aurais tu un exemple à me fournir pour éclairer ma lanterne ?
On va prendre un cas simple, avec un recorder sans config sépcifique:
La température de ton jardin sera stockée en base (on va dire la partie classique de la base) pendant 10j, avec probablement 1 valeur par minutes. Donc 14400 données.
En général la température est définie correctement et à :
state_class: measurement
device_class: temperature
Ces infos suffisent à inclure les données dans le mécanisme de stockage à long terme: HA va donc se charger de stocker toutes les heures : la valeur moyenne/min/max . Donc 72 (24*3) données par jour, a vie (tant que tu ne casses pas la base).
Ces données sont exploitables dans HA avec les cartes spécifiques (history/statistique etc) mais pas avec mini-graph par exemple.
Autrement dit, la quantité de données sera toujours 14400 (pour les 10 premiers) + 72 par jours d’ancienneté. C’est bien mieux du point de vue stockage que 14400/jour, toute la vie !
Je le répète, mais c’est largement suffisant pour le commun des mortels savoir si
le 23/12/2021 à 17h46 il fait 5.3°C exactement
le 23/12/2021, il a fait en moyenne 5.5°C entre 17h et 18H
Fondamentalement c’est pareil !
Pour tes panneaux solaires, c’est pareil : la production instantanée du 14 juillet 2023, elle te sera utile le 15 juillet (elle est dans le recoder de 10j) , mais l’année prochaine tu aura probablement uniquement besoin de savoir le total produit dans la journée, pour comparer avec le 14 juillet 2024.
Et c’est exactement le même principe pour la conso électrique : La valeur au réveil lors du dernier passage de Tata Josette… On s’en fiche! Mais la valeur de conso de la journée, c’est utile !
Donc à toi de vérifier que l’entité qui représente le total de la journée est bien du type :
state_class: measurement
device_class: energy
Pour avoir une valeur à l’heure dans les données à long terme ou bien encore mieux
state_class: total_increasing
meter_period: daily
Pour avoir une valeur par jour dans les données à long terme
Merci pour cette réponse très claire, qui répond à mon questionnement sur mon transfert de Domoticz à HA (désolé de m’incruster d’ailleurs) et de l’historique de mes données…
Et comme je le disais dons mon propre topic, c’est exactement le même mécanisme que Domoticz, et (encore une fois dans mon cas), ça me convient parfaitement !!
Merci à tous pour ce post très intéressant… J’ai toujours un souci de database qui grandit trop (11Go ce matin, Pulpy tu connais le sujet ) malgré la configuration du recorder. J’ai des entités de mesure d’électricité qui génèrent énormément de données, je cherche donc à n’utiliser que les statistiques à long terme pour elles.
Je crois comprendre qu’exclure complètement une entité du recorder n’empêche pas de la conserver en statistique à long terme?
Autre question : Comment exploiter les statistiques à long terme à part via une carte Énergie? Tu disais qu’on ne peut pas via une mini graph card. Apex chart non plus? Il n’y a que l’historique natif de HA, pas moyen de mettre en forme?
Et petite remarque : il serait tellement utile de pouvoir personnaliser les durées de rétention en fonction des entités, des entités globales ou des domaines. J’ai besoin de 14 jours (en fait il me faudrait 1 mois) pour une minorité d’entités, pour la majorité, trois jours me suffiraient…
Je connais le sujet c’est sans doute présumer un peu trop de ma mémoire, ça m’évoque bien quelques échanges mais j’ai pas forcément les derniers/bons détails en tête.
Hummm là moi j’ai un doute, quand j’exclue un truc, j’ai pas d’historique (et les stats longs termes se basent dessus) donc à mon avis pas de long terme non plus.
Plotty, Apex, History sont des cartes qui permettent de visualiser les stats
C’est bien ce que j’avais en tête… Perso je n’y crois pas ! 30J d’historique plein ça ne sert pas : c’est pas plus efficace que 10j d’historiques pleins + 20J de stats…
Si tu gardes autant de données, tu payes le prix d’une BD de taille importante ET de perf qui vont avec. Tu ne peux pas avoir le beurre et l’argent du beurre