Problème de refresh avec matterbridge

SPOILER : tout fini (presque) bien :grimacing:

Hello,
alors l’IA me dit qu’il n’y a pas de sujet avec un problème de refresh et matterbridge, donc je me lance :slight_smile:
J’ai pourtant en tête les essais que l’on avait fait sur l’intégration Matter et le refresh forcé avec décommissionnement/recommissionnement de matterbrige, bizarre.

Quoi qu’il en soit, j’ai un soucis de refresh, voici mon scénario.
J’ai installé depuis peu un moteur de porte de garage somfy. Le moteur n’apparaissant pas (de suite?) dans l’intégration Matter, j’ai désactivé le plugin matterbridge-somfy et réactivé.
Résultat : mes appareils Somfy ont changé de unique ID (ce qui est normal) et ensuite je n’ai plus qu’à aller dans les appareils Matter sur Gladys pour lancer leur mises à jour (avec le bouton refresh).
Et là, rien :thinking:


Et bien plus tard (qq heures), la mise à jour des appareils apparait :

Je n’ai pas compris pourquoi ce délai.

Je reteste aujourd’hui en désactivant le plugin matterbridge-dyson et rien ne se passe côté Gladys alors que je suis persuadé qu’une étiquette « non joignable » rouge doit apparaître.


Et si je regarde dans les noeuds Matter, mes appareils Dyson (24 et 25) sont toujours présents :

Je désactive Matter et je réactive, matterbridge réagit bien :

Les noeuds 24 et 25 ont maintenant disparu :

Et dans les appareils ils sont toujours là, sans étiquette (l’IA m’a confirmé qu’aucun sujet ne parle de ce type d’étiquette « non joignable ») :

EDIT : je viens de retrouver ce fameux badge : 🚀 Matter & Gladys Assistant : C’est parti! - #117 par pierre-gilles
L’IA c’est bien mais je dois avoir un mauvais karma avec car ça ne me donne jamais une réponse positive quand je sais que c’est positif …

Je continue mon scénario en réactivant le plugin matterbridge-dyson … et là en forçant le refresh, ça fonctionne (bon je viens de le faire en live, l’effet démo est toujours aussi surprenant :exploding_head: )

Donc de ce que j’ai pu retester, il semble y avoir un problème de refresh lorsque qu’un changement survient côté matterbridge, j’ai l’impression que c’est surtout en « supprimant ».
@pierre-gilles est-ce que tu as un délai de check suite à ton implémentation ?
On en avait discuter ici.
Et pour le badge « désactivé », il doit apparaître à quel moment ?

Non justement il n’y a plus de délai !

Maintenant, dès que tu affiches la page, la liste affiche exactement les appareils appairés.

Plusieurs pistes possibles pour ton observation :

  • Soit c’est un bug Gladys, mais ça m’étonne car normalement on affiche juste la liste qui vient directement de la librairie « Matter.js »
  • Soit c’est Matterbridge le problème
  • Soit c’est le plugin Matterbridge le problème
  • Soit c’est la librairie « Matter.js »
  • Soit c’est une spécificité du protocole Matter (ça m’étonnerait)

oh ça va être chaud de trouver le coupable :frowning:

J’ai des comportements bizarres avec les rafraichissements de pages :

  • j’ai mis à jour mes 2 appareils dyson et ensuite j’ai retiré le filtre : je me suis retrouvé avec tous les devices somfy en mode Ajouter
  • j’ai refresh la page : idem
  • je suis repassé sur l’onglet Paramètres et la page me dit que Matter n’est pas activé puis après qq secondes, c’est revenu à la normale
  • je suis repassé sur l’onglet Appareils et tout était de nouveau normal, plus d’appareils non ajoutés visibles.

C’est peut-être mon install Gladys de prod, je vais tester sur mon Gladys de test.

Si tu as un moyen de reproduire, je veux bien, ce genre de petit bug en revanche, c’est bien des bugs Gladys :slight_smile:

Mais à mon avis, pas de rapport avec un souci d’appareils qui n’apparaissent pas dans Gladys.

Si jamais tu peux surveiller tes logs Gladys quand ce genre de problème intervient, ça peut aider.

1 « J'aime »

je viens de faire une vidéo, c’est du temps réel.


Côté infra, je ne vois pas aucun lag sur cpu/ram/iops.

