Purge de la base de donnees HA

Voila mon recoreder.yaml:

#########################
#       RECORDER        #
#########################
  purge_keep_days: 3
  exclude:
    domains:
      - automation
      - calendar
      - climate
      - device_tracker
      - group
      - media_player
      - person
      - proximity
      - scene
      - script
      - sun
      - timer
      - weather
      - zone
    event_types:
      - automation_triggered
      - home_assistant_start
      - home_assistant_stop
      - script_started
      - service_registered
    entities:
      - binary_sensor.wan_status_2
      - camera.lsc_smart_indoor_camera
      - light.lsc_smart_indoor_camera_indicator_light
      - sensor.11_weather_alert
      - sensor.66_weather_alert
      - sensor.entrance_door_openings
      - sensor.entrance_door_openings_back
      - sensor.fenetre_chambre_battery_state
      - sensor.fenetre_salle_de_bain_battery_state
      - sensor.hacs
      - sensor.hacs_version
      - sensor.home_assistant_log_size
      - sensor.home_assistant_v2_db_size
      - sensor.moon
      - sensor.network_in_end0
      - sensor.network_out_end0
      - sensor.network_throughput_in_end0
      - sensor.network_throughput_out_end0
      - sensor.local_ip
      - sensor.ytube_music_player_extra
      - switch.lampe_du_pc_child_lock
      - switch.lampe_du_pc_switch_1
      - switch.television_screen_state
      - switch.wifi_switch_2
      - sensor.0x00158d0007072fbe_side
      - sensor.0x00158d0007072fbe_action_to_side
      - sensor.0x00158d0007072fbe_action_side
      - sensor.0x00158d0007072fbe_action_from_side
      - sensor.0x00158d0007072fbe_action_angle
      - sensor.0x00158d0005d299cf_iinst
      - sensor.zigbee2mqtt_networkmap
      - sensor.atom_bluetooth_proxy_ad7a6c_wifi_signal_db
      - sensor.atom_bluetooth_proxy_ad7a6c_ble_proxy_uptime
      - sensor.atom_bluetooth_proxy_ad7a6c_wifi_signal_percent
      - switch.atom_bluetooth_proxy_ad7a6c_ble_proxy_restart
      - sensor.bluetooth_proxy_uptime_readable
      - sensor.bluetooth_proxy_854638_wifi_signal_db
      - sensor.bluetooth_proxy_854638_ble_proxy_uptime
      - sensor.bluetooth_proxy_854638_wifi_signal_percent
      - switch.bluetooth_proxy_854638_ble_proxy_restart
      - sensor.bluetooth_proxy_854638_ble_proxy_uptime
      - sensor.bluetooth_proxy_854638_uptime_readable
      - sensor.wled_uptime
      - sensor.wled_estimated_current
      - sensor.wled_wi_fi_signal
      - sensor.wled_max_current
      - sensor.wled_led_count
      - sensor.wled_ip
      - switch.wled_reverse
      - switch.wled_nightlight
      - sensor.wled_uptime_2
      - sensor.wled_wi_fi_signal_2
      - sensor.wled_led_count_2
      - sensor.wled_ip_2
      - switch.wled_reverse_2
      - switch.wled_nightlight_2
      - sensor.wled_uptime_3
      - sensor.wled_wi_fi_signal_3
      - sensor.wled_led_count_3
      - sensor.wled_ip_3
      - switch.wled_reverse_3
      - switch.wled_nightlight_3
      - sensor.energie_home_instentane
      - sensor.box_metering_pc_pb_pe_sum
      - sensor.zlinky_metering_hc_hp_sum
      - switch.s3_display_restart
      - sensor.s3_display_uptime
      - sensor.s3_display_wifi_signal_percent
      - sensor.s3_display_light
      - sensor.s3_display_ld2410_firmware_version
      - sensor.s3_display_still_energy
      - sensor.s3_display_still_distance
      - sensor.s3_display_move_energy
      - sensor.s3_display_detection_distance
      - sensor.linky_2414xxxxxxxxxxx_consumption_last5day
      - sensor.linky_2414xxxxxxxxxxx_consumption_history
      - sensor.time_date
    entity_globs:
      - binary_sensor.ags3k_w09_*
      - binary_sensor.diskstation_*
      - binary_sensor.e005d154_ce380674*
      - binary_sensor.9bb3d109_adeb2e5c*
      - binary_sensor.282986bc_76a32111*
      - binary_sensor.versatile_thermostat_salon_*
      - binary_sensor.versatile_thermostat_chambre_*
      - binary_sensor.versatile_thermostat_sejour_*
      - input_select.*
      - input_number.*
      - input_text.*
      - light.smart_switch_*
      - select.lsc_smart_indoor_camera_*
      - switch.lsc_smart_indoor_camera_*
      - sensor.*_action
      - switch.e1_zoom_camera_*
      - switch.*_power_outage_memory
      - select.*_power_on_behavior
      - sensor.*_linkquality
      - sensor.*_battery
      - sensor.*_ble
      - sensor.*_illuminance
      - sensor.*_signal_strength
      - sensor.*_zigbee
      - sensor.*_illuminance_lux
      - sensor.*_energy
      - sensor.ags3k_w09_*
      - sensor.e005d154_ce380674*
      - sensor.9bb3d109_adeb2e5c*
      - sensor.282986bc_76a32111*
      - sensor.carburants_*
      - sensor.count_lumieres_*
      - sensor.diskstation_*
      - sensor.m2101k9g_*
      - sensor.pas_de_la_case_*
      - sensor.aigues_xxxxx_*
      - sensor.malataverne_*
      - sensor.poubelle_*
      - sensor.saint_xxxxx_*
      - sensor.seventeentrack_*
      - update.*_update
      - sensor.versatile_thermostat_chambre_*
      - sensor.versatile_thermostat_salon_*
      - sensor.versatile_thermostat_sejour_*
      - sensor.pollens_11_*
      - sensor.sun_next_*
      - sensor.maison_*
      - sensor.*_restrictions
      - sensor.waze_travel_time_*
  include:
    domains:
      - alarm_control_panel
      - binary_sensor
      - light
      - sensor
      - switch
    entities:
      - sensor.m2101k9g_geocoded_location
      - device_tracker.android
      - device_tracker.diskstation
      - device_tracker.google_nest_mini
      - device_tracker.google_nest_mini_sdb
      - device_tracker.sagemcom_broadband_sas_2b_18_c0
      - device_tracker.huawei_matepad_t10s
      - device_tracker.pc_zam01
      - device_tracker.rlxlinux
      - device_tracker.pc_95_pc_95
      - device_tracker.android_6e3e37f912fab9fd
      - device_tracker.homeassistant
      - device_tracker.decodeur_tv_uhd
      - device_tracker.repeteurwifi6_aaf0
      - device_tracker.atom_bluetooth_proxy_ad7a6c
      - device_tracker.e1_zoom_camera
      - device_tracker.rm4_32
      - device_tracker.atom_bluetooth_proxy
      - device_tracker.wled
      - device_tracker.wled_wled_1_wled_wled_1
      - device_tracker.wled_bandeled_wled_bandeled
      - device_tracker.s3_display_s3_display
      - device_tracker.pc_346_1
      - device_tracker.zhimi_heater_mc2a_mibt4a0d_zhimi_heater_mc2a_mibt4a0d
      - person.warcozes
      - sensor.saint_xxxxxxx_pressure

