API Smart Device Management

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:

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:

Errori

Consulta la pagina Riferimento sui codici di errore delle API per l'elenco completo dei codici di errore delle API.