Purge de la base de donnees HA

Dans ce cas, regarde les entrées les plus présentes…

2 « J'aime »

Du coup, je m’en suis sorti en… supprimant la base de donnée… => Je suis passé à une DB de 145Mb :smiley:
J’ai au passage remarqué que l’addon SAMBA SHARE ne marchait plus : ayant activé le firewall en mode RESTRICTED sur mon NAS, il avait bloqué les port SAMBA et donc l’addon n’arrivait plus à accéder à mon NAS. Résultat : les backup s’entassaient sans être supprimés :s
J’ai pu ramener ma carte SD à 21%

Surement un peu violent de tout virer mais bon…
Prochaine étape : remplacer la carte SD :wink:

Oui très violent… J’aurais aimé ne pas en arriver là… Mais je n’arrivais pas à accéder à sqlite via ssh… Et comme lors de mes tests j’étais prêt à purger jusqu’à -1 jour, je me suis dis : après tout quelle est la différence avec supprimer la base ? :smiley:

Oui j’y pense pour le ssd. J’ai HA depuis un an et je n’ai eu aucun problème avec la SD… Pour le ssd, n’importe lequel qui traîne d’un vieux pc ?

Avec un PI3, tu as tout intérêt à prendre du msata… c’est moins gourmand en alimentation.
Après si tu as le matos qui traine et les bons adaptateurs, ça s’essaye, les bonnes surprises ça arrive aussi

Bonsoir,
Par défaut le « days to keep » est à combien ?
Lorsque l’on utilise influxDB, les historiques viennent de la base sqlLite ou d’influxDB?

Bob

C’est 10 jours, tu peux voir les valeurs par défaut dans la doc.
InfluxDB et SqlLite c’est totalement séparé par défaut Influx garde à vie.

1 « J'aime »

Et les données historiques sont issues de la base configurée dans le recoder

Ok, merci, mais je ne vois pas influx DB dans la liste :
The supported database solutions are:

MariaDB ≥ 10.3
MySQL ≥ 8.0
PostgreSQL ≥ 12
SQLite ≥ 3.31.0

J’utilise Grafana mais il me reste à trouver la solution pour pouvoir afficher mes graphiques sur mon téléphone, « 401 : Unauthorised » mais c’est un autre sujet :wink:

Bob

InfluxDB ce n’est pas une base SQL relationnelle et ne peut être utilisée en tant que « recorder ».
Ca ne marche pas du tout de la même façon.

Pour le recorder et les infos stockées par HA dont les historiques et les stats, c’est dans une des bases listées.

Oui, elle stocke par unité de mesure / entitiy il me semble.
C’est Top en tous les cas.
Ma base « home-assistant_v2.db » fait moins de 500Mo, tout petit par rapport à ce que je connais au taf :slight_smile:

A mon dernier nettoyage de DB, je suis passé de 400Mo à 37Mo pour 7 jours de stockage.
Virer les l’enregistrement des entités inutiles ca aide beaucoup. Surtout avec la freebox qui bombarde le status des toutes les appareils qu’elle connait toutes les quelques sec .

Mais c’était sur la base avant les statistiques et les historiques.
Je suis remonté à 160Mo maintenant

L’usage d’influxdb fonctionne sous forme d’intégration InfluxDB - Home Assistant

Je suis un peu perdu sur la configuration

Je vais partir avec seulement une inclusion :

#Base de données
recorder:
  auto_purge: true
  commit_interval: 20
  purge_keep_days: 7
  include:
    entities:
      - sensor.alarm_status

  exclude:
    domains:
      - automation
      - alarm_control_panel
      - calendar
      - camera
      - climate
      - device_tracker
      - group
      - media_player
      - person
      - proximity
      - scene
      - script
      - sun
      - switch
      - timer
      - weather
      - zone
    event_types:
      - automation_triggered
      - script_started
      - service_registered
      - home_assistant_start
      - home_assistant_stop
    entities:
      - sun.sun
      - sensor.last_boot
      - sensor.date
      - sensor.time
1 « J'aime »

Bonjour,

