[DB de 5Go] Lenteurs au premier démarrage

Je modifie la db pour pas tout historiser, l’exemple tout bête c’est les capteurs aqara, de mon point de vue cela ne sert à rien d’hisstoriser la pression atmo dans chaque pièce car les valeurs vont être identiques.

Ma DB fait 2GB

Mais c’est vrai qu on a déjà eu cette discussion quelque part sur le forum

Et enfin une PR pour les scènes pour pouvoir envoyer une alerte en cas de non réception de valeur pendant un laps de temps sur un device.
Exemple :
Trigger : “Toutes les 10 minutes” (Existant)
Action : “Récupérer la date de dernière mise à jour de la (des) fonctionnalités” (last_value_changed) avec sélection d’une feature par device par exemple la batterie (A développer)
Action : “Continuer seulement si plus de 10 minutes” (A développer - soustraction)
Action : “Envoyer un message” (avec variable(s)) (Sûrement last_value_changed à ajouter)

De mon côté j’ai retrouvé la demande de fonctionnalité, tu avais en effet voté pour également ^^ Mais pas de réponse dessus. Je ne trouve pas d’autres sujets similaires …

Si tu as le temps de lire les 2 posts précédents et donner ton avis sur la proposition ce sera avec plaisir ^^

Merci a tous pour vos réponses. Je vous laisse et vous remercie de travailler là dessus :blush:

Je suis en congés sans accès facile à mon pi ou la db, donc je ferais tout ça en rentrant.

1 « J'aime »

Salut @lmilcent, un petit cadeau pour quand tu seras rentré de vacances, j’ai fais une rapide PR pour nettoyer la table t_device_feature_state_aggregate des valeurs NaN :slight_smile:

Ce n’est pas intégré à la release que je vais faire aujourd’hui, ça partira dans la prochaine.

Dans un premier temps, faisons simple et bien, je pense que côté serveur il n’y a rien à faire.

Il faut juste à rajouter dans l’interface un bouton « Conserver l’historique des valeurs de cet appareil » : coché ou pas.

Ce booléen modifiera l’attribut keep_history qui existe déjà, et qui fonctionne déjà côté serveur. C’est 2h de travail tout compris le temps de faire la PR, et il n’y a pas de spécification à écrire car la fonctionnalité existe déjà :slight_smile:

Pour rajouter une historisation par appareil, ça complexifie pas mal le produit et ça se réfléchit (quid de l’agrégation? Qu’est ce qui est prioritaire: le paramètre global ou le paramètre par appareil?). Bref, à mon avis restons focus sur l’essentiel pour l’instant.

Un message a été scindé en un nouveau sujet : Sauvegarder ou pas l’historique d’une fonctionnalités précise

Trop bien, merci :slight_smile:
Sympa comme surprise de retour de vacances !

Donc, pas d’aggrégation des valeurs sur 24h, vu que seule la dernière valeur est conservée, right ?

Il n’y a pas d’historique du tout du coup, seule une valeur est gardée, la dernière :slight_smile:

Comment tu fais ça ?

J’ouvre la db avec db browser et j’édite la colonne keep_history dans la table device_feature

1 « J'aime »

@lmilcent Correctif DB déployé !

1 « J'aime »

J’ai constaté que Gladys a travaillé pendant de très longues minutes donc j’en déduis que ça a nettoyé les données, sans avoir encore vérifié.
J’ai lancé manuellement un vacuum qui m’a fait gagné 100mo.

1 « J'aime »

Génial :slight_smile: On verra à la prochaine sauvegarde ce que ça donne

Est ce que c’était justifié mon action, ou déjà fait par Gladys ?

C’était justifié, actuellement on ne fait pas de VACUUM manuel.

C’est d’ailleurs quelque chose qu’il va falloir rajouter avec tous ces sujets de « clean » automatique, peut-être de manière nocturne avec un horaire programmé qu’on maitrise (et bien-sûr hors des horaires de sauvegarde Gladys Plus / et des agrégations )

2 « J'aime »

Salut @pierre-gilles,

J’attendais que tu reviennes avant de poster… 2 semaines que tout ma domotique Gladys est plantée, plus de sauvegarde Gladys Plus à nouveau et plantage récurrent apres 30 minutes… je suis désespéré, je commence a me demander si sqlite n’atteint pas ses limites chez moi. ^^ J ai tout eteint depuis 4 jours, il n’y a plus que mon Gladys Pro Dev qui tourne, bien lui.

Si tu as un peu de temps à un moment… Merci par avance.

Salut @Terdious ! Mince !

Est-ce que ça te dérangerait de m’envoyer ta DB (un lien par email par exemple) ? Pour que je puisse analyser le volume de donnée dont on parle, et tester en local chez moi comment ça tourne.

On peut s’appeler aujourd’hui aussi si tu es dispo pour que tu me montres ça et que tu m’expliques :slight_smile:

Je pense pas, SQLite c’est du solide et ça peut stocker des Teras de données, je pense que tu en es loin !

1 « J'aime »

@pierre-gilles,

Merci pour ton temps déjà.
Je t’envoi ca avec weTransfer dès que je rentre du boulot (l’alimentation du pi étant coupée)

Je suis disponible seulement à partir de 17h30, si ça peut le faire pour toi !!

Ok merci ! :wink:

Pour 17h30, on se tient au courant, normalement ça devrait le faire mais j’ai peut-être un truc ce soir !

1 « J'aime »

Je te confirme c’est bon pour 17h30, je t’enverrais un lien google meet en MP :slight_smile:

1 « J'aime »