Sauvegarde longue durée de quelques sensors

Bonjour,

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 ??

Merci

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.

C’est que mon retour d’experience

Salut Oles67,

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 …

Salut,

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 ( :skull_and_crossbones:)
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

1 « J'aime »

Heuuu j’ai pas dit que ça marchait pas :thinking:

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 … ) …

En suivant les tuto je suis un cas particulier.
Je ne suis pas le seul après réinstallation à avoir perdu les LTS malgré un restaure complet (20Go)

Et j’ai eu le cas avec HAOS et supervised. Pour le moment je n’ai pas testé en réinstallant docker

Bon, j’arrête la discussion ici.

Cordialement

Je disais sça pour @Oles67

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.

1 « J'aime »

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

2 « J'aime »

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 ? :star_struck:

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

1 « J'aime »

merci pour cette belle réponse et explication ,

à titre d’info voici 2 capteurs actuels pour la conso journalière et celle remontée par mon lixee :

state_class: total_increasing
source: sensor.lixee_base
status: collecting
last_period: '15.92'
last_valid_state: '37228.71'
cron pattern: 1 0 * * *
tariff: peak
last_reset: '2023-10-19T22:01:00.006011+00:00'
unit_of_measurement: kWh
device_class: energy
icon: mdi:counter
friendly_name: conso journalière peak


pour le lixee 

state_class: total_increasing
active_enerfy_out_d01: 0
active_power: 0
active_power_max: 0
active_power_ph_b: 0
active_register_tier_delivered: TH..
apparent_power: 390
available_power: 45
average_rms_voltage_meas_period: 0
current_date: ''
current_index_tarif: 0
current_price: ''
current_summ_delivered: 37228.72
current_tarif: BASE
current_tier1_summ_delivered: 36657.53
current_tier2_summ_delivered: 0
drawn_v_a_max_n1: 0
linkquality: 153
message1: ''
message2: ''
meter_serial_number: '021961172057'
relais: 0
rms_current: 1
rms_current_max: 90
rms_voltage: 0
site_id: ''
status_register: ''
update:
  installed_version: 13
  latest_version: 13
  state: idle
update_available: false
warn_d_p_s: 0
unit_of_measurement: kWh
device_class: energy
friendly_name: lixee_base

J’ai donc l’impression qu’il faut lui rajouter des choses pour le premier mais pour le lixee ça semble correct non ?

La premiere me semble bien (j’ai edité une coquille de mon message précédent) : Tous les jours à minuit et 1 minutes, la valeur repart à zéro.

state_class: total_increasing
device_class: energy
cron pattern: 1 0 * * *

Les données à long terme stockeront donc la conso journlière, en plus des Xj du recorder

La deuxième ça semble être la valeur (les infos instantanées) du lixee. Et elles devraient aussi être stockées à long terme:

state_class: total_increasing
device_class: energy
1 « J'aime »

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 !!

1 « J'aime »

Pas de souci pour l’incruste. L’important c’est que les infos servent :wink:

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 :wink:) 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…

Merci !

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

Je confirme. Exclusion du recorder => pas de stat long terme chez moi (je me suis fait avoir)

1 « J'aime »