Merci bcp pour ce partage , en fait je crois que je n’arrive pas à bien saisir le fonctionnement de recorder …
Dans exclude: tu énumères tout ce que tu ne veux pas conserver du tout , donc si tu utilises que ça tout est enregistré pour XX jours (suivant ton choix ) sauf ce que tu mentionnes ( vrai ? ).
Dans ce cas , pourquoi le include ? juste pour éviter de se farcir la longue liste si tu veux en garder une grande quantité ??
Désolé dêtre un peu lourd avec mes questions mais j’arrive pas à saisir pourquoi ma BDD ne baisse pas en volume …
Il y a 1 heure, j’ai passé mon purge_keep_days: à 8 jours, j’ai lancé manuellement une purge et … toujours presque autant en taille …

J’ai exclu tout les domaine ( qui m’interesse pas ) et ensuite des entités ( qui sont incluse , par le domaine dans inclus ).
Dans inclus, j’ai mis des entité ou le domaine est exclue.

Salut,
Le mécanisme des include/exclude est décrit dans la doc, jette y un oeil ça eclaire un peu le sujet.

Par ailleurs, une approche qui marche bien c’est la suivante :

  • tu ne conserves rien SAUF ce que tu déclares explicitement ! Donc juste une section include, pas de domaine (c’est trop large) et attention aux noms génériques. Pourquoi : ça évite de se retrouver dans le cas, où quand tu créée des entités, elle s’ajoutent toutes seules dans la base par défaut.
  • Réduire la rétention à max… Connaitre l’humidité à la minute près pendant 30j ça n’a pas d’autre utilité que de bouffer de la place. C’est valable pour la conso et la production électrique. Pourquoi : Au delà de la semaine, dans 99% des cas, les valeurs min/moy/max des statistiques à long terme suffisent. C’est à durée de vue infinie (donc mieux que 30J !) et c’est géré presque automatiquement par HA (ça bouffe moins de place). En plus elles sont affichables comme des données ‹ normales › avec les bonnes carte graph. Les 1% restants se traitent au cas par cas (influxdb par exemple)
  • En ayant réduit la taille, on gagne en espace, mais pas que. C’est aussi efficace pour la taille des backup, les performances générales, la réactivité y compris d’affichage.
  • Quand on purge à la main, il faut garder en tête que : ça ne vire pas les X millions d’enregistrements en trop d’un coup, tout simplement parce que pendant ce temps là, l’appli ne sait pas traiter les choses qu’elle est censé faire => la domotique
  • Si la purge ne s’accompagne pas de l’option ‹ repack ›, alors le contenu de la base diminue mais pas la taille du fichier. Pourquoi : parce que faire de l’allocation d’un gros fichier c’est couteux du point de vue système (même avec les SSD) et comme l’espace que l’on va libérer, a des chances de devoir être repris un peu plus tard, ça fait 2 opérations (réduction/agrandissement) en moins à faire. Toujours dans l’optique des perfs
