Eigenschaften

Ein Attribut in der SDM API besteht aus Feldern, Befehlen und Ereignissen.

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 des gewünschten API-Endpunkts 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 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 parentRelations-Objekt stellt die übergeordnete Ressource der aktuellen Ressource dar, also 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: Sie ändern den aktuellen Modus oder den Temperatursollwert auf 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 „Erfolg“ oder „Fehlschlag“. 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 einzelnen 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 von Merkmalen

Struktur

Eigenschaften
Info
sdm.structures.traits.Info
Diese Eigenschaft gehört zu jeder Struktur für strukturbezogene Informationen.
RoomInfo
sdm.structures.traits.RoomInfo
Diese Eigenschaft gehört zu jedem Raum und enthält 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 gilt für alle Geräte, bei denen der Lüfter vom System gesteuert werden kann.
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
Dieses Attribut gehört zu jedem Gerät und enthält gerätebezogene Informationen.
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 Gerätetypen vom Typ THERMOSTAT, die die Einstellung der Zieltemperatur und des Temperaturbereichs 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
Dieses Attribut 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.
CameraPerson
sdm.devices.traits.CameraPerson
Dieses Attribut gehört zu allen Geräten, die Ereignisse der Personenerkennung unterstützen.
CameraSound
sdm.devices.traits.CameraSound
Diese Eigenschaft gehört zu jedem Gerät, das Geräuscherkennungsereignisse unterstützt.

Türklingel

Eigenschaften
DoorbellChime
sdm.devices.traits.DoorbellChime
Diese Eigenschaft gehört zu jedem Gerät, das eine Türklingel und zugehörige Drück-Ereignisse unterstützt.