Smart Device Management API

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

Merkmale

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

Methoden

In der API-Referenz finden Sie vollständige Informationen zu allen für die SDM API verfügbaren Methoden.

executeCommand

Führt einen Befehl für ein autorisiertes Gerät aus.

Verwenden Sie einen POST-Aufruf, um einen Befehl auszuführen. Beispiel: So ändern Sie 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 Referenzseiten zu den Merkmalen. Weitere Informationen finden Sie in der vollständigen Liste der Merkmale.

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, das die user autorisiert hat, sowie ein `parentRelations'-Objekt, das die übergeordnete Ressource der aktuellen Ressource darstellt, entweder eine Struktur 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

Listet autorisierte Strukturen, Räume oder Geräte auf.

Wenn Sie alle Strukturen, Räume oder Geräte auflisten möchten, die unter 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 auf das Gerät in Home Graph aufmerksam und verwaltet seinen Status direkt. Wenn Sie die Google Assistant-Integration als Teil Ihres kommerziellen Angebots verwenden:

Fehler

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