Bon, j’ai refais une PR du coup ce matin, et effectivement avec le autoConnect qui fonctionne, ça change tout, j’ai pu supprimer 50% du code que j’avais écris pour cette migration
Un nouveau build est disponible sur un nouveau tag :
gladysassistant/gladys:upgrade-matter-latest
J’en ai profité pour faire quelques améliorations pratiques :
1/ Dans les logs, les messages d’avertissement quand un appareil n’est pas encore ajouté à Gladys sont désormais affichés sur une seule ligne, au niveau de log « info », car en soi ce n’est pas une erreur mais juste un avertissement :
2/ Le rafraîchissement de la liste des appareils Matter, étant une opération parfois longue sur les gros réseaux Matter comportant des appareils non disponibles, j’ai rendu cette opération non bloquante pour le démarrage de Gladys afin d’éviter de rallonger le temps de démarrage de Gladys.
Il y a peut-être des reliquats du à mes différents tests.
Sinon il faudrait que je supprime complétement matter et que je reparte de zero en intégrant matterbridge comme si je repartais d’une installation avec la dernière version stable de Gladys et ensuite utiliser upgrade-matter-latest
Merci pour le test et les logs, ça m’aide beaucoup !
Tu as un appareil qui n’est pas joignable, et, en cascade, ça casse le reste de l’intégration. J’ajoute du code pour que ça ne soit pas le cas, et je te fais un build
Petite question : tu testes sur quelle architecture: amd64 ou arm64 ? Les builds ARM sont plus longs, donc si c’est amd64 je te fais un build Docker amd64 uniquement, ça gagne du temps
L’erreur est assez claire, c’est un bug de librairie matter.js !
2026-03-23 11:20:33.533 ERROR ClientNode [internal] Unsupported async initialization detected when loading known peer
at ClientNode.initialize (/src/server/services/matter/node_modules/@matter/node/src/node/ClientNode.ts:101:19)
at ClientNode.[construct] (/src/server/services/matter/node_modules/@matter/node/src/endpoint/Endpoint.ts:896:21)
at initializer (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:289:80)
at invokeInitializer (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:598:30)
at Construction.start (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:290:17)
at Factory.create (/src/server/services/matter/node_modules/@matter/node/src/node/client/Peers.ts:495:27)
at Peers.initialize (/src/server/services/matter/node_modules/@matter/node/src/node/client/Peers.ts:108:25)
at ServerNode.get peers [as peers] (/src/server/services/matter/node_modules/@matter/node/src/node/ServerNode.ts:168:29)
at ChangeNotificationService.#beginPeerObservation (/src/server/services/matter/node_modules/@matter/node/src/node/integration/ChangeNotificationService.ts:112:27)
at /src/server/services/matter/node_modules/@matter/node/src/node/integration/ChangeNotificationService.ts:35:50
at BasicObservable.emit (/src/server/services/matter/node_modules/@matter/general/src/util/Observable.ts:377:26)
at NodeLifecycle.change (/src/server/services/matter/node_modules/@matter/node/src/endpoint/properties/EndpointLifecycle.ts:226:32)
at onReady (/src/server/services/matter/node_modules/@matter/node/src/endpoint/properties/Behaviors.ts:264:38)
at ServerNode.initialize (/src/server/services/matter/node_modules/@matter/node/src/node/ServerNode.ts:188:9)
2026-03-23T11:20:33+0100 <warn> service.start.js:44 (Service.start) Unable to start service matter [crashed-dependency] MatterController unavailable due to initialization error
at crashedError (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:623:32)
at handleRejection (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:325:69)
Caused by: [crashed-dependency] matter-controller-data.peer2 initialization failed
at Object.assertActive (/src/server/services/matter/node_modules/@matter/general/src/util/Lifecycle.ts:48:23)
at Construction.assert (/src/server/services/matter/node_modules/@matter/general/src/util/Construction.ts:298:23)
at Behaviors.#backingFor (/src/server/services/matter/node_modules/@matter/node/src/endpoint/properties/Behaviors.ts:736:41)
at Object.get [as commissioning] (/src/server/services/matter/node_modules/@matter/node/src/endpoint/properties/Behaviors.ts:799:32)
at ClientNode.maybeStateOf (/src/server/services/matter/node_modules/@matter/node/src/endpoint/Endpoint.ts:225:22)
at Peers.get (/src/server/services/matter/node_modules/@matter/node/src/node/client/Peers.ts:184:46)
at MatterController.#migrateNodeData (/src/server/services/matter/node_modules/@project-chip/matter.js/src/MatterController.ts:695:45)
at /src/server/services/matter/node_modules/@project-chip/matter.js/src/MatterController.ts:399:17
J’ai envoyé l’erreur au mainteneur, je te tiens au courant
Je remets mon message ici pour s’en souvenir, le mainteneur de matter.js me demande une archive de ton dossier matter (/var/lib/gladysassistant/matter dans Gladys), ça va lui permettre de rejouer la migration et de voir ce qui crash dans ton cas.
Salut @pierre-gilles
je viens de tester ta dernière build à l’instant et j’ai du mieux sur mon intégration Matter.
Premièrement, je vois de nouveau le noeud matterbridge dans les paramètres de Matter !
Mes volets somfy sont passés déconnectés. J’ai pu les « récupérer » via le partage d’un des volets depuis Apple Maison sur iOS : j’ai mis le code de partage et ensuite mes appareils sont passés en Mettre à jour (que j’ai appliquée) mais le pilotage n’est pas fonctionnel (pas grave pour le moment).
Ensuite j’ai essayé de réintégrer mon interrupteur SONOFF (qui n’apparait toujours pas dans les noeuds Matter) : partage du code depuis HA, ajout dans Gladys et problème :
Est-ce que tu as les logs de Gladys au moment du démarrage du container ?
Cette version de Matter.js introduit pas mal de changements breaking et lance une migration des fichiers. Peut-être que, comme @prohand, tu as rencontré des erreurs lors de cette migration, ce qui aurait pu entraîner la perte de tes appareils ?
Tu ne les vois vraiment nul part ? Même pas dans « Paramètres » → « Noeuds Matter » ?
Aucunes nouvelles non ! Je viens de le relancer, ça fait 1 semaine.
Si besoin, on créera une issue Github côté matter.js.
Ok, est-ce que tu as eu des logs particulières quand tu as lancé le container pour la première fois ? Dans la dernière version de Matter.js, il y a une migration de fichier, et c’est peut-être ça qui a échoué. Si tu as les logs je peux les transmettre au mainteneur de Matter.js !
Bon, j’ai pris le taureau par les cornes et j’ai essayé de corriger le bug moi-même
Le mainteneur m’a bien aidé à identifier le problème, et on pense avoir trouvé !
J’ai ouvert une PR sur le repo Matter.js :
Je vais aussi backporter le correctif sur la version 0.16.x pour qu’on puisse en bénéficier rapidement, sans attendre la sortie de la 0.17 qui n’est pas prévue avant environ deux semaines.