Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Webschema

Webschema

Das Schema beschreibt das zugrunde liegende Datenmodell, das die Darstellung und Interpretation der von logischen oder physischen Geräten in einem Weave-System ausgegebenen Daten steuert.

Das Schema lautet:

  • Standardisiert - Es enthält formal genehmigte Definitionen von Funktionen, die unabhängig von der Implementierung eine konsistente Schnittstelle bieten. Beispielsweise verfügt eine im Schema dargestellte Glühbirne immer über Kernfunktionen wie Ein / Aus-Zustände und Aktionen oder Dimmstufen.
  • Zusammensetzbar - Ein Benutzer kann komplexe Ressourcen erstellen, die aus kleineren Bits genau definierter Funktionen bestehen. Ein Nest Detect enthält beispielsweise zwei Arten von Sensoren: Bewegung und Öffnen / Schließen. Die Funktionen für diese Sensortypen sind im Schema standardisiert und geräteübergreifend wiederverwendbar.
  • Erweiterbar - Ein Benutzer kann benutzerdefinierte Erweiterungen der Standardfunktionalität erstellen. Beispielsweise möchten Sie möglicherweise die Standardfunktionalität des Schemas für Bewegungssensoren um zusätzliche Funktionen für eine bestimmte Sicherheitsanwendung erweitern.
  • Versioniert - Alle Änderungen im Schema werden aus Gründen der Vorwärts- und Rückwärtskompatibilität versioniert.

Das Schema definiert drei Elemente: Merkmale, Schnittstellen und Ressourcen. Fast alle Funktionen im Nest-Ökosystem für den täglichen Betrieb sind im Schema definiert. Lassen Sie uns jedes Element genauer betrachten.

Züge

Ein Merkmal ist eine Einheit der Grundfunktionalität. Dies können allgemeine Gerätezustände oder -funktionen sein oder die Konfiguration beschreiben, die das Verhalten des Geräts beeinflusst. Ein einzelnes Merkmal kann vielen Geräten gemeinsam oder für einen Gerätetyp spezifisch sein.

Im Schema können Sie beispielsweise die folgenden Merkmale für die Verwendung in Nest-Geräten definieren:

Merkmal

Schnittstellen

Wir können die Zusammensetzbarkeit von Merkmalen erweitern, indem wir sie zusammenfassen, insbesondere wenn mehrere Merkmale eine neue, spezifische Funktion darstellen. Eine solche Gruppe von Merkmalen wird als Schnittstelle .

Beispielsweise kann eine Intercom-Schnittstelle Lautsprecher- und Mikrofonmerkmale umfassen:

Eigenschaften und Schnittstellen

Ressourcen

Eine Ressource repräsentiert eine logische oder physische Sache im Schema. Ein Nest Protect ist beispielsweise eine Ressource. So ist ein Nestwächter. Oder ein Benutzer oder eine Struktur wie das Zuhause des Benutzers.

Ressourcen umfassen eine Reihe von Merkmalen, die ihre Konfiguration, ihren Status und ihre Fähigkeiten zusammenfassen.

Die Beziehung zwischen Ressourcen, Schnittstellen und Merkmalen sieht folgendermaßen aus:

Ressourcen, Schnittstellen und Eigenschaften

Wie Sie sehen können, sind einige Merkmale, wie das Bewegungsmerkmal, verschiedenen Ressourcen gemeinsam. Einige Schnittstellen, wie die Intercom-Schnittstelle, sind auch verschiedenen Ressourcen gemeinsam. Merkmale, Schnittstellen und Ressourcen werden einmal im Schema definiert und für verschiedene Ressourcen und Geräte im Weave-System wiederverwendet.

Merkmalselemente

Merkmale werden weiter in drei Hauptelemente unterteilt: Eigenschaften, Befehle und Ereignisse. Schauen wir uns Beispiele für jedes Merkmalelement an.

Eigenschaften

Eigenschaften repräsentieren den Zustand eines Merkmals. Die Eigenschaften sind entweder schreibgeschützt oder schreibgeschützt.

Zum Beispiel:

  • Die Softwareversion ist eine Eigenschaft des Merkmals "Geräteidentität". Es ist eine allgemeine Eigenschaft, die die meisten Geräte haben. Nest-Thermostate, Kameras und Schutzfunktionen - alle haben ihre eigene Softwareversion.
  • Der Bolt State ist eine Eigenschaft des Bolt Lock-Merkmals, jedoch spezifisch für ein Gerät wie das Yale x Nest Lock. Sie würden zum Beispiel kein Riegelschloss an einem Nest-Thermostat finden.

Befehle

Befehle sind benutzerdefinierte Anforderungen für die Aktion eines Merkmals mit einer erwarteten Antwort. Sie werden üblicherweise als benutzerdefinierte Befehle bezeichnet und können auf bestimmte Statusänderungen für Eigenschaften erweitert werden. Zum Beispiel:

  • Bolt Lock Change ist ein benutzerdefinierter Befehl, der die Bolt State-Eigenschaft des Bolt Lock-Merkmals ändert.
  • Benutzer-Pincode festlegen ist ein benutzerdefinierter Befehl, mit dem eine neue Benutzer-Pincode-Eigenschaft des Merkmals Benutzer-Pincodes-Einstellungen erstellt oder aktualisiert wird.

Veranstaltungen

Ereignisse sind Aufzeichnungen von Ereignissen für ein Merkmal. Sie informieren einen Abonnenten über Änderungen der Eigenschaften von Merkmalen oder über andere Ereignisse wie ein Zurücksetzen des Systems.

Zum Beispiel kann das Bolt Actuator Zustandsänderungsereignis des Riegelschloss Merkmal informiert ein Teilnehmer über den aktuellen Stand von mehreren Riegelschlössern Eigenschaften sowie der Schauspieler, der zuletzt den Bolt Actuator State - Eigenschaft zu ändern verursacht. Alle diese Informationen werden als ein einziges Ereignis geliefert.

Webschema Beschreibung Sprache

Die Schemaeigenschaften, Schnittstellen und Ressourcen in Weave werden mithilfe einer domänenspezifischen Sprache (DSL) definiert und beschrieben, die die Syntax von Google Protocol Buffers v3 nutzt. Diese Sprache wird als WDL- (Weave Schema Description Language) bezeichnet .

WDL wird über einen Compiler ausgeführt, der verschiedene plattformspezifische Realisierungen und Codierungen generiert. Die Art des generierten Codes hängt von der Ressource ab:

  • Ziel C, Swift, Java, Scala - mobile Apps und Cloud-Dienste
  • C ++ mit Weave TLV-Codierungen - eingebettete Geräte und mobile Apps

Wir werden uns später eingehender mit WDL-Beispielen befassen.

Rekapitulieren

Was du gelernt hast:

  • Das Schema beschreibt das zugrunde liegende Datenmodell für ein Weave-System.
  • Das Schema definiert drei Elemente:
    • Merkmal Eine Einheit der Grundfunktionalität
    • Schnittstelle Eine Gruppe von Merkmalen, die eine neue, spezifische Funktion darstellen
    • Ressource Eine logische oder physische Sache
  • Merkmale umfassen Eigenschaften, Befehle und Ereignisse:
    • Eigenschaft Der Zustand einer Ressource Charakterzug
    • Befehle Benutzerdefinierte Anforderung für die Aktion eines Merkmals
    • Ereignis Aufzeichnung von Ereignissen für ein Merkmal
  • Das Schema wird mithilfe des WDL- (Weave Schema Description Language) definiert, der auf Google Protocol Buffers v3 basiert

Weitere Informationen finden Sie unter: