API Smart Device Management

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:

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:

Errori

Consulta i riferimenti ai codici di errore dell'API per l'elenco completo dei codici di errore dell'API.