Eigenschaften

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 Luftfeuchtigkeit eines Google Nest Thermostats enthalten.

Merkmale und Felder können mit einem GET-Aufruf an den gewünschten API-Endpunkt aufgerufen werden:

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.device-type",
  "traits" : { ... },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

Gerätetypen

Die von der SDM API zurückgegebene sdm.devices.types.device-type sollte nicht verwendet werden, um die Funktionalität des tatsächlichen Geräts abzuleiten oder darauf zu schließen, dem sie zugewiesen ist. Es gibt keine Garantie dafür, dass ein Gerätetyp für ein bestimmtes Gerät stabil bleibt, da der SDM API immer mehr Funktionen hinzugefügt werden. Verwende stattdessen die zurückgegebenen Traits für das Gerät.

parentRelations

Das parentRelations-Objekt stellt die übergeordnete Ressource der aktuellen Ressource dar, entweder eine Struktur oder ein Raum. Der Anzeigename entspricht dem Feld customName desInfo-Trait für Geräte mit einem übergeordneten Gebäude oder demRoomInfo-Trait für Geräte mit einem übergeordneten Raum.

Befehle

Befehle sind Anfragen, die mit einem Merkmal verknüpft sind. Das kann beispielsweise das Ändern des aktuellen Modus oder des Temperatur-Sollwerts auf einem Google Nest Thermostat sein.

Ein Befehl wird durch einen executeCommand-API-Aufruf gesendet:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "command-name",
  "params" : {
    "field" : "value"
  }
}

Die meisten Antworten auf einen Befehl sind einfach „Erfolg“ oder „Fehler“. In den einzelnen Trait-Leitfäden finden Sie Beispiele für die Verwendung bestimmter Befehle.

Ereignisse

Ereignisse sind asynchron und werden von Google Cloud Pub/Sub in einem einzelnen Thema pro Project ID verwaltet.

Ereignisse werden standardmäßig für jede Änderung des Werts eines Attributfelds gesendet. Sie können auch als Reaktion auf bestimmte Geräteaktionen oder Änderungen bei Ressourcenzuweisungen gesendet werden. Weitere Informationen finden Sie unter Ereignisse.

Attributkategorien

Struktur

Attribute
Info
sdm.structures.traits.Info
Dieses Attribut gehört zu jeder Struktur für strukturbezogene Informationen.
RoomInfo
sdm.structures.traits.RoomInfo
Dieses Attribut gehört zu jedem Raum für raumbezogene Informationen.

Gerät

Attribute
Konnektivität
sdm.devices.traits.Connectivity
Dieses Merkmal gehört zu allen Geräten, die Konnektivitätsinformationen haben.
Lüfter
sdm.devices.traits.Fan
Dieses Merkmal gehört zu allen Geräten, die das System zur Steuerung des Lüfters haben.
Luftfeuchtigkeit
sdm.devices.traits.Humidity
Dieses Merkmal gehört zu allen Geräten, die über einen Sensor zur Messung der Luftfeuchtigkeit verfügen.
Info
sdm.devices.traits.Info
Dieses Merkmal gehört zu jedem Gerät für gerätebezogene Informationen.
Einstellungen
sdm.devices.traits.Settings
Dieses Merkmal gehört zu jedem Gerät, das Informationen zu gerätebezogenen Einstellungen enthält.
Temperatur
sdm.devices.traits.Temperature
Dieses Merkmal gehört zu allen Geräten, die über einen Sensor zur Messung der Temperatur verfügen.

Thermostat

Attribute
ThermostatEco
sdm.devices.traits.ThermostatEco
Dieses Merkmal gehört zu Gerätetypen von THERMOSTAT, die ECO-Modi unterstützen.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Dieses Attribut gehört zu Gerätetypen des Typs THERMOSTAT, die HLK-Details melden können.
ThermostatMode
sdm.devices.traits.ThermostatMode
Dieses Attribut gehört zu Gerätetypen des Typs THERMOSTAT, die verschiedene Thermostatmodi unterstützen.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Dieses Attribut gehört zu Gerätetypen von THERMOSTAT, die das Festlegen der Zieltemperatur und des Temperaturbereichs unterstützen.

Kamera

Attribute
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Dieses Merkmal gehört zu allen Geräten, die das Herunterladen einer Clip-Vorschau unterstützen.
CameraEventImage
sdm.devices.traits.CameraEventImage
Dieses Merkmal gehört zu allen Geräten, die die Generierung von Bildern aus Ereignissen unterstützen.
CameraImage
sdm.devices.traits.CameraImage
Dieses Attribut gehört zu allen Geräten, die das Aufnehmen von Bildern unterstützen.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Dieses Merkmal gehört zu allen Geräten, die Livestreaming unterstützen.
CameraMotion
sdm.devices.traits.CameraMotion
Dieses Merkmal gehört zu allen Geräten, die Ereignisse zur Bewegungserkennung unterstützen.
CameraPerson
sdm.devices.traits.CameraPerson
Dieses Merkmal gehört zu allen Geräten, die Ereignisse zur Personenerkennung unterstützen.
CameraSound
sdm.devices.traits.CameraSound
Dieses Merkmal gehört zu allen Geräten, die Ereignisse zur Geräuscherkennung unterstützen.

Türklingel

Attribute
DoorbellChime
sdm.devices.traits.DoorbellChime
Dieses Merkmal gehört zu allen Geräten, die einen Türklingelton und zugehörige Ereignisse beim Drücken der Klingel unterstützen.