Merkmale

Ein Merkmal in der SDM API umfasst Felder, Befehle und Ereignisse.

Felder

Felder sind Werte mit gängigen Datentypen wie Zahlen oder Strings. 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 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

Der 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 er zugewiesen ist. Es gibt keine Garantie dafür, dass ein Gerätetyp für ein bestimmtes Gerät stabil bleibt, da der SDM API weitere Funktionen hinzugefügt werden. Verwenden Sie stattdessen die zurückgegebenen Merkmale für das Gerät.

parentRelations

Das Objekt parentRelations stellt die übergeordnete Ressource der aktuellen Ressource dar, entweder eine Struktur oder ein Raum. Der Anzeigename entspricht dem customName Feld des Info Merkmal für Geräte mit einer übergeordneten Struktur oder dem RoomInfo Merkmal für Geräte mit einem übergeordneten Raum.

Befehle

Befehle sind Anfragen, die mit einem Merkmal verknüpft sind. Beispielsweise das Ändern des aktuellen Modus oder des Temperatursollwerts auf einem Google Nest Thermostat.

Ein Befehl wird mit einem 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“. Beispiele für die Verwendung bestimmter Befehle finden Sie in den Leitfäden zu den einzelnen Merkmalen.

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 Merkmalsfelds gesendet. Sie können auch als Reaktion auf bestimmte Geräteaktionen oder Änderungen bei Ressourcenzuweisungen gesendet werden. Weitere Informationen finden Sie unter Ereignisse

Trait-Kategorien

Struktur

Merkmale
Info
sdm.structures.traits.Info
Dieses Merkmal 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

Merkmale
Konnektivität
sdm.devices.traits.Connectivity
Dieses Merkmal gehört zu jedem Gerät mit Konnektivitätsinformationen.
Lüfter
sdm.devices.traits.Fan
Dieses Merkmal gehört zu jedem Gerät, das die Systemfunktion zur Steuerung des Lüfters hat.
Luftfeuchtigkeit
sdm.devices.traits.Humidity
Dieses Merkmal gehört zu jedem Gerät mit einem Sensor zur Messung der Luftfeuchtigkeit.
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 für gerätebezogene Einstellungen.
Temperatur
sdm.devices.traits.Temperature
Dieses Merkmal gehört zu jedem Gerät mit einem Sensor zur Messung der Temperatur.

Thermostat

Merkmale
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 Merkmal gehört zu Gerätetypen von THERMOSTAT, die HLK-Details melden können.
ThermostatMode
sdm.devices.traits.ThermostatMode
Dieses Merkmal gehört zu Gerätetypen von THERMOSTAT, die verschiedene Thermostatmodi unterstützen.
ThermostatTemperatureSetpoint
sdm.devices.traits.ThermostatTemperatureSetpoint
Dieses Merkmal gehört zu Gerätetypen von THERMOSTAT, die das Festlegen der Zieltemperatur und des Temperaturbereichs unterstützen.

Kamera

Merkmale
CameraClipPreview
sdm.devices.traits.CameraClipPreview
Dieses Merkmal gehört zu jedem Gerät, das den Download einer Clip-Vorschau unterstützt.
CameraEventImage
sdm.devices.traits.CameraEventImage
Dieses Merkmal gehört zu jedem Gerät, das die Generierung von Bildern aus Ereignissen unterstützt.
CameraImage
sdm.devices.traits.CameraImage
Dieses Merkmal gehört zu jedem Gerät, das die Aufnahme von Bildern unterstützt.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Dieses Merkmal gehört zu jedem Gerät, das Livestreaming unterstützt.
CameraMotion
sdm.devices.traits.CameraMotion
Dieses Merkmal gehört zu jedem Gerät, das Ereignisse zur Bewegungserkennung unterstützt.
CameraPerson
sdm.devices.traits.CameraPerson
Dieses Merkmal gehört zu jedem Gerät, das Ereignisse zur Personenerkennung unterstützt.
CameraSound
sdm.devices.traits.CameraSound
Dieses Merkmal gehört zu jedem Gerät, das Ereignisse zur Geräuscherkennung unterstützt.

Türklingel

Merkmale
DoorbellChime
sdm.devices.traits.DoorbellChime
Dieses Merkmal gehört zu jedem Gerät, das einen Türklingelton und zugehörige Ereignisse beim Drücken der Klingel unterstützt.