Aktualisierung von Matter.js auf 0.16

Hallo @pierre-gilles,

Kein Problem, ich bin geduldig :slight_smile:
Ich bevorzuge eine Arbeit, die Zeit braucht und gut gemacht ist :wink:

Ich kann den Test mit funktionierendem Matterbridge mit der stabilen Version von Gladys durchführen, dann bin ich auf die Version umgestiegen, die du angibst:

image

Und ich habe das gleiche Problem.

Ich sende dir die Logs per PN

Danke für das Feedback, tatsächlich habe ich eine Rückmeldung vom Maintainer von matter-js erhalten und es gibt tatsächlich einen Bug im Parameter autoConnect: true der Bibliothek.

Er hat einen Fix hier veröffentlicht:

Und er hat mir einen Tipp gegeben, um das Problem in der Zwischenzeit zu beheben!

Ich halte dich auf dem Laufenden, sobald ich einen neuen funktionierenden und getesteten Build habe :slight_smile:

Okay, ich habe heute Morgen einen neuen PR gemacht, und tatsächlich, mit dem funktionierenden autoConnect ändert sich alles, ich konnte 50% des Codes, den ich für diese Migration geschrieben hatte, löschen :smiley:

Ein neuer Build ist unter einem neuen Tag verfügbar:

gladysassistant/gladys:upgrade-matter-latest

Ich habe die Gelegenheit genutzt, um einige praktische Verbesserungen vorzunehmen:

1/ In den Logs werden die Warnmeldungen, wenn ein Gerät noch nicht zu Gladys hinzugefügt wurde, nun in einer einzigen Zeile auf der Log-Ebene « info » angezeigt, da es sich dabei nicht um einen Fehler, sondern nur um eine Warnung handelt:

2/ Das Aktualisieren der Liste der Matter-Geräte, das bei großen Matter-Netzwerken mit nicht verfügbaren Geräten manchmal lange dauert, habe ich als nicht blockierende Operation für den Start von Gladys gemacht, um zu vermeiden, dass sich die Startzeit von Gladys verlängert.

@prohand kannst du es nochmal testen?

Der neue PR:

Danke :slight_smile:

Ich habe es gerade getestet und es scheint immer noch ein Problem zu geben, da alles offline angezeigt wird.
Nach der Migration sehe ich 3 Matter-Knoten:

Ich schicke dir die Logs per PN.

Vielleicht gibt es noch Reste von meinen verschiedenen Tests.
Falls nicht, müsste ich Matter komplett löschen und von vorne beginnen, indem ich matterbridge so einbinde, als würde ich mit der letzten stabilen Version von Gladys neu installieren, und dann upgrade-matter-latest verwenden.

Danke für den Test und die Logs, das hilft mir sehr!

Du hast ein Gerät, das nicht erreichbar ist, und dadurch bricht der Rest der Integration zusammen. Ich füge Code hinzu, damit das nicht passiert, und baue dir einen Build :slight_smile:

Kleine Frage: Auf welcher Architektur testest du: amd64 oder arm64? Die ARM-Builds dauern länger, also wenn es amd64 ist, baue ich dir einen Docker-Build nur für amd64, das spart Zeit :slight_smile:

Das ist amd64 :slight_smile:
Danke

Neues Build mit Fix verfügbar unter:

gladysassistant/gladys:upgrade-matter-latest

Ich sehe die Matter-Knoten nicht mehr beim Aktualisieren.
Ich habe das Gefühl, dass die Migration nicht stattfindet.
Ich schicke dir die Logs per PN :wink:

Der Fehler ist ziemlich klar, es ist ein Bug in der matter.js-Bibliothek!

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

Ich habe den Fehler dem Maintainer gemeldet, ich halte dich auf dem Laufenden

Ich poste meine Nachricht hier noch einmal, damit wir uns daran erinnern: Der Maintainer von matter.js bittet um ein Archiv deines matter-Ordners (/var/lib/gladysassistant/matter in Gladys). Das wird ihm ermöglichen, die Migration erneut durchzuführen und zu sehen, was in deinem Fall abstürzt.

Danke!

Ich schicke dir den Ordner per PN :slight_smile:

Hallo @pierre-gilles
ich habe gerade deine letzte Build getestet und meine Matter-Integration funktioniert jetzt besser.

Erstens sehe ich den Matterbridge-Knoten wieder in den Matter-Einstellungen!
Meine Somfy-Rollos waren offline. Ich konnte sie über das Teilen eines Rollos von Apple Home auf iOS „wiederherstellen“: Ich habe den Freigabecode eingegeben und dann sind meine Geräte auf Aktualisieren umgestellt (was ich angewendet habe), aber die Steuerung funktioniert nicht (ist aber im Moment nicht schlimm).

Dann habe ich versucht, meinen SONOFF-Schalter wieder zu integrieren (der immer noch nicht in den Matter-Knoten erscheint): Teilen des Codes von HA, Hinzufügen in Gladys und Problem:


Mein großes Problem ist, dass ich nicht weiß, wie ich dieses Gerät löschen kann, das ich nirgends sehe.

@pierre-gilles Hast du Neuigkeiten vom Entwickler von Matter.js?

Danke, dass du @mutmut getestet hast!

Hast du die Logs von Gladys zum Zeitpunkt des Container-Starts?

Diese Version von Matter.js führt viele breaking changes ein und startet eine Migration der Dateien. Vielleicht hast du, wie @prohand, Fehler während dieser Migration erlebt, was zum Verlust deiner Geräte geführt haben könnte?

Siehst du sie wirklich nirgends? Nicht einmal unter « Einstellungen » → « Matter-Knoten »?

Keine Neuigkeiten! Ich habe ihn gerade wieder kontaktiert, das ist jetzt eine Woche her.

Falls nötig, erstellen wir ein Issue auf GitHub für matter.js.

Ich habe heute Morgen Neuigkeiten erhalten, @prohand ich halte dich auf dem Laufenden, sobald ich etwas Neues habe :slight_smile:

nichts, gar nichts, ich sehe nur meinen Matterbridge-Knoten :confused:

Okay, hast du besondere Logs erhalten, als du den Container zum ersten Mal gestartet hast? In der letzten Version von Matter.js gibt es eine Dateimigration, und vielleicht ist das gescheitert. Wenn du die Logs hast, kann ich sie an den Maintainer von Matter.js weiterleiten!

Immer noch keine Neuigkeiten, ich habe ein Ticket auf Github erstellt, damit er es nicht vergisst :slight_smile:

Okay, ich habe die Sache in die Hand genommen und versucht, den Bug selbst zu beheben :grinning_face_with_smiling_eyes:

Der Maintainer hat mir gut geholfen, das Problem zu identifizieren, und wir glauben, wir haben es gefunden!

Ich habe einen PR auf dem Matter.js-Repo eröffnet:

Ich werde den Fix auch auf die Version 0.16.x backporten, damit wir schnell davon profitieren können, ohne auf die Veröffentlichung der 0.17 warten zu müssen, die erst in etwa zwei Wochen geplant ist.

Der Backport: