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 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 vom user autorisiert wurde, 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, senden Sie eine GET
-Anfrage 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 von Google im Home Graph erkannt und sein Status wird direkt 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.