Die SDM API ist eine REST API, die verschiedene Methoden zum Aufrufen von Merkmalen und Ausführen von Merkmalsbefehlen für die Verwaltung von Google Nest-Geräten bietet. Verwenden Sie das Zugriffstoken, das während des Autorisierungsprozesses gewährt wurde, mit jedem API-Aufruf.
Merkmale
Die SDM API verwendet ein merkmalsbasiertes Modell für Geräteinformationen und -funktionen. In den einzelnen Geräteanleitungen finden Sie Informationen zu den für ein Gerät verfügbaren Merkmalen:
- 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 vollständige Informationen zu allen für die SDM API verfügbaren Methoden.
executeCommand
Führt einen Befehl für ein autorisiertes Gerät aus.
Verwenden Sie einen POST-Aufruf, um einen Befehl auszuführen. Beispiel: So ändern Sie den Thermostatmodus:
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode",
"params" : {
"mode" : "HEAT"
}
}Weitere Beispiele für Befehle finden Sie auf den einzelnen Referenzseiten zu den Merkmalen. Weitere Informationen finden Sie in der vollständigen Liste der Merkmale.
get
Ruft Informationen zu einer autorisierten Struktur oder einem autorisierten Gerät ab.
Ein GET Aufruf gibt eine einzelne Antwort mit den aktuellen Feldern und Werten für alle
Merkmale zurück, die für eine Struktur oder ein Gerät verfügbar sind, das die user autorisiert hat, sowie ein `parentRelations'-Objekt, das die übergeordnete Ressource
der aktuellen Ressource darstellt, entweder eine Struktur 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
Listet autorisierte Strukturen, Räume oder Geräte auf.
Wenn Sie alle Strukturen, Räume oder Geräte auflisten möchten, die unter einem einzelnen Zugriffstoken autorisiert sind, 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 ist, wird Google auf das Gerät in Home Graph aufmerksam und verwaltet seinen Status direkt. Wenn Sie die Google Assistant-Integration als Teil Ihres kommerziellen Angebots verwenden:
- Senden Sie keine Anfragen zum Synchronisieren Anfragen für SDM-Geräte.
- Lassen Sie SDM-Geräte in allen Antworten auf eine SYNC Absicht weg.
Fehler
Eine vollständige Liste der API-Fehlercodes finden Sie in der API-Fehlercode-Referenz.