Matter
Referenz zum Treiber Matter: Inbetriebnahme über Bluetooth in das lokale Fabric, der Ablauf Gerät koppeln, die Identität des Knotens und Tags je Cluster.
Der Treiber Matter liest Anlagen mit Matter over Thread: vernetzte Sensoren, Steckdosen, Leuchten und ähnliche Geräte, die nach dem Standard Matter zertifiziert sind. Ganter Lab tritt als Matter-Controller mit eigenem lokalem Fabric auf: Es nimmt jedes Gerät einmal über Bluetooth Low Energy an diesem Rechner in Betrieb, übergibt ihm die Zugangsdaten Ihres vorhandenen Thread-Netzes und spricht von da an über dieses Netz mit ihm, durch Ihren Thread-Border-Router.
Das dreht die übliche Reihenfolge der Einrichtung um. Ein Matter-Gerät beginnt nicht bei Host und Port, sondern bei einem Kopplungsvorgang, und danach wird allein die feste Identität des in Betrieb genommenen Knotens gespeichert.
Was Sie vor dem Koppeln brauchen:
- Einen Adapter für Bluetooth Low Energy an diesem Rechner, eingeschaltet, und Windows muss Ganter Lab erlauben, ihn zu verwenden.
- Ein vorhandenes Thread-Netz mit einem Border Router und dessen vollständigen Active Operational Dataset. Ganter Lab führt Geräte in Ihr Netz ein; es kann keine Zugangsdaten dafür erfinden.
- Den Einrichtungscode des Geräts, aufgedruckt auf dem Gerät oder seiner Verpackung, und das Gerät im Kopplungsmodus.
Der Ablauf Gerät koppeln
Beim Treiber Matter bietet die Befehlsleiste Gerät koppeln an, wo andere Treiber Gerät hinzufügen anbieten. Er öffnet ein Formular mit drei Feldern:
| Feld | Was es ist | Format | Standard |
|---|---|---|---|
| Gerätename | Der änderbare Name, den das Gerät im Connector tragen wird. | Freitext | Matter device |
| Matter-Einrichtungscode | Der offizielle Kopplungscode zum Eintippen oder die vollständige QR-Nutzlast. Verdeckt eingegeben, mit einem Bedienelement zum Aufdecken. | Ein Code aus 11 oder 21 Ziffern (Bindestriche und Leerzeichen werden übergangen; die Prüfziffer wird geprüft) oder die vollständige QR-Nutzlast, die mit MT: beginnt. Eine QR-Nutzlast, die keine Inbetriebnahme über Bluetooth anbietet, wird abgelehnt, ebenso reservierte Passcodes und solche außerhalb des Bereichs. |
leer |
| Thread Operational Dataset | Der vollständige aktive Datensatz Ihres Thread-Netzes, von der Netzverwaltung oder vom Border Router. Verdeckt eingegeben, mit einem Bedienelement zum Aufdecken. | Hexadezimaler Text (Leerraum und ein Präfix hex: werden geduldet), entschlüsselt höchstens 254 Bytes. Es muss der vollständige Datensatz sein: Active Timestamp, Channel, Channel Mask, Extended PAN ID, Mesh-Local Prefix, Network Key, Network Name, PAN ID, PSKc und Security Policy müssen alle vorhanden sein, und ein unvollständiger oder fehlerhafter Datensatz wird abgelehnt, mit dem fehlenden Element benannt. |
leer |
Gerät koppeln bleibt gesperrt, bis alle drei Felder gefüllt sind. Während die Kopplung läuft, meldet das Formular ihre Stufe: Prüfen (Code und Datensatz werden geprüft), Suchen (das Gerät wird über Bluetooth gesucht), Koppeln (Anmeldung mit dem Einrichtungscode), Thread beitreten (die Netzkonfiguration wird gesendet, und es wird gewartet, bis das Gerät im Thread-Netz erscheint), Speichern (der in Betrieb genommene Knoten wird im lokalen Fabric festgehalten).
Abbrechen steht zur Verfügung, solange das physische Gerät noch nicht verändert wurde; sobald die Inbetriebnahme das Gerät verändert hat, sagt die Schaltfläche, dass Ganter Lab sicher zu Ende führt, und der Ablauf vollendet den Eintrag, statt einen halb in Betrieb genommenen Knoten zurückzulassen. Es läuft immer nur eine Kopplung; ein zweiter Versuch während einer laufenden wird abgelehnt.
Geheimnisse werden nie gespeichert. Der Einrichtungscode und der Thread-Datensatz leben nur im Formular, solange es offen ist; sie werden geleert, wenn die Kopplung endet, fehlschlägt oder abgebrochen wird, und nichts davon wird in die Konfiguration geschrieben. Gespeichert wird allein die Identität des Knotens.
Schlägt die Kopplung fehl, nennt die Meldung die Ursache: ein ungültiger Code oder Datensatz, fehlendes oder abgeschaltetes Bluetooth, ein Windows, das den Zugriff auf Bluetooth verweigert, kein passendes Gerät gefunden, ein Gerät, das den Einrichtungscode ablehnt, oder ein Gerät, das in Betrieb genommen wird, aber nie im Thread-Netz erscheint. Ein falscher Einrichtungscode wird als solcher benannt, die Antwort ist also, den aufgedruckten Code erneut zu lesen und das Gerät wieder in den Kopplungsmodus zu bringen.
Kommt ein Fehlschlag, nachdem die Anlage bereits in Betrieb genommen wurde, sagt die Meldung das und zeigt die Node-ID: Der Knoten bleibt im Fabric und lässt sich später mit Suchen hinzufügen, sobald er das Netz erreicht. Setzen Sie das Gerät in diesem Fall nicht zurück; nur eine Meldung, die sagt, dass nichts gespeichert wurde, bedeutet, dass die Anlage unberührt blieb.
Identität des Knotens
Ein gekoppeltes Gerät ist an die feste 64-Bit-Node-ID der Anlage gebunden, in seiner Karte Verbindung als 16 hexadezimale Ziffern neben dem Zustand des Geräts gezeigt, und nur gelesen. Der änderbare Anzeigename gehört Ihnen; die Node-ID nicht. Ein Gerät, dessen gespeicherte Identität sich nicht mehr lesen lässt, zeigt an ihrer Stelle Neue Kopplung nötig.
Weil die Identität die Node-ID ist, führen Matter-Geräte ihren Verbindungszustand unabhängig: Einen Knoten zu deaktivieren, zu löschen oder zu verlieren macht keinen anderen unerreichbar, und ein Gerät zu löschen gibt nur seine Nutzung der gesicherten Sitzung frei, es entfernt die Anlage nicht aus dem lokalen Fabric.
Gerätesuche
Suchen führt beim Treiber Matter die Knoten auf, die bereits in das lokale Fabric dieser Anwendung aufgenommen sind, ein Knoten, dessen Gerät gelöscht wurde (oder dessen Kopplung ohne Gerät endete), lässt sich also ohne neuen Vorgang wieder hinzufügen. Eine bereits konfigurierte Node-ID wird als solche gekennzeichnet, und Öffnen führt zum vorhandenen Gerät. Die Kandidaten der Gerätesuche tragen die Identität des Knotens und kein Geheimnis der Einrichtung. Der allgemeine Ablauf der Gerätesuche steht auf der Seite Connector.
Tags
Ein Matter-Tag hat kein Freitextfeld für die Adresse. Der Name des Tags ist der Name des
Clusters, der gelesen wird. Der Name muss dem Namen des Clusters entsprechen, wie ihn die
Matter-Spezifikation schreibt, mit Leerzeichen und Satzzeichen, ohne Rücksicht auf Groß- und
Kleinschreibung: On/Off, Level Control, Temperature Measurement. Weil der Name die
Adresse ist, darf er keinen Doppelpunkt enthalten; der Bereich lehnt einen ab und sagt es.
Ein Name, den kein Cluster trägt, liest als Fehler, der den unbekannten Cluster nennt. Der
Wert wird in den erklärten Datentyp des Tags gewandelt; ein Wert, den der erklärte Typ nicht
darstellen kann, liest ebenfalls als Fehler und nicht als Ersatzzahl.
Zwei Zahlenfelder sagen, wo am Gerät dieser Cluster gelesen wird. Ein Gerät bietet je steuerbarem Ausgang einen Endpunkt an, ab 1 nummeriert, eine zweikanalige Leuchte oder eine Steckdosenleiste wird also mit einem Endpunkt je Tag gelesen; Endpunkt 0 ist der Knoten selbst. Das Attribut ist, welcher Wert des Clusters gelesen wird, und 0 ist der eigene Wert des Clusters, was fast jeder Tag will.
| Feld | Wirkung | Werte | Standard |
|---|---|---|---|
| Name des Tags | Benennt den Tag und wählt den Matter-Cluster, der am Knoten gelesen wird. Kein Doppelpunkt. | Der ausgeschriebene Name des Clusters, z. B. On/Off |
Tag 1 |
| Ausgang (Endpunkt) | Welchen Ausgang des Geräts dieser Tag liest. | 0 und aufwärts; 1 ist der erste steuerbare Ausgang | 1 |
| Attribut | Welches Attribut des Clusters dieser Tag liest. | 0 und aufwärts; 0 ist der eigene Wert des Clusters | 0 |
| Datentyp | Der OPC UA-Typ, unter dem der Wert veröffentlicht wird. | Boolean, Int32, UInt32, Float, Double, String | Float |
| Abfrageintervall | Wie oft das Attribut gelesen wird, je Tag, wobei der Standard des Geräts (1000 ms) gilt, wo der Tag keinen nennt. | Millisekunden | Standard des Geräts |
Matter-Tags sind nur lesend: Das Feld für den Zugriff bietet keine schreibbare Wahl an, und Schreibvorgänge auf Attribute werden von der Laufzeit abgelehnt. Ein Matter-Gerät zu verändern (es zum Beispiel einzuschalten) ist ein Matter-Befehl, den Schreibvorgänge auf Tags nicht abbilden.