L'API SDM è un'API REST che offre vari metodi per visualizzare i trait ed eseguire comandi trait 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 trait per le informazioni e le funzionalità del dispositivo. Controlla le singole guide del dispositivo per vedere quali trait sono disponibili per un dispositivo:
- Fotocamera
- Videocamera (a batteria)
- Videocamera con faretto
- Videocamera (con cavo)
- Display
- Campanelli
- Campanello (a batteria)
- Campanello (con cavo)
- removed
Metodi
Consulta il 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" } }
Puoi trovare ulteriori esempi di comandi in ogni pagina di riferimento dei singoli trait. Per ulteriori informazioni, consulta l'elenco dei tratti completo.
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 tutti i tratti disponibili per una struttura o un dispositivo user autorizzato da user e un oggetto "parentRelations", che rappresenta la risorsa padre della risorsa attuale, 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 strutture, stanze o dispositivi autorizzati.
Per elencare tutte le strutture, le stanze o i dispositivi autorizzati mediante un singolo token di accesso, effettua una chiamata GET
per l'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
Dopo che un dispositivo è stato autorizzato per SDM, Google viene a conoscenza del dispositivo in Home Graph e ne gestisce direttamente lo stato. Se la tua offerta commerciale include l'integrazione dell'Assistente Google:
- Non inviare richieste di sincronizzazione per i dispositivi SDM
- Escludi i dispositivi SDM dalle risposte a un intent SYNC
Errori
Consulta la pagina Riferimento sui codici di errore delle API per l'elenco completo dei codici di errore delle API.