L'API SDM è un'API REST che fornisce vari metodi per visualizzare le caratteristiche ed eseguire i comandi delle caratteristiche per la gestione dei dispositivi Google Nest. Utilizza il token di accesso concesso durante il processo di autorizzazione con ogni chiamata API.
Tratti
L'API SDM utilizza un modello basato sui tratti per le informazioni e le funzionalità del dispositivo. Consulta le guide dei singoli dispositivi per vedere quali caratteristiche sono disponibili per un dispositivo:
- Fotocamera
- Fotocamera (a batteria)
- Videocamera con faretto
- Videocamera (con cavo)
- Display
- Campanello
- Campanello (a batteria)
- Campanello (con cavo)
- Termostato
Metodi
Consulta i riferimenti API per informazioni dettagliate 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" } }
Altri esempi di comandi sono disponibili nelle pagine di riferimento di ogni singolo tratto. Per ulteriori informazioni, consulta l'elenco completo degli attributi.
get
Recupera informazioni su una struttura o un dispositivo autorizzato.
Una chiamata GET
restituisce una singola risposta con i campi e i valori correnti per tutte le
caratteristiche disponibili per una struttura o un dispositivo che user ha
autorizzato e un oggetto "parentRelations", che rappresenta la risorsa principale
della risorsa corrente, ovvero una struttura o una stanza.
Ad esempio, un termostato Nest 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 le strutture, le stanze o i dispositivi autorizzati.
Per elencare tutte le strutture, le stanze o i dispositivi autorizzati con un singolo token di accesso, effettua una chiamata GET
all'endpoint della risorsa appropriato:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Integrazioni dell'Assistente Google
Una volta autorizzato un dispositivo per SDM, Google lo rileva in Home Graph e ne gestisce direttamente lo stato. Se hai l'integrazione dell'Assistente Google come parte della tua offerta commerciale:
- Non inviare richieste di sincronizzazione per i dispositivi SDM
- Omettere i dispositivi SDM da qualsiasi risposta a un intent SYNC
Errori
Consulta i riferimenti ai codici di errore dell'API per l'elenco completo dei codici di errore dell'API.