Eigenschaften

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

Felder

Felder sind Werte mit gängigen Datentypen, z. B. eine Zahl oder ein String. Beispiel: Ein Feld kann der aktuelle Modus oder die Luftfeuchtigkeit 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

Das von der SDM API zurückgegebene sdm.devices.types.device-type sollte nicht verwendet werden um die Funktionalität des Geräts abzuleiten oder abzuleiten, dem es zugewiesen ist. Es gibt keine Garantie dass ein Gerätetyp für ein bestimmtes Gerät stabil bleibt, wenn dem SDM weitere Funktionen hinzugefügt werden. der API erstellen. Verwende stattdessen die zurückgegebenen Traits 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 der Info-Trait für Geräte mit übergeordnetem Gebäude oder der RoomInfo-Trait für Geräte mit einem übergeordnetes Element des Chatrooms.

Befehle

Befehle sind Anfragen, die mit einem Merkmal verknüpft sind. Wenn Sie z. B. den aktuellen Modus oder Temperatursollwert an einem Google Nest Thermostat.

Ein Befehl wird von 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 erfolgreich oder nicht erfolgreich. In den Leitfäden zu den einzelnen Traits findest du spezifische 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.

Ereignisse werden standardmäßig bei jeder Änderung am Wert eines Trait-Felds gesendet. Sie können auch per E-Mail auf bestimmte Geräteaktionen oder Änderungen bei Ressourcenzuweisungen reagieren. Weitere Informationen finden Sie unter Veranstaltungen .

Trait-Kategorien

Struktur

Eigenschaften
Informationen
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

Eigenschaften
Konnektivität
sdm.devices.traits.Connectivity
Dieser Trait gehört zu jedem Gerät, das über Verbindungsinformationen verfügt.
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
Diese Eigenschaft gehört zu jedem Gerät, das über einen Sensor zur Messung der Luftfeuchtigkeit verfügt.
Informationen
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
Dieser Trait gehört zu jedem Gerät, auf dem gerätebezogene Einstellungsinformationen verfügbar sind.
Temperatur
sdm.devices.traits.Temperature
Diese Eigenschaft gehört zu jedem Gerät, das einen Sensor zur Temperaturmessung hat.

Thermostat

Eigenschaften
ThermostatEco
sdm.devices.traits.ThermostatEco
Diese Eigenschaft gehört zu den Gerätetypen von THERMOSTAT, die ECO-Modi unterstützen.
ThermostatHvac
sdm.devices.traits.ThermostatHvac
Diese Eigenschaft gehört zu den Gerätetypen von THERMOSTAT, die Details zum HLK-System melden können.
ThermostatMode
sdm.devices.traits.ThermostatMode
Diese Eigenschaft gehört zu den Gerätetypen von 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 gehört zu jedem Gerät, das den Download einer Clipvorschau unterstützt.
CameraEventImage
sdm.devices.traits.CameraEventImage
Dieser Trait gehört zu jedem Gerät, das das Generieren von Bildern aus Ereignissen unterstützt.
CameraImage
sdm.devices.traits.CameraImage
Diese Eigenschaft gehört zu jedem Gerät, das die Aufnahme von Bildern unterstützt.
CameraLiveStream
sdm.devices.traits.CameraLiveStream
Dieser Trait gehört zu jedem Gerät, das Livestreaming unterstützt.
CameraMotion
sdm.devices.traits.CameraMotion
Dieser Trait gehört zu jedem Gerät, das Bewegungserkennungsereignisse unterstützt.
CameraPerson
sdm.devices.traits.CameraPerson
Dieser Trait gehört zu jedem Gerät, das Personenentdeckungsereignisse unterstützt.
CameraSound
sdm.devices.traits.CameraSound
Dieser Trait gehört zu jedem Gerät, das Geräuscherkennungsereignisse unterstützt.

Türklingel

Eigenschaften
DoorbellChime
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.