1 « J'aime »

Moi j’ai choisi (c’est juste un choix) de n’avoire qu’une rubrique include dans mon recorder.
Cela fait que ça ne conserve que les données dont j’ai besoins.
Si un jour, je me rends compte que je loupe une données qui d’un coup m’intéresse, alors je l’ajoute dans mon recorder dans la seule rubrique include.
Et si j’ajoute une intégration, ou un appareil, ou dieux sait quoi, ben ça n’impacte pas ma DB.

1 « J'aime »

Salut j’ai eu le droit à une purge qui s’est mal passé cette nuit et je viens de perdre 10 mois de statistique d’Energie. Avant de reprendre ce topic et de trouver le bon réglage de mon cotés pour une purge correcte sans corruption. Je voudrais restaurés ma base de données mais je ne trouve pas comment ? Veut tu que j’ouvre un nouveau topic ? Merci de ton aide!

Salut.

Oui, c’est clairement un nouveau sujet complètement indépendant.
Regarde également les sujets concernant la restauration, ils sont nombreux

1 « J'aime »

Bonjour aux experts…

je viens de faire la liste de mes 20 bouffeurs de base et je tombe sur ceci:

entity_id	count
automation.nspanel_sandrine_configuration	431658
automation.nspanel_benoit_configuration	394328
automation.nspanel_configuration_2	195456
sensor.prise_onduleur_benoit_power_reactive	185451
sensor.prise_onduleur_benoit_power	185451
sensor.prise_onduleur_benoit_device_temperature	185451
sensor.prise_onduleur_benoit_energy	185273
switch.prise_onduleur_benoit	185272
switch.prise_onduleur_salon_2	183310
sensor.prise_onduleur_salon_power_reactive	183310
sensor.prise_onduleur_salon_energy_2	183310
sensor.prise_onduleur_salon_device_temperature	183310
sensor.prise_onduleur_salon_power_2	183131
sensor.atc_parents_humidity	81118
sensor.atc_ext_est_humidity	74586
sensor.atc_parents_temperature	71017
sensor.weather_temperature	71015
sensor.atc_ext_est_temperature	64996
sensor.memory_free	60236

bon, mes « prise_onduleur » sont assez bavardes, mais elles passent en mode « long terme » au bout de 10 jours.
pareil pour mes « sensor.atc_* »

ce qui m’inquiète plus ce sont les automations liées à mes nspanel qui me servent comme « réveil/horloge de bureau »
je vois bien ces automatisations (liées au blueprint de configuration) déclenchées toutes les deux ou trois secondes. (intégration Blackymas/NSPanel_HA_Blueprint) mais impossible de voir si elles ont des statistiques ou quoi …
et ils ne sont installés que depuis un mois…
y a il un moyen de suivre la taille de la base de données ?
j’ai rien trouvé dans le systeme monitor ou alors il est planqué dans ses plus de 800 entrées…

Salut,
tu peu avoir un sensor avec la taille de la DB, avec l’intégration Taille de fichier.

1 « J'aime »

Salut,

Elles servirait à quoi les statistiques de tes automatisations ? (à mon avis rien)

ça perso ça m’inquiète, pour un réveil, ça me semble bien chargé de déclencher les automatisations aussi fréquemment

1 « J'aime »

oui, hop dans le recorder:

  exclude:
    domains:
      - automation
1 « J'aime »

Ah mais je n’ai jamais demandé ces statistiques… et surtout je ne les vois pas avec les outils de développement.

les écrans m’affichent la température int/ext, les prévisions météo-france et l’état des différentes lumières de la maison.

va dans outils de dev et états, recherche automation et choisie une automatisation et regarde l’onglet historique.

bien, encore un reboot… c’est loggé dans la base de données les reboots ??? :rofl:

oui.

    event_types:
      - home_assistant_start
      - home_assistant_stop

Ah bien c’est pour çà qu’elle grossit !!!

ça depends de ton recorder…
Une inclusion globale du domaine automation et zou : emballé c’est pesé

bien, j’ai rebooté, mon premier champ est passé à 435188, je le surveille, mais il devrait plus bouger vu qu’il est plus enregistré…

j’ai un peu de mal à trouver l’onglet historique… ???