Purge de la base de donnees HA

Bonjour a tous,

J’aurais besoin de vos conseils sur la base de données V2 homeassistant qui devient trop volumineuse.

Quelle config utilisez vous pour la purges ? et qu’est que le repack ?

Merci pour vos conseils

Avant de commencer à parler de purger la base de donnée, il faut déjà commencer par parler du remplissage…

As tu configurer le recorder ? (documentation)

Celui-ci te permet de définir les domaines/entités/évènements que tu souhaites sauvegarder et donc avoir un historique. Tu peux également utiliser la logique inverse et indiquer quels domaines/entités tu ne souhaites pas sauvegarder. Et enfin tu peux conjuguer les deux.

Ensuite, lorsque tu auras indiqué quels sont les domaines/entités que tu souhaites historiser, tu peux définir le nombre de jour que tu souhaites historiser (par défaut 10 jours).

Par exemple, ma configuration actuelle est celle-ci :

Cliquez pour afficher ma configuration de l'intégration Recorder
#Base de données
recorder:
  purge_keep_days: 60
  include:
    domains:
      - sensor
      - input_boolean
      - input_datetime
      - input_number
      - input_select
      - input_text
      - binary_sensor
      - light
      - cover
  exclude:
    domains:
      - automation
      - alarm_control_panel
      - calendar
      - camera
      - climate
      - device_tracker
      - group
      - media_player
      - person
      - proximity
      - scene
      - script
      - sun
      - switch
      - timer
      - vacuum
      - weather
      - zone
      - zwave
    event_types:
      - automation_triggered
      - script_started
      - service_registered
      - home_assistant_start
      - home_assistant_stop
      - home_assistant_stop
    entities:
      - sun.sun
      - sensor.last_boot
      - sensor.date
      - sensor.time

Ensuite, rien ne t’empêches de faire une automatisation sur la taille de la base de donnée afin de lancer une purge (après avoir créé un capteur pour la taille de la base de donnée) :

Cliquez pour afficher la configuration de la récupération de la taille de la base de donnée
homeassistant:
  whitelist_external_dirs:
    - /config/

sensor:
  - platform: filesize
    file_paths:
      - /config/home-assistant_v2.db
Cliquez pour afficher l'automatisation de purge si supérieure à 1Go
- id: 'purge_automatique_si_base_trop_volumineuse'
  alias: 'Purge de la base de donnée'
  description: 'Purge la base de donnée lorque celle-ci dépasse 1Go'
  trigger:
  - platform: numeric_state
    entity_id: sensor.home_assistant_v2_db
    above: '1000'
  condition: []
  action:
  - service: recorder.purge
    data:
      keep_days: 30
      repack: true
  mode: single
1 J'aime

Clemalex, grand merci pour la precision du post qui est complet. je vais pouvoir cloturer mon soucis rapidement.

Encore une fois tu me depannes et tu me fais progresser sur HA.

A bientôt

1 J'aime

Bonsoir,
Si je puis me permettre, whitelist est déprécié depuis la 0.113, c’est plutot « allowlist » maintenant :wink:

1 J'aime

C’est pas comme si c’était marqué en gros et dans une autre couleur dans la documentation

:grin:

1 J'aime

merci pou ce complement d’info

Pour ceux qui comme moi n’arrivent pas à faire fonctionner platform: filesize
il y a une possibilité de contournement sans utiliser allowlist.

  - platform: sql
    queries:
      - name: DB Size
        query: 'SELECT ROUND(page_count * page_size / 1024 / 1024, 1) as size FROM pragma_page_count(), pragma_page_size();'
        column: 'size'
        unit_of_measurement: 'MiB'

Source : SQL - Home Assistant

Tu veux pas ouvrir un sujet ?

As tu vu ce post Purge de la base de donnees HA - #2 par Clemalex ?

c’est juste une astuce pour permettre à ceux qui ont suivi ce fil et qui seraient bloqués, d’aller au bout.
ce n’est, à mon sens, pas un sujet en soit.

Non je parlais de ton problème et de pourquoi tu ne peux pas… :innocent:

Pas de l’astuce :+1: