Geräte in Matter haben ein klar definiertes Datenmodell (DM), das eine hierarchische Modellierung der Funktionen eines Geräts darstellt. Ganz oben Ebene dieser Hierarchie gibt es ein Device (Gerät).
Geräte und Endpunkte
Alle Geräte, einschließlich Smartphones und Home-Assistenten, bestehen aus Knoten1. Ein Node ist eine eindeutig identifizierbare und adressierbare Ressource in einem das ein Nutzer als Ganzes wahrnehmen kann. Netzwerkkommunikation in Matter beginnt und endet bei einem Knoten.
Knoten sind eine Sammlung von Endpunkten. Jeder Endpunkt umschließt einen Feature-Satz. So kann sich ein Endpunkt z. B. auf eine Beleuchtungsfunktion beziehen, während ein anderer bezieht sich auf die Bewegungserkennung, ein anderer bezieht sich auf Dienstprogramme wie als Geräte-OTA aus.
Knotenrollen
Eine Knotenrolle umfasst eine Reihe verwandter Verhaltensweisen. Jeder Knoten kann einen oder mehrere Rollen. Zu den Knotenrollen gehören:
- Commissioner: Ein Knoten, der Folgendes ausführt: Inbetriebnahme.
- Controller: Ein Knoten, der einen oder mehrere Knoten steuern kann. Beispiele: Google Home app (GHA), Google Assistant und Google Nest Hub (2nd gen). Einige z. B. das Ein-/Aus-Licht Switch und den Controller Rolle.
- Controlee: Ein Knoten, der von einem oder mehreren Knoten gesteuert werden kann. Knoten. Die meisten Gerätetypen können ein Controlee sein, mit Ausnahme einiger Gerätetypen die die Rolle „Controller“ haben, z. B. die Ein-/Aus-LED Schalter. Ein-/Aus-Licht Switch kann nur ein Controller sein. Es darf kein Controlee sein.
- OTA-Anbieter: Ein Knoten, der OTA-Softwareupdates bereitstellen kann.
- OTA-Anfragesteller: Ein Knoten, der OTA-Software anfordern kann Aktualisierungen.
Cluster
Innerhalb eines Endpunkts hat ein Knoten einen oder mehrere Cluster. Dies sind weitere in der Gerätehierarchie ein, da spezifische Funktionen wie An/Aus-Cluster auf einer intelligenten Steckdose oder einem Level-Steuerung-Cluster auf einem dimmbaren Gerät Light-Endpunkt.
Ein Knoten kann auch mehrere Endpunkte haben, die jeweils eine Instanz derselben Funktion erstellen. Beispielsweise kann eine Leuchte eine unabhängige Steuerung der Einzelne Lampen oder eine Mehrfachsteckdose können die Steuerung einzelner Steckdosen offen lassen.
Attribute
Auf der letzten Ebene finden Sie die Attribute. Das sind Status, die der Knoten hat. z. B. das Attribut aktuelle Ebene eines Clusters für Ebenensteuerung. Attribute können als unterschiedliche Datentypen definiert werden, wie z. B. uint8, Strings oder Arrays.
Befehle
Neben Attributen haben Cluster auch Befehle. Das sind Aktionen, die durchgeführt werden kann. Sie entsprechen in der DM von Matter zu einen Remote-Prozeduraufruf. Befehle ähneln verb, z. B. das Schloss Cluster Türverriegelung. Befehle können Antworten und Ergebnisse generieren. in Matter sind solche Antworten auch als Befehle definiert, umgekehrt.
Ereignisse
Cluster können auch Ereignisse haben, die als Aufzeichnung vergangener Statusübergänge betrachtet werden können. Während Attribute die aktuellen Zustände darstellen, ein Journal der Vergangenheit und eine kontinuierlich zunehmende Zähler, Zeitstempel und Priorität. Sie ermöglichen die Erfassung von Zustandsübergängen sowie eine Datenmodellierung, mit Attributen zu erreichen ist.
Der Endpunkt 0 ist für Dienstprogramme reserviert. Dienstprogramm-Cluster sind spezifische Cluster, die Dienstfunktionen auf einem Endpunkt wie z. B. Erkennung, Adressierung, Diagnose und Softwareupdates. Im Gegensatz dazu Die Anwendungscluster unterstützen primäre Aktionen wie An/Aus oder Temperaturmessung.
Gerätetypen
Alle Clusterkombinationen, die als Gerät berücksichtigt werden sollten der Hersteller ein neues Gerät plant?
Gemäß der Matter-Spezifikation muss das Gerät einen oder mehrere Gerätetypen implementieren oder erweitern. Ein Gerätetyp ist eine Sammlung von obligatorische und optionale Cluster, die die Attribute der obersten Ebene eines physisches Gerät, z. B. Dimmbares Licht, Türschloss oder Videoplayer
Die Gerätetypen werden nicht durch Matter angegeben Hauptdokument der Spezifikation, aber durch ein zugehöriges Dokument: das Gerät Mediathek. Ebenso werden alle Anwendungscluster im Bereich Anwendungscluster Clusterbibliothek. Diese drei Dokumente finden Sie auf der Website für Connectivity Standards Alliance (Alliance)-Mitglieder.
Jeder Endpunkt, der einen Gerätetyp implementiert, muss die obligatorischen Cluster implementieren die diesen Gerätetyp definieren. Zusätzlich zu den obligatorischen Clustern können am Endpunkt weitere Cluster implementiert werden, einschließlich eines oder mehrerer der optionalen Cluster des Gerätetyps oder sogar Cluster, die nicht zum Gerätetyp gehören.
Clients und Server
Cluster können entweder ein Clientcluster oder ein Servercluster sein. Während ein Der Server ist zustandsorientiert und enthält Attribute, Ereignisse und Befehle. Ein Client ist zustandslos ist und für die Initiierung von Interaktionen mit einem Remote-Servercluster. Dadurch wird Folgendes ausgeführt:
- liest aus und schreibt in die Remote-Attribute.
- liest die Remote-Ereignisse.
- Aufruf der zugehörigen Remotebefehle.
Die DM ist innerhalb eines Knotens hierarchisch, die Beziehung zwischen den Knoten ist es jedoch nicht. Knoten in Matter haben keine Branche zwischen Controller/Peripheriegeräten oder Leader/Follower. Im Gegenteil, Beziehung ist horizontal: Jeder Cluster kann entweder Server oder Client sein. Daher kann ein Knoten im Hinblick auf verschiedene Cluster sowohl ein Server als auch ein Client sein. und Funktionalitäten.
Wir haben z. B. zwei Tischlampen: Knoten A und Knoten B. Beide Knoten implementieren den Gerätetyp Lampe ein/aus. Bei diesem Gerätetyp gibt es eine Ein/Aus-Schaltfläche Server: Cluster, der die jeweilige physische Lichtausgabe steuert.
Wie bei herkömmlichen Tischlampen haben auch unsere physischen Geräte einen Gerätetyp Lichtschalter für die lokalen Ein-/Aus-Schalter. Dieses Gerät Für diesen Typ muss ein Ein/Aus-Client-Cluster implementiert werden, damit er den Server steuern kann Cluster:
In diesem Beispiel ändert der On/Off-Clientcluster auf Knoten A die Attribute des On-/Off-Serverclusters auf Knoten A und Knoten B, während der Client von Knoten B Der Cluster ändert nur den Servercluster auf Knoten B selbst.
Im nächsten Abschnitt wird beschrieben, wie Client- und Servercluster interagieren: Interaktionsmodell.
Deskriptor-Cluster
Wie der Name schon sagt, führt der Deskriptorcluster-Server eine Selbstprüfung durch Informationen. Sie beschreibt den Endpunkt mit der folgenden Aufzählung:
- Servercluster.
- Clientcluster
- Gerätetypen
- Zusätzliche Endpunkte, die als Teile bezeichnet werden.
Für jeden Gerätetyp müssen Descriptor-Cluster implementiert werden. Die Wurzel Der Gerätetyp ist auf Endpunkt 0 definiert. Das Lesen seines Deskriptor-Clusters Sie bieten dem Kunden die Möglichkeit, die gesamte Baumstruktur der verfügbaren Endpunkte und führen entsprechende Vorgänge aus.
Geräte wie Telefon oder Hub können die Funktionen Informationen im Deskriptor-Cluster zur Modellierung des Geräts (Beleuchtung, Schalter, Pumpe, Thermostat) und bestimmte Funktionen, die von der jeweiligen Instanz implementiert wurden, des Geräts und zeigt dem Nutzer die richtige Benutzeroberfläche an.
Servercluster
Das Attribut ServerList
listet die Clusterserver im Endpunkt auf.
Clientcluster
Das Attribut ClientList
listet die Cluster-Clients im Endpunkt auf.
Liste der Gerätetypen
Das Attribut DeviceTypeList
ist eine Liste der vom
Endpunkt und die entsprechenden Versionen. Es muss mindestens ein Element enthalten sein
Gerätetyp.
Teileliste
Die PartsList
enthält die Liste der Endpunkte, die zur Implementierung dieses Geräts verwendet werden
Typ.
Die PartsList
von Endpunkt 0 (Stammknoten) enthält alle Endpunkte des Geräts mit Ausnahme von sich selbst (Endpunkt 0).
Der PartsList
anderer Endpunkte ist normalerweise leer. Beispiel:
Der Temperatursensor braucht nur einen Server-Cluster mit Temperaturmessung
sonst.
Andere Gerätetypen können in einer Baumstruktur aus mehreren Gerätetyp-Instanzen bestehen. Ein Videoplayer-Gerätetyp kann z. B. aus TV, Videoplayer, Lautsprecher und verschiedene Gerätetypen der Content-App, jeweils auf einem anderen Endpunkt.
-
Die Matter-Spezifikation legt fest, dass ein Gerät mehrere Knoten haben kann. Beispielsweise können Smartphones mehrere Apps haben, wobei jede App ein Knoten wechseln. Für diese Einführung enthalten alle Geräte auf einen einzelnen Knoten. Bei den meisten physischen Geräten ist dies voraussichtlich so, Muster zu ändern. ↩