Smart Device Management API

Die SDM API ist eine REST API, die verschiedene Methoden Traits ansehen und Trait-Befehle ausführen, um Google Nest-Geräte Verwenden Sie das Zugriffstoken, das im Zeitraum mit jedem API-Aufruf erstellen.

Eigenschaften

Die SDM API verwendet ein trait-basiertes Modell für Geräteinformationen und Funktionalität. Sieh dir die einzelnen Gerätehandbücher an, um mehr über die Eigenschaften zu erfahren. für ein Gerät verfügbar:

Methoden

In der API-Referenz finden Sie ausführliche Informationen Methoden, die für die SDM API verfügbar sind.

executeCommand

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

Verwenden Sie einen POST-Aufruf, um einen Befehl auszuführen. Um beispielsweise den Thermostat zu ändern, Modus:

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

Weitere Beispiele für Befehle findest du in den einzelnen Eigenschaftsreferenzen. Seite. Sieh dir die vollständige Liste der Merkmale an. .

get

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

Ein GET-Aufruf gibt eine einzige Antwort mit aktuellen Feldern und Werten für alle Eigenschaften für eine Struktur oder ein Gerät, user die autorisierten und 'parentRelations' Objekt, das die übergeordnete Ressource darstellt. der aktuellen Ressource, entweder ein Gebäude oder einen Raum.

Ein Nest Thermostat kann beispielsweise Folgendes:

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.

Um alle Gebäude, Räume oder Geräte aufzulisten, die für einen einzigen Zugriff autorisiert sind Token enthalten, 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 wurde, erkennt Google das Gerät in Google Home. Grafiert und verwaltet den Status direkt. Mit integriertem Google Assistant im Rahmen deines kommerziellen Angebots:

Fehler

Siehe API-Fehlercode-Referenz für die vollständige Liste der API-Fehlercodes.