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 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 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 Befehlsbeispiele finden Sie auf den einzelnen Seiten mit den Referenzen zu den einzelnen Merkmalen. Sieh dir die vollständige Liste der Merkmale an. .
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:
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.
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:
- Synchronisierungsanfrage nicht senden Anfragen für SDM-Geräte
- SDM-Geräte aus allen Antworten auf eine SYNC-Intent ausschließen
Fehler
Siehe API-Fehlercode-Referenz für die vollständige Liste der API-Fehlercodes.