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