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

Merkmale und Felder können mit einem GET-Aufruf an den gewünschten API-Endpunkt angezeigt 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 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:

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

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.

Kategorien für Merkmale

Struktur

Eigenschaften
Info
sdm.structures.traits.Info
Diese Eigenschaft gehört zu jeder Struktur für strukturbezogene Informationen.
RoomInfo
sdm.structures.traits.RoomInfo
Dieses Merkmal gehört zu jedem Raum für raumbezogene Informationen.

Gerät

Eigenschaften
Konnektivität
sdm.devices.traits.Connectivity
Dieses Attribut gehört zu jedem Gerät mit Verbindungsinformationen.
Fan
sdm.devices.traits.Fan
Diese Eigenschaft gehört zu jedem Gerät, das über ein System zur Steuerung des Lüfters verfügt.
Luftfeuchtigkeit
sdm.devices.traits.Humidity
Dieses Attribut gehört zu jedem Gerät mit einem Sensor zur Messung der Luftfeuchtigkeit.
Info
sdm.devices.traits.Info
Dieser Trait gehört zu jedem Gerät, auf dem gerätebezogene Informationen verfügbar sind.
Einstellungen
sdm.devices.traits.Settings
Diese Eigenschaft gehört zu jedem Gerät und enthält gerätebezogene Einstellungsinformationen.
Temperatur
sdm.devices.traits.Temperature
Diese Eigenschaft gehört zu jedem Gerät mit einem Temperatursensor.

Thermostat

Eigenschaften
ThermostatEco
sdm.devices.traits.ThermostatEco
Diese Eigenschaft gehört zu Gerätetypen vom Typ THERMOSTAT, die ECO-Modi unterstützen.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Diese Eigenschaft gehört zu Gerätetypen vom Typ THERMOSTAT, die Details zur HLK-Anlage melden können.
ThermostatMode
sdm.devices.traits.ThermostatMode
Diese Eigenschaft gehört zu Gerätetypen vom Typ THERMOSTAT, die verschiedene Thermostatmodi unterstützen.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Diese Eigenschaft gehört zu den Gerätetypen von THERMOSTAT, die das Einstellen von Zieltemperatur und Temperaturbereich unterstützen.

Kamera

Eigenschaften
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Diese Eigenschaft gilt für alle Geräte, die das Herunterladen einer Clipvorschau unterstützen.
CameraEventImage
sdm.devices.traits.CameraEventImage
Dieses Attribut gehört zu jedem Gerät, das die Generierung von Bildern aus Ereignissen unterstützt.
CameraImage
sdm.devices.traits.CameraImage
Diese Eigenschaft gehört zu jedem Gerät, das das Aufnehmen von Bildern unterstützt.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Diese Eigenschaft gehört zu jedem Gerät, das Livestreaming unterstützt.
CameraMotion
sdm.devices.traits.CameraMotion
Dieses Attribut gehört zu jedem Gerät, das Bewegungserkennungsereignisse unterstützt.
Kameraperson
sdm.devices.traits.CameraPerson
Dieses Attribut gehört zu allen Geräten, die Ereignisse der Personenerkennung unterstützen.
CameraSound
sdm.devices.traits.CameraSound
Dieser Trait gehört zu jedem Gerät, das Geräuscherkennungsereignisse unterstützt.

Türklingel

Eigenschaften
Türklingel
sdm.devices.traits.DoorbellChime
Dieser Trait gehört zu jedem Gerät, das eine Glocke für die Türklingel und zugehörige Betätigungen unterstützt.