Gladys Assistant v4.10.2 est disponible avec des corrections de performances et un bouton nettoyage de la base!

Salut à tous !

Gladys Assistant v4.10.2 est disponible, une mise à jour qui améliore la façon dont la suppression des historiques d’états fonctionne.

Suppression de l’historique des états en arrière-plan

Concrètement, maintenant quand vous sauvegarderez un appareil avec le bouton « Oui, conserver les états » décochées, Gladys ne sera plus « bloquée » pendant plusieurs minutes/heures si vous avez beaucoup d’historique à supprimer, car Gladys supprimera les états petits à petit en arrière plan, de façon non bloquante.

Pour en savoir plus, j’ai détaillé ici comment tout ça fonctionne:

Possibilité de tourner un nettoyage de la base de donnée manuellement

Gladys utilise SQLite comme base de donnée, et comme beaucoup de système de base de donnée, SQLite propose une commande VACUUM (en français: le vide!) qui va nettoyer la base de donnée et supprimer du disque des lignes qui ne sont plus utilisées.

Cela permet de réduire l’utilisation disque de Gladys, en re-construisant la base de donnée.

C’est une opération qui peut-être utile de temps en temps pour économiser de l’espace, mais qui est longue à effectuer sur les grosses bases, et surtout qui est bloquante: la DB n’est pas accessible pendant le nettoyage, et par conséquent Gladys non plus.

Pour cette raison, j’ai décidé de proposer un bouton « Nettoyer la base de donnée » dans les paramètres systèmes de Gladys, pour permettre à ceux qui le souhaitent de faire un nettoyage manuel quand ils le souhaitent.

Pour l’instant, je n’ai pas souhaité mettre en place un nettoyage programmé, pour la bonne raison que je veux éviter que Gladys soit indisponible chez vous pendant 1H si jamais vous avez une très grosse base et un disque assez lent (une carte SD par exemple!), sans savoir pourquoi. Chez l’utilisateur, ce serait vu comme un crash!

Ce sera peut-être une évolution, mais je pense qu’il faut que ce nettoyage soit désactivable si il est implémenté, pour ceux qui cherchent de la haute-disponibilité.

En attendant, c’est manuel et disponible dans les paramètres systèmes:

Pour en savoir plus:

Le CHANGELOG complet est disponible ici .

Comment mettre à jour ?

Si vous avez installé Gladys avec l’image Raspberry Pi OS officielle, vos instances se mettront à jour automatiquement dans les heures à venir. Cela peut prendre jusqu’à 24h, pas de panique.

Si vous avez installé Gladys avec Docker, vérifiez que vous utilisez bien Watchtower (Voir la documentation )

3 « J'aime »

Bonjour
Cela inclut la prise en compte des derniers sujets (je pense aux températures/humidité des tasmota…) ?

Merci

Bonne idée de penser comme ça. ça permettra à tous de gérer la dispo de son instance, et clairement, Gladys doit être dispo à tout moment surtout en cas d’automatisation la nuit.

1 « J'aime »

Salut @Titou43 ! Tu parles de quel sujet en particulier ? (je veux bien un lien vers un sujet/une PR en particulier)

Cette mise à jour n’a pas de lien avec Tasmota :slight_smile:

Je parles de ce sujet :

Salut @Titou43! Je ne sais pas si @AlexTrovato a eu le temps de regarder, vu le topic je ne pense pas ! Il faut s’armer de patience :slight_smile:

J’ai pu faire quelques essais et je confirme pour ma part que Gladys ne se bloque plus!
Merci @pierre-gilles :+1:

1 « J'aime »

J’ai bel et bien avancé sur les capteurs de température et humidité.
Je dois encore préparer une image docker de test pour validation.

EDIT : en fait ça a déjà été testé !

1 « J'aime »

Test en cours. Merci pour tes modifications, la suppression, mise à jour et ajout d’équipement est maintenant instantannée malgré la taille de ma DB.

Pouvoir lancer un VACUUM manuellement est très pratique, car on maîtrise l’indispo de Gladys.

2 « J'aime »

Top!! Merci du retour :slight_smile:

@pierre-gilles Bon finalement je ne pense pas que tous les cas de figure ont été pris en compte pour le blocage pendant la suppression de données.
Grâce à l’intégration du Lixee TIC de la dernière mise à jour j’ai voulu supprimer des devices MQTT qui ne me servent plus, je n’ai pas eu de message pour m’avertir du nombre de données importantes et Gladys à été bloqué pendant plusieurs dizaines de très longues minutes.
[EDIT]: après 2h d’attente j’ai redémarré Gladys!

J’essaierais de reproduire le cas avec une autre instance gladys pour te donner plus de détail si besoin.

Tu étais bien dans la dernière version de Gladys ?

Oui en 4.12.

C’est peut être lié à un autre problème.
Je testerais cette suppression sur une autre instance Gladys et ma db dès que je pourrais et je te tiens au courant si j’arrive à le reproduire.

1 « J'aime »

Mes devices MQTT n’ont pas été effacés (surement à cause de mon reboot), du coup je recommence à en supprimer. Cette fois la je supprimer qu’une seule feature et Gladys se bloque à nouveau! :disappointed_relieved:

Je peux reproduire le problème quand je veux dis ce que tu as besoin pour débugger.
J’ai regarder les logs docker mais je suis pollué par des warn z2m.

Si tu peux carrément m’envoyer la DB et le nom du device qui pose problème à supprimer ? :slight_smile:

As tu encore la db de l’autre jour? Si non je te la renvoie dans la journée.

C’est le device MQTT Linky en supprimant une des features par exemple l’index

Je veux bien que tu me la renvoie :slight_smile:

Pas de souci je te la renvoie dans la journée.