Smart Device Management API

Die SDM API ist eine REST API, die verschiedene Methoden zum Aufrufen von Attributen und Ausführen von Attributbefehlen zur Verwaltung von Google Nest-Geräten bietet. Verwenden Sie das Zugriffstoken, das während des Autorisierungsprozesses gewährt wurde, bei jedem API-Aufruf.

Attribute

Die SDM API verwendet ein eigenschaftsbasiertes Modell für Geräteinformationen und ‑funktionen. In den einzelnen Geräteanleitungen finden Sie Informationen zu den für ein Gerät verfügbaren Attributen:

Methoden

Ausführliche Informationen zu allen für die SDM API verfügbaren Methoden finden Sie in der API-Referenz.

executeCommand

Führt einen Befehl auf einem autorisierten Gerät aus.

Verwenden Sie einen POST-Aufruf, um einen Befehl auszuführen. So änderst du beispielsweise den Thermostatmodus:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

Weitere Beispiele für Befehle finden Sie auf den einzelnen Seiten mit Trait-Referenzen. Vollständige Liste der Traits

get

Ruft Informationen zu einer autorisierten Struktur oder einem autorisierten Gerät ab.

Ein GET-Aufruf gibt eine einzelne Antwort mit den aktuellen Feldern und Werten für alle Merkmale zurück, die für eine Struktur oder ein Gerät verfügbar sind, für die der user autorisiert ist, sowie ein `parentRelations`-Objekt, das die übergeordnete Ressource der aktuellen Ressource darstellt, entweder eine Struktur oder ein Raum.

Ein Nest Thermostat könnte beispielsweise Folgendes zurückgeben:

GET /enterprises/project-id/devices/device-id
{
  "name" : "enterprises/project-id/devices/device-id",
  "type" : "sdm.devices.types.THERMOSTAT",
  "assignee" : "enterprises/project-id/structures/structure-id/rooms/room-id",
  "traits" : {
    "sdm.devices.traits.Connectivity" : {
      "status" : "ONLINE"
    },
    "sdm.devices.traits.Fan" : {
      "timerMode" : "ON",
      "timerTimeout" : "2019-05-10T03:22:54Z"
    },
    "sdm.devices.traits.Humidity" : {
      "ambientHumidityPercent" : 35.0
    },
    "sdm.devices.traits.Info" : {
      "customName" : "My device"
    },
    "sdm.devices.traits.Settings" : {
      "temperatureScale" : "CELSIUS"
    },
    "sdm.devices.traits.Temperature" : {
      "ambientTemperatureCelsius" : 23.0
    },
    "sdm.devices.traits.ThermostatEco" : {
      "availableModes" : ["MANUAL_ECO", "OFF"],
      "mode" : "MANUAL_ECO",
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    },
    "sdm.devices.traits.ThermostatHvac" : {
      "status" : "HEATING"
    },
    "sdm.devices.traits.ThermostatMode" : {
      "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"],
      "mode" : "COOL"
    },
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  },
  "parentRelations" : [
    {
      "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
      "displayName" : "Lobby"
    }
  ]
}

list

Listet autorisierte Gebäude, Räume oder Geräte auf.

Wenn Sie alle Strukturen, Räume oder Geräte auflisten möchten, die mit einem einzelnen Zugriffstoken autorisiert sind, führen Sie einen GET-Aufruf für den entsprechenden Ressourcenendpunkt aus:

GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices

Google Assistant-Integrationen

Sobald ein Gerät für SDM autorisiert ist, wird Google im Home Graph auf das Gerät aufmerksam und verwaltet seinen Status direkt. Wenn Sie die Google Assistant-Integration als Teil Ihres kommerziellen Angebots haben:

Fehler

Eine vollständige Liste der API-Fehlercodes finden Sie in der API-Fehlercode-Referenz.