Ton instance a l’air vraiment lente :stuck_out_tongue: C’est quoi ta machine derrière ? Quel type de disque ?

Ok, je vois le souci, c’est juste que ton instance est assez lente et les états de chargement pourraient être améliorés ! Je me note de regarder.

Côté SW : proxmox avec 2 LXC debian + docker, un pour Gladys et un pour matterbridge, le tout sur un pool CEPH pour le stockage HA.
Côté HW : i7-6700T avec 16Go de RAM, un NVME où sont le système et la DB/WAL de CEPH, un HDD 7200rpm pour le pool CEPH (LXC).

Maintenant que tu le dis, j’ai changé ma config HW CEPH pour passer d’un seul SSD M.2 SATA à l’actuel NVME+HDD il y a peu de temps et effectivement, ça semble être plus (beaucoup) plus lent :frowning: (je passais de 40000iops à 220iops)
Bon, il faut que j’étudie de nouveau l’ensemble car CEPH m’attaquait fortement le durée du SSD SATA, il faut peut-être que j’en mette un plus gros pour qu’il tienne plus longtemps.

1 « J'aime »

C’est ce que je me disais, ça ressemble à 100% à un problème de disque ! Il faut du SSD :slight_smile:

Je viens de tester avec mon Gladys de test, c’est un peu plus rapide alors que l’infra est la même.
Je t’envoie vidéo et log gladys en DM.

1 « J'aime »

Merci pour la vidéo et les logs @mutmut :slight_smile:

Je ne vois rien de spécial dans les logs, et la vidéo ne m’aide pas trop, j’ai du mal à comprendre ce qui est censé fonctionner ou ne pas fonctionner :sweat_smile:

Dans tous les cas, je pense que la première étape dans ta situation est de revenir à un stockage rapide en full SSD. Si tu restes en HDD, tu risques d’avoir beaucoup de problèmes à l’avenir. Gladys n’est pas conçu pour fonctionner sur un stockage lent et ça peut causer des soucis dans tous les sens !

De mon côté, j’ai bien noté tes retours sur les écrans de chargement et je vais améliorer tout ça :wink:

Je propose une PR pour améliorer les états de chargement.

Par exemple, quand la page « Appareils » est chargée, mais que la liste des appareils appairés via Matter est en cours de rafraîchissement, la page affiche désormais :

J’ai également amélioré la vue « Ajouter un appareil » et « Paramètres » pour bien afficher une indication que la page est en cours de chargement.

La PR :

C’est fait (SSD SATA enterprise) et c’est bien plus vif (comme avant en fait) !

Argh :frowning:
Lorsque Matterbridge n’est plus en route (shutdown par ex), je n’ai pas d’indication que les appareils sont déconnectés chez moi (mais je vois que tu as le badge Déconnecté sur ta capture), ce qui me permettrait de checker si le docker matterbridge est up ou down ou un pb de plugin matterbridge. Mais dans mon exemple, je n’ai pas ce retour visuel, même après avoir cliqué sur le bouton Refresh (en haut à droite des Appareils).
Je ne sais pas si il existe un ping sur Matter ou si c’est juste une info envoyée par le protocole à intervalle régulier, et ne comprenant pas ça je ne comprends pas comment le reste fonctionne (ou ne fonctionne pas).

Top !

EDIT :
au bout d’une bonne dizaine de refresh manuel (sur 20s), j’obtiens enfin les badges Déconnecté (mais pas en auto) :

EDIT 2 :
ok, ça semble bien fonctionner en automatique car j’ai bien les badges après je dirais 1 à 2mn en revenant sur la page des appareils.
Les HDD n’ont pas dû aider … je vais surveiller tout cela au fil du temps.

Ok, c’est bien un problème de compréhension utilisateur, il n’y a pas de bug.

Le rafraîchissement des données provenant de Matter peut prendre du temps, surtout si tu as des appareils hors ligne, car la librairie Matter.js tente de recontacter ces appareils, et le timeout doit être de plusieurs dizaines de secondes, d’où l’attente.

Le message de chargement en haut de cet écran devrait aider à mieux comprendre ce qui se passe :slight_smile:

1 « J'aime »

et bien c’est l’info qui me manquait :stuck_out_tongue_winking_eye: Merci !

J’ai amélioré le message:

1 « J'aime »

Les améliorations de l’état de chargement de l’intégration Matter sont disponibles dans Gladys Assistant 4.61 :

1 « J'aime »