Ich verwende ihr Plugin matterbridge-example-dynamic-platform nicht, es ist wirklich praktisch, es generiert Dutzende GerÀte aller vorhandenen Typen, das ermöglicht es, viele GerÀte zu testen!
Ich habe ein Bild gepusht, um einen kleinen Bug zu beheben. In einigen FÀllen hatte ich GerÀte mit leeren deviceData, was die Integration kaputt gemacht hat
Allerdings kann ich die Steckdosen in Matterbridge gut steuern, also gute Nachricht, alles funktioniert!
Es ist nur das GerĂ€t « CookTop », das ich nicht steuern kann, aber ich frage mich, ob es nicht einfach nur ein Sensor istâŠ
Da es sich um Kochfelder handelt, können sie nur auf AUS gesteuert werden, nicht auf EIN (was sehr gefÀhrlich wÀre!). Das ermöglicht es, sie nur aus der Ferne auszuschalten
Okay, etwas Neues zu implementieren, aha, aber gut, ich glaube nicht, dass es so viele GerĂ€te auf dem Markt dafĂŒr gibt, also ist es nicht meine PrioritĂ€t.
Ich habe gerade ein neues Bild mit der Verwaltung der Thermostate (Heizung + Klimaanlage) veröffentlicht. Bisher verwaltet es die Ziel-Temperatur sowie das Ein- und Ausschalten
Eine ausgezeichnete Funktion! Ich sehe die Nummern der Endpoint in den Namen der hinzuzufĂŒgenden GerĂ€te und der hinzugefĂŒgten.
Allerdings habe ich gerade das Somfy-Plugin in matterbridge gelöscht und die gepaarten GerÀte sind immer noch vorhanden
Danach habe ich das Plugin neu installiert und habe nun neue Endpoint-Nummern, ABER Gladys hat die alten Nummern fĂŒr die gepaarten GerĂ€te beibehalten.
Ich habe das Hoch/Runter getestet und es funktioniert nicht.
Ich habe diesen matterbridge stillgelegt, die gepaarten Somfy-GerÀte sind tatsÀchlich verschwunden.
Ich habe matterbidge hinzugefĂŒgt und die Somfy-GerĂ€te sind wieder aufgetaucht, mit ihren neuen Endpoints, und meine gesicherten GerĂ€te sind nicht mehr mit etwas verbunden :(, ich muss sie löschen und alles neu machen.
Soweit ich sehen konnte (mit dem Somfy-Plugin), Àndern sich die Endpoint-Nummern bei jeder Neuinstallation, wie du sagst, aber die serialNumber und uniqueId sind jedes Mal identisch. Ich weià nicht, ob das ein Ansatz sein könnte.
Es sollte auch einen Spinner geben, wenn man ein GerÀt stilllegt, denn das Stilllegen eines matterbridge kann Zeit in Anspruch nehmen und man weià nicht, ob es lÀuft oder nicht.
Das reicht leider nicht aus, die uniqueId gehört zum âElternâ-GerĂ€t von Matter, und in diesem GerĂ€t kann ich mehrere âChild_Devicesâ mit jeweils einer Liste von Funktionen haben.
Es gibt keinen Identifikator darunter, der sich nicht Àndert.
Ich wÀre neugierig zu sehen, was auf einem anderen Matter-Controller passiert. Könntest du das gleiche Verhalten auf iOS oder Google Home testen?
Ich habe mehrere Versuche unternommen, indem ich ĂŒber Matterbridge von âbridgeâ zu âchildbridgeâ gewechselt bin. Ja, natĂŒrlich Ă€ndert sich der Endpunkt, aber die Endpunkte der Funktionen sind immer in der gleichen Reihenfolge, also der Endpunkt des GerĂ€ts + 1 usw. Daher solltest du sie eigentlich wieder zusammenpaaren können, aber auf eine andere Art und Weise.
FĂŒr mich bleibt es dabei, dass:
die node_id ein Parameter ist => der sich Àndern kann
der Endpunkt ein Parameter ist => der sich Àndern kann.
Wenn du fĂŒr die external_id folgendes nimmst:
GerĂ€t => die Seriennummer, falls verfĂŒgbar, oder die unique_id, falls verfĂŒgbar, oder etwas anderes ⊠(falls nichts anderes verfĂŒgbar ist, musst du darauf hinweisen, dass die historischen Daten bei einer erneuten Paarung verloren gehen können)
Funktionen => external_id des GerĂ€ts + « -1 » fĂŒr den ersten Endpunkt des GerĂ€ts, « -2 » fĂŒr den zweiten usw.
Normalerweise gibt es keinen Grund, warum du sie nicht wieder zuordnen könntest, und du aktualisierst die Parameter « node_id » und « endpoint » fĂŒr jedes der GerĂ€teâŠ
Du stĂŒtzt dich auf die Nutzung von Matterbridge, sie machen ihr eigenes Ding intern, aber das ist nicht reprĂ€sentativ fĂŒr das Matter-Protokoll als Ganzes, das reicht nicht aus, um Schlussfolgerungen zu ziehen
Ich glaube nicht, dass der von dir vorgeschlagene Ansatz dem Matter-Standard entspricht, und ich habe noch keine andere Implementierung im Matter-Ăkosystem gesehen, die auf diese Weise funktioniert.
Das heiĂt aber nicht, dass du in einem Punkt recht hast: Man könnte dem Benutzer vorschlagen, ein neues GerĂ€t mit einem alten zu verknĂŒpfen, vorausgesetzt, beide haben genau dieselben Funktionen in derselben Reihenfolge.
Aber das ist nicht immer möglich, denn:
Ein physisches GerÀt kann Updates erhalten und im Laufe der Weiterentwicklung des Protokolls neue Funktionen anbieten.
Im Fall von Matterbridge kann die Software selbst weiterentwickelt werden und bereits integrierten GerĂ€ten neue Funktionen hinzufĂŒgen.
Ich werde das Thema trotzdem vertiefen, um zu sehen, wie Apple oder Google diesen Fall handhaben. Mein Ziel bleibt es, den Matter-Standard so streng wie möglich einzuhalten.
@Terdious ich habe einen Matching-Ansatz (zum Ersetzen von GerÀten) auf Basis des eindeutigen Paares unique_id + Position getestet, aber das Risiko besteht wirklich darin, ein GerÀt in ein anderes GerÀt zu verschmelzen. Ich habe nichts in der Spezifikation gesehen, das diese Funktionsweise garantiert.
Solange es sich nur um ein Matching zum Ersetzen handelt, stört es mich weniger. Bei der external_id behalten wir den aktuellen Ansatz, der der offizielle Ansatz ist.
Eine Idee dazu: Was hÀltst du von einem Button, mit dem man ein GerÀt automatisch dekommissionieren und neu paaren könnte? WÀre das machbar?
Das wĂŒrde ein Refresh der gepaarten GerĂ€te ermöglichen. Das könnte dann nur ĂŒber Matterbridge verfĂŒgbar sein, nicht unbedingt fĂŒr einzelne GerĂ€te wie deine aktuellen (da ich keinen Sinn darin sehe).
Nein, nicht wirklich, denn in diesem Fall gibt es keine eindeutige Kennung auf dieser Ebene.
(Und ich sehe euch schon kommen, nein, « VendorID » und « ProductID » sind keine eindeutigen Kennungen )
Im Fall von Matterbridge ist die eindeutige Kennung auf Ebene des Child-GerĂ€ts, das ein GerĂ€t darstellt, daher kann ich dem Benutzer ein Matching auf dieser Ebene vorschlagen! Ich denke, das wird nicht perfekt funktionieren, aber es ist besser als nichtsâŠ
Ich nutze die Gelegenheit, um dich daran zu erinnern
Und mit einem ping6, denkst du, dass das fĂŒr Tests besser funktionieren wĂŒrde, anstatt das inet6 der Netzwerkschnittstelle zu ĂŒberprĂŒfen?
Wenn ich IPv6 auf dem Syno deaktiviere, verschwindet tatsĂ€chlich inet6 beim ifconfig auf dem Syno (nicht im Terminal des Docker-Gladys, ich kann es nicht ĂŒberprĂŒfen, da keine Netzwerkbefehl installiert ist).
Also habe ich wirklich Dinge, die ich nicht mehr verstehe und die meine Docker/Netzwerk-Kenntnisse ĂŒbersteigen.
Auf meinem Syno habe ich also IPv6 im Netzwerk aktiviert:
Du machst das gut!! (allerdings habe ich kein Google Home)
Also, ich habe gerade auf iOS getestet:
Erstellung eines Zuhauses in der Haus-App
Pairing mit Matterbridge ĂŒber QR-Code: OK
Automatische Erkennung der Somfy-GerĂ€te und HinzufĂŒgen zu Haus in verschiedenen RĂ€umen und Erstellung einer Open/Close-Szene
Tests zum Hoch- und Runterfahren: OK (ich finde die Steuerung der Slider nicht so gut)
Test der Szene: OK
Deaktivierung des Somfy-Plugins in Matterbridge: ALLE GerÀte (gespeichert) verschwinden aus Haus sowie die zugehörige Szene
Reaktivierung des Plugins: ALLE Somfy-GerĂ€te erscheinen wieder und werden alle in einem einzigen Raum standardmĂ€Ăig (Garage) platziert, aber die Szene ist nicht zurĂŒckgekehrt
Test Open/Close: OK
Löschen des Somfy-Plugins in Matterbridge: ALLE GerÀte (gespeichert) verschwinden aus Haus
Neuinstallation des Somfy-Plugins (also neuer Endpunkt): ALLE Somfy-GerĂ€te erscheinen wieder und werden alle in einem einzigen Raum standardmĂ€Ăig (Garage) platziert
Test Open/Close: OK
Interessanterweise hat das matterbridge-somfy-Plugin die alten Endpunkte âwiedergefundenâ und scheint sie mit den neuen abzugleichen:
Ich dekommissioniere und fĂŒge Matterbridge in Gladys wieder hinzu: Die Namen behalten die alten Endpunkte, aber es scheint, dass eine Synchronisation stattgefunden hat, da mein Testrollo (Wohnzimmer PF) mich auffordert, einen Raum zum Speichern auszuwĂ€hlen, obwohl ich âHausâ angegeben hatte. Allerdings funktioniert das Ăffnen/SchlieĂen nicht.
Ich dekommissioniere erneut und fĂŒge es wieder hinzu⊠nun, ich versuche es, aber es funktioniert nicht mehr
Ich bin mir nicht sicher, ob ich die Frage verstehe? Ich entwickle auf einem Mac und mein Gladys lÀuft auf einem Beelink mini S12 Pro
Danke fĂŒr den Test!
Okay, das habe ich vermutet, iOS behĂ€lt keine Spur der GerĂ€te und macht daher kein Matching alt â neu, es löscht alles. Das finde ich etwas brutal Aber im Moment gibt es auf diesen Plattformen keine Historie (keine grafische Ansicht), also kĂŒmmern sie sich nicht so sehr um Legacy, was nicht unser Fall ist.
Ăbrigens, ich hatte meine Verbesserungen von heute Morgen noch nicht gepusht, also hast du die Version von Samstagabend getestet
Ich habe gerade ein neues Docker-Build gepusht, dieses Mal mit automatischem Matching basierend auf dem Paar « UNIQUE_ID + Position » (eine unvollkommene Lösung, wie ich betone, aber « gut genug »)
Trotzdem solltest du es immer noch in der Liste unter « Einstellungen » sehen, oder? Das Decommissioning hat nicht funktioniert