L'API SDM è un'API REST che fornisce vari metodi per visualizzare i tratti ed eseguire comandi 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 su tratti per le informazioni e le funzionalità del dispositivo. Consulta le guide dei singoli dispositivi per scoprire quali tratti sono disponibili per un dispositivo:
- Fotocamera
- Videocamera (a batteria)
- Videocamera con faretto
- Videocamera (con cavo)
- Display
- Campanello
- Campanello (a batteria)
- Campanello (con cavo)
- Termostato
Metodi
Per informazioni dettagliate su tutti i metodi disponibili per l'API SDM, consulta il riferimento API.
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 nella pagina di riferimento di ciascun tratto. Per ulteriori informazioni, consulta l'elenco completo dei tratti.
get
Recupera informazioni su una struttura o un dispositivo autorizzati.
Una chiamata GET
restituisce una singola risposta con i campi e i valori attuali 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 camere 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 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 richieste di sincronizzazione per i dispositivi SDM
- Omettere i dispositivi SDM da qualsiasi risposta a un intento SYNC
Errori
Consulta il riferimento ai codici di errore dell'API per un elenco completo dei codici di errore dell'API.