Smart Device Management API

Die SDM API ist eine REST API, die verschiedene Methoden zum Aufrufen von Eigenschaften und Ausführen von Befehlen für die Verwaltung von Google Nest-Geräten bietet. Verwenden Sie das während des Autorisierungsprozesses gewährte Zugriffstoken bei jedem API-Aufruf.

Eigenschaften

Die SDM API verwendet ein eigenschaftsbasiertes Modell für Geräteinformationen und ‑funktionen. In den einzelnen Gerätehandbüchern finden Sie Informationen dazu, welche Merkmale für ein Gerät verfügbar sind:

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 an einem autorisierten Gerät aus.

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

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

Weitere Befehlsbeispiele finden Sie auf den einzelnen Seiten mit den Referenzen zu den einzelnen Merkmalen. Weitere Informationen finden Sie in der vollständigen Liste der Merkmale.

get

Ruft Informationen zu einem autorisierten Gebäude oder Gerät ab.

Ein GET-Aufruf gibt eine einzelne Antwort mit aktuellen Feldern und Werten für alle Merkmale zurück, die für ein Gebäude oder Gerät verfügbar sind, das der user autorisiert hat, und ein „parentRelations“-Objekt, das die übergeordnete Ressource der aktuellen Ressource darstellt, also entweder ein Gebäude oder einen Raum.

Ein Nest Thermostat kann 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

Hier werden autorisierte Gebäude, Räume oder Geräte aufgeführt.

Wenn Sie alle Gebäude, Räume oder Geräte auflisten möchten, die mit einem einzigen Zugriffstoken autorisiert sind, stellen Sie einen GET-Aufruf an den entsprechenden Ressourcenendpunkt:

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 die SDM autorisiert ist, wird es Google im Home Graph angezeigt und der Status wird direkt von Google verwaltet. Wenn Sie die Google Assistant-Integration als Teil Ihres kommerziellen Angebots nutzen:

Fehler

Eine vollständige Liste der API-Fehlercodes findest du in der API-Fehlercode-Referenz.