Tout jeune dans le monde HomeAssistant, je viens de lire avec grand intérêt sur sujet.
J’ai effectivement vu le fichier HomeAssistant_V2.db et imagine que c’est là que sont sauvegardées toutes les données.

  • Moi, j’aime bien commencer par le début ; et comprendre ; HomeAssistant ne purge jamais rien dans sa config par défaut ?
    Ce qui impliquerait que recorder, soit la méthode à utiliser ? (ou bien la purger à la main)

  • Aussi je lis que l’on peut utiliser d’autre bases de données, mais est ce pour remplacer la première dans le moteur de HomeAssistant, ou bien pour se faire soi-même , et indépendamment ses petites applications qui nécessitent des BDD ?

Salut,

C’est en réalité l’inverse : au delà de 10j : tout est purgé !

Du coup : non. Le souci c’est pas tellement la purge, c’est que puisqu’il y a purge, ça ajoute TOUT. Y compris et surtout des trucs qui n’ont pas d’intérêts directs

Les 2 mon capitaine : tu peux vouloir changer le moteur BDD par défaut et/ou créer une base additionnelle
Dans le deuxième cas, ça se limitera à faire de l’alimentation des données. La restitution ne sera pas faite par HA

Merci pour vos explications,grace a vos commentaires je suis passé d’une data base de 13Go à 20Mo :sweat_smile::grin:

1 « J'aime »

Tu peux partager ton recorder?

Et voila, j’ai été bourrin mais au moins c’est efficace :

recorder:
  auto_purge: true
  commit_interval: 20
  purge_keep_days: 2
  exclude:
    entity_globs: 
      - sensor.*_uptime 
      - sensor.*_tx 
      - sensor.*_rx
      - sensor.*_uptime_2
      - sensor.*_tx_2
      - sensor.*_rx_2
      - sensor.*_motion
      - sensor.*_high
      - sensor.dalg_3070_*
      - sensor.dalg_win11_*
      - sensor.unifi_gateway_*
      - sensor.internet_time
      - sensor.dalg_cam*
    domains:
      - automation
      - alarm_control_panel
      - alarmo
      - binary_sensor
      - calendar
      - camera
      - climate
      - device_tracker
      - group
      - media_player
      - person
      - proximity
      - scene
#      - sensor
      - script
      - sun
      - switch
      - timer
      - weather
      - zone
      - zwave
    event_types:
      - automation_triggered
      - script_started
      - service_registered
      - home_assistant_start
      - home_assistant_stop
    entities:
      - sun.sun
      - sensor.last_boot
      - sensor.date
      - sensor.time
      - sensor.date_time

Pour info, sous Windows pour voir les détails du fichier .db je fais comme ça :

  • Télécharger SQLite Browser (en version portable sans installation) ICI
  • Copier/coller sur votre PC Windows la base de donnée « home-assistant_v2.db »
  • Ouvrir le programme précédemment téléchargé : DB Browser for SQLite.exe
  • Cliquer sur ouvrir une base de donnée (choisir votre base de donnée)
  • Ensuite aller dans l’onglet « Executer le SQL »
  • Copier/coller cette commande :
SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 20;
  • Cliquer sur la touche exécuter pour lancer la commande

Vous allez pouvoir voir les entitées qui sont le plus enregistrées et ainsi les ajouter à votre recorder si besoin :

5 « J'aime »

Peux-t-on limiter/réduire le nombre d’enregistrement si je prend l’exemple de ton sensor.cbxxxxxxx_axxxxx enregistré 117 fois ? Sans exclure ?

Dans mon cas j’ai :
image

je souhaiterai conserver mais diminuer le nombre d’enregistrement:

  - platform: statistics
    name: "Stats Freebox Download Speed"
    entity_id: sensor.freebox_download_speed
    state_characteristic: mean
    max_age:
      hours: 24
    scan_interval: 300
    
  - platform: statistics
    name: "Stats Freebox Upload Speed"
    entity_id: sensor.freebox_upload_speed
    state_characteristic: mean
    max_age:
      hours: 24
    scan_interval: 300