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:
- Kamera
- Kamera (mit Akku)
- Kamera mit Flutlicht
- Kamera (mit Kabel)
- Display
- Türklingel
- Türklingel (mit Akku)
- Türklingel (mit Kabel)
- Thermostat
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:
- Synchronisierungsanfrage nicht senden Anfragen für SDM-Geräte
- SDM-Geräte in allen Antworten auf eine SYNC-Anfrage Absicht
Fehler
Siehe API-Fehlercode-Referenz für die vollständige Liste der API-Fehlercodes.