L'API SDM è un'API REST che fornisce vari metodi per visualizzare le caratteristiche ed eseguire comandi relativi per la gestione dei dispositivi Google Nest. Utilizza il token di accesso concesso durante la procedura di autorizzazione con ogni chiamata API.
Tratti
L'API SDM utilizza un modello basato sui trait per le informazioni del dispositivo e funzionalità. Consulta le guide dei singoli dispositivi per scoprire quali tratti sono disponibili per un dispositivo:
- Fotocamera
- Videocamera (a batteria)
- Fotocamera con faretto
- Videocamera (con cavo)
- Display
- Campanello
- Campanello (a batteria)
- Campanello (con cavo)
- Termostato
Metodi
Consulta Riferimento API per i dettagli completi su tutti i metodi disponibili per l'API SDM.
executeCommand
Esegue un comando su un dispositivo autorizzato.
Utilizza una chiamata POST
per eseguire un comando. Ad esempio, per cambiare la modalità del termostato:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Ulteriori esempi di comandi sono disponibili in ogni riferimento trait . Visualizza l'elenco dei tratti completo per ulteriori informazioni.
get
Recupera informazioni su una struttura o un dispositivo autorizzati.
Una chiamata GET
restituisce una singola risposta con i campi e i valori correnti per tutti i tratti disponibili per una struttura o un dispositivo che user ha autorizzato e un oggetto "parentRelations", che rappresenta la risorsa principale della risorsa corrente, una struttura o una camera.
Ad esempio, Nest Thermostat potrebbe restituire quanto segue:
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
Elenca strutture, stanze o dispositivi autorizzati.
Per elencare tutte le strutture, le stanze o i dispositivi autorizzati con un singolo accesso.
esegui una chiamata GET
sull'endpoint della risorsa appropriato:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Integrazioni con l'Assistente Google
Una volta che un dispositivo è stato autorizzato per la gestione dei dati dei clienti, Google ne prende conoscenza in Home Graph e ne gestisce direttamente lo stato. Se hai integrato l'Assistente Google come parte della tua offerta commerciale:
- Non inviare Richiedi sincronizzazione richieste per i dispositivi SDM
- Omettere i dispositivi SDM da qualsiasi risposta a un intento SYNC
Errori
Consulta la documentazione sul codice di errore API per l'elenco completo dei codici di errore dell'API.