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 ^^
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
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à
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.
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.
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 )
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.
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
Je pense pas, SQLite c’est du solide et ça peut stocker des Teras de données, je pense que tu en es loin !