Ein Trait in der SDM API umfasst Felder, Befehle und Ereignisse.
Felder
Felder sind Werte mit gängigen Datentypen wie einer Zahl oder einem String. Ein Feld kann beispielsweise den aktuellen Modus oder die Umgebungsfeuchtigkeit eines Google Nest Thermostats enthalten.
Merkmale und Felder können mit einem GET-Aufruf an den gewünschten API-Endpunkt angezeigt werden:
Die von der SDM API zurückgegebene sdm.devices.types.device-type darf nicht verwendet werden, um die Funktionen des tatsächlichen Geräts zu ermitteln oder abzuleiten, dem sie zugewiesen ist. Es gibt keine Garantie dafür, dass ein Gerätetyp für ein bestimmtes Gerät stabil bleibt, wenn der SDM API weitere Funktionen hinzugefügt werden. Verwende stattdessen die zurückgegebenen Merkmale für das Gerät.
parentRelations
Das Objekt parentRelations stellt die übergeordnete Ressource der aktuellen Ressource dar, entweder ein Gebäude oder einen Raum. Der Anzeigename entspricht dem Feld customName des AttributsInfo für Geräte mit einem übergeordneten Gebäude oder dem AttributRoomInfo für Geräte mit einem übergeordneten Raum.
Befehle
Befehle sind Anfragen, die mit einem Merkmal verknüpft sind. Beispiel: Ändern des aktuellen Modus oder des Temperatursollwerts an einem Google Nest Thermostat.
Ein Befehl wird über einen executeCommand API-Aufruf gesendet:
Die meisten Antworten auf einen Befehl sind einfach erfolgreich oder nicht erfolgreich. In den einzelnen Anleitungen zu den Eigenschaften finden Sie Beispiele für die Verwendung von Befehlen.
Ereignisse
Ereignisse sind asynchron und werden von Google Cloud Pub/Sub in einem einzigen Thema pro Project -ID verwaltet.
Bei jeder Änderung des Werts eines Merkmalfelds werden standardmäßig Ereignisse gesendet. Sie können auch als Reaktion auf bestimmte Geräteaktionen oder Änderungen an Ressourcenzuweisungen gesendet werden. Weitere Informationen finden Sie unter Ereignisse.