Base qui explose... c'est une manie chez moi

Bonjour,

J’ai l’entity_id sensor.g3_move_energy qui me colle 850000 entrées dans ma base de données, sans compter ses potes…

sensor.g3_move_energy 834028
sensor.g4_move_energy 825051
sensor.g5_move_energy 803101
sensor.g0_move_energy 797239
sensor.g6_move_energy 764748
sensor.g2_move_energy 762004
sensor.g7_move_energy 725474
sensor.g6_still_energy 703083
sensor.g8_move_energy 689470
sensor.g1_move_energy 686968
sensor.still_distance 658019
sensor.g5_still_energy 648130
sensor.g7_still_energy 647401
sensor.detection_distance 601461
sensor.g8_still_energy 599365
sensor.moving_distance 485041
sensor.g4_still_energy 469520
sensor.light 376838
switch.prise_onduleur_benoit 357656

ca vient d’un ESP32 avec un Senseur millimétrique LD2410 et un Sensor

binary_sensor:
  - platform: ld2410
    has_target: #Présence
      name: Presence
    has_moving_target: #Cible mobile
      name: Moving Target
    has_still_target: #Cible immobile
      name: Still Target

  - platform: gpio
    pin: 16
    name: gpio out pin presence
    device_class: presence

select:
  - platform: ld2410
    distance_resolution:
      name: "distance resolution"
    baud_rate:
      name: "baud rate"
    light_function:
      name: light function
    out_pin_level:
      name: out pin level

sensor:
  - platform: ld2410
    light:
      name: light
    moving_distance:
      name : Moving Distance
    still_distance:
      name: Still Distance
    moving_energy:
      name: Move Energy
    still_energy:
      name: Still Energy
    detection_distance:
      name: Detection Distance
    g0:
      move_energy:
        name: g0 move energy
      still_energy:
        name: g0 still energy
    g1:
      move_energy:
        name: g1 move energy
      still_energy:
        name: g1 still energy

number:
  - platform: ld2410
    timeout:
      name: timeout
    light_threshold:
      name: light threshold
    max_move_distance_gate:
      name: max move distance gate
    max_still_distance_gate:
      name: max still distance gate
    g0:
      move_threshold:
        name: g0 move threshold
      still_threshold:
        name: g0 still threshold
    g1:
      move_threshold:
        name: g1 move threshold
      still_threshold:
        name: g1 still threshold

le tout de g0 à g8.
pas étonnant que ca grossisse !!!

comment virer tout ca et empêcher que ca s’inscrive ?
ce capteur, j’en ai besoin, mais l’archivage ne me sert pas.

je suppose qu’il faudra l’exclure en le rajoutant dans recorder/exclude
je pense à un entity_glob, mais comment lui couper la chique sans que ca ne me fasse trop de dégâts collatéraux ? du genre - sensor.g?_move_energy et - sensor.g?_still_energy ou encore - sensor.g?_*_energy

j’imagine que le fait de bloquer l’archivage ne va pas nettoyer ma base ?
comment faire sans à avoir à attendre 20 jours ? (si encore j’étais sûr que ca suffirait!!!)

j’ai

recorder:
  auto_purge: true
  auto_repack: true
  purge_keep_days: 20
  #  commit_interval: 5
  exclude:
    domains:
      - automation
    entity_globs:
      - sensor.g?_*_energy

je viens de rajouter les 2 dernières ligne, la vérif. avant reboot n’a rien dit, mais …
ps, j’ai quand même débranché mon capteur pour le moment, je suis à 7,2 Go, je prenais 200 MB/jour.

Salut,
perso ces capteurs la , je ne les est pas mis dans mon esp. Ca sert quand tu veut configurer ton LD2410, mais après …
Je les est activer, configurer mon LD2410 et tout virer. quand tu vois comment un LD2410 bavarde, vaut mieux limité les entités qui remontent dans HA. J’ai garder que les number des g0 a g8.

j’ai mis ces entité dans mon recoder.

      - 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.s3_display_moving_distance

Tu peux essayer de forcer les actions du recorder via les services : recorder.purge_entitie - Recorder - Home Assistant

service: recorder.purge_entities
target:
  entity_id:
    - sensor.g0_move_energy
    - sensor.g1_move_energy
    - sensor.g2_move_energy
    - sensor.g3_move_energy
    - sensor.g4_move_energy
    - sensor.g5_move_energy
    - sensor.g6_move_energy
    - sensor.g7_move_energy
    - sensor.g8_move_energy
data:
  domains: []
  entity_globs: []
  keep_days: 0

puis un recorder.purge :

service: recorder.purge
data:
  repack: true

1 « J'aime »

je met directement

service: "service: recorder.purge_entities"
target:
  entity_id:
    - sensor.g0_move_energy

dans services dans outils de développements ?

Je me demande si il va te laisser faire sans les data, mais au pire, tente :slight_smile:

Ta un mode graphique :wink:
juste a choisir les entités.

1 « J'aime »

ah bah aussi si Monsieur se la pète avec une interface graphique… trop facile :rofl:

1 « J'aime »

Bon,

En mode texte:
Échec de l’appel du service service: recorder.purge_entities. Service service: recorder.purge_entities does not match format . for dictionary value @ data[‹ sequence ›][0][‹ service ›]. Got ‹ service: recorder.purge_entities ›

En mode graphique,
Ce service nécessite une cible, veuillez sélectionner une cible dans le sélecteur
j’ai mis « still energy » pour la cible, maintenant il demande un domaine…

Il est où le domaine il est où ??? J’suis pas christophe maé moi !!! :sob:

J’ai mis recorder dans le domain, j’espere que c’est bon…

Non !!!
choisie juste une cible, une entité a purge.
pour domaine et entité globale décoche le, c’est ce qu’on peut configurer dans le recorder.

les domaines :

    domains:
      - automation
      - calendar
      - climate
      - device_tracker
      - group
      - media_player
      - person
      - proximity
      - scene
      - script
      - sun
      - timer
      - weather
      - zone

pour entité globale:

    entity_globs:
      - binary_sensor.ags3k_w09_*
      - binary_sensor.diskstation_*
      - binary_sensor.e005d154_ce380674*
      - binary_sensor.9bb3d109_adeb2e5c*

je parlais de la purge là…
j’ai lancé

j’ai tout cassé ?

j’ai enlevé la case domaine à supprimer (mais bon, si c’est supprimé ca va pas le faire revenir…)

retiré tous les sensors de g0 à g8, les still_energy et les move_energy.

ensuite, j’ai fait le

service: recorder.purge
data:
  repack: true

les entités que ta mis dans entité globales, faut les sélectionner a partir de cible > choisir une entité.
Supprime la liste dans entité globale et décoche le.
dans domaine ne mets rien et décoche le.

1 « J'aime »

Ok, j’ai fait un

service: recorder.purge_entities
target:
  entity_id: 
    - sensor.g0_still_energy
    - sensor.g1_still_energy
    - sensor.g2_still_energy
    - sensor.g3_still_energy
    - sensor.g4_still_energy
    - sensor.g5_still_energy
    - sensor.g6_still_energy
    - sensor.g7_still_energy
    - sensor.g8_still_energy
data:
  keep_days: 0

pareil avec les move_energy, puis un

service: recorder.purge
data:
  repack: true

reboot propre,
ma base n’a pas maigri d’un octet.

y’a un un moyen via SQLite Web de savoir combien d’enregistrement a une entity_id ?

Perso, ca jamais fonctionner pour moi, le service purge.
faut attendre le nombre de jours configurer dans keep_days pour enlever completement les données, du moment que tu viens d’ajouter des entités exclu au recorder.
Quand il aura plus de données de ces entités, un repack fera diminuer la taille de la DB.

le auto repack automatique est tout les 2ème dimanche du mois.

image

Bon, je vais attendre.
Un peu plus et la courbe dépassait le bord de l’écran !!!

1 « J'aime »