Optimisation RECORDER

La colonne « count » correspond au nombre de ligne ?

Il y a plein de truc qui me sert à rien comme les données de la freebox…

Good Mythical Morning Reaction GIF by Rhett and Link

Ou le fait qu’un update soit disponible pour ton Lixee

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

Malgré le service-purge d’exécuté il y a 2 heures j’ai toujours autant de ligne « update »…
Voici mon automatisation que je lance manuellement :

alias: Maintenance .db
description: ""
trigger: []
condition: []
action:
  - service: recorder.purge
    data:
      repack: true
      apply_filter: true
mode: single

Ce n’est pas le domaine « update » qui serait concerné par mon top 1 ?

Même si tu purge, faut du temps pour que la DB diminue.

Puisque la base de données est normalement petite, il n’y a aucun gain à espérer, ni en terme de place (un fichier plat c’est optimal) ni en terme de perf (les recherches sont petites et donc simples/rapides, pas besoin d’index)
En plus le fait d’avoir phpmyadmin, c’est être tenter d’y accéder quand on ne maitrise pas. Be ware !

Du temps, c’est à dire ? En heure, en jour ou en semaine ?

J’ai des entités que je n’utilise plus, qui ne sont plus dispo dans HA mais encore présent dans le BDD. Une idée pour les supprimer définitivement ?

image

Tu peu tester avec le service recorder.purge_entities pour purger des entitées.

semaine, mois :sweat_smile:

Le régime continu avec 4go en moins sur la bdd :

image

Cependant je ne comprends pas pourquoi certaines entités ont disparu quand d’autre sont encore présente et s’incrémente.

entity_id count avant purge count après purge
sensor.freebox_download_speed 492025 492160
sensor.freebox_upload_speed 489680 (plus dispo, absente)
Voici mon recorder
purge_keep_days: 548
auto_purge: true
auto_repack: true
include:
 domains:
  - person
  - sensor
  - group
  - sun
  - zone
  - binary_sensor
  - cover
  - button
  - calendar
  - remote
  - device_tracker
  - weather
  - switch
  - vacuum
  - media_player
  - climate
  - number
  - alarm_control_panel
  - camera
exclude:
 domains:
  - update
  - automation
 entity_globs:
  - number.dov*_sensitivity
  - number.0x60a423*_calibration_time
  - switch.0x60a423*_motor_reversal
  - switch.usercpl*_enable_leds
  - switch.usercpl*_activer_les_led
  - switch.usercpl*_enable_guest_wifi
  - sensor.blink_blink*cam*_wifi_signal
  - sensor.blink_blink*cam*_temperature
  - device_tracker.devolo_home_network_*
  - button.usercpl*_start_wps
 entities:
  - sensor.freebox_download_speed
  - sensor.freebox_upload_speed
  - sensor.freebox_temperature_cpu_b
  - sensor.freebox_temperature_2
  - sensor.freebox_temperature_1
  - sensor.home_assistant_v2_db_last_updated

Je suis passé de 16 Go à 78 Mo en virant quelques trucs

Tu as l’air expert…

As-tu une idée pourquoi j’ai toujours l’entité « sensor.freebox_download_speed » qui s’incrémente alors que sa petit sœur upload n’est plus prise en compte dans l’historique ?

Non, car je n’ai pas utilisé * mais le nom de chaque sensor dans la partie exclude

C’est bien le cas ici aussi. Cela fonctionne pour l’upload mais pas pour le download…bizarre

 entities:
  - sensor.freebox_download_speed
  - sensor.freebox_upload_speed

Edit : C’est bon ils ne sont plus là.
-6 Gb :sunglasses:
Je poursuis l’optimisation

Hello, je souhaite aller un peu plus loin.
Est-il possible de supprimer une entrée sur 2 ou bien sur 3 ? Peut être requête SQL ?

Hello, de mon coté j’ai mis en stanby car tout est stable, mais j’ai aussi l’objectif de regarder comment garder des données pertinentes à vie. J’aimerai le truc classic que les experts doivent faire : c’est garder pour un capteur la valeur MAX/MIN/Moyenne de la journée. Si l’un d’entre vous a le code tout prêt et le tuto pour les nuls :wink: j’imagine que cela pourra en aider plus d’un…

Salut,

Toutes les infos sont dans le sujet :

  • mettre plus de 10j dans le recorder , c’est une anerie… dans 99% des cas, ça ne sert à rien sauf à avoir plein d’ennuis pour le reste (stockage, temps de restauration, ecriture disque)
  • si on veut optimiser, dans le recoder, on mets juste le nécessaire (sensor.time etc ça ne sert à rien)
  • pour les données importantes sur la durée, il y a les statistiques à long terme… ça fait le job tout seul et ça stocke les données de façon intelligente (1 par heure/jour etc, avec des filtres min/max/moy si besoin)
  • aller taper dans la base en SQL, c’est prendre un risque, surtout en débutant.

Bref, il y a déjà tout, donc pas besoin de réinventer la roue

Comment faire pour activer ces stat long terme (min/max/moy → par exemple pour un capteur de température)? car moi au delà des 10J d’historique j’ai plus rien (ou je ne sais pas chercher…)

Tu vas dans : Paramètres => Appareils et services => Entrées puis le bouton Créer une entrée
Tu sélectionnes Ajouter un compteur de services publics

Pour l’affichage, tu prends une carte statistique (pas historique)

Si ça ne fonctionne pas, il faut vérifier que l’entité de départ (celle qui sert à créer le compteur) est bien de type state_class

Il y a un sujet sur l’ajout d’un state_class Ajouter state_class
Par customize, on peu rajouter juste le state_class pour une entité sans devoir passer un compteur de services publics.

1 « J'aime »

Bonjour a tous,
Ma base qui a plus d’1 an et demi depasse les 20Go. J’ai tout fait niveau recorder et optimisation, impossible de la baisser.
bref, je veux repartir d’une base saine (=neuve), cela ne me derange pas de tout perdre, sauf que je souhaiterais recuperer mes valeurs energy pour l’energy dashboard.
Vous savez comment il est possible de ne recuperer que les veleurs energy dashboard?

Je vais répondre un peu à côté, mais quelles sont les valeurs les plus nombreuses dans la base ?
Sont-elles utiles ?
Et si non, comment as-tu essayé de les filtrer ?
On y arrive très bien normalement.