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:
- Kamera
- Kamera (mit Akku)
- Kamera mit Flutlicht
- Kamera (mit Kabel)
- Display
- Türklingel
- Türklingel (mit Akku)
- Türklingel (mit Kabel)
- Thermostat
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:
- Senden Sie keine Anfragen zum Synchronisieren für SDM-Geräte.
- SDM-Geräte aus allen Antworten auf eine SYNC-Intent ausschließen
Fehler
Eine vollständige Liste der API-Fehlercodes findest du in der API-Fehlercode-Referenz.