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.