API Smart Device Management

L'API SDM è un'API REST che fornisce vari metodi per visualizzare le caratteristiche ed eseguire comandi relativi 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 sui trait per le informazioni del dispositivo e funzionalità. Consulta le guide dei singoli dispositivi per scoprire quali tratti sono disponibili per un dispositivo:

Metodi

Consulta 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"
  }
}

Ulteriori esempi di comandi sono disponibili in ogni riferimento trait . Visualizza l'elenco dei tratti completo per ulteriori informazioni.

get

Recupera informazioni su una struttura o un dispositivo autorizzati.

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 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 stanze o i dispositivi autorizzati con un singolo accesso. esegui una chiamata GET sull'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:

Errori

Consulta la documentazione sul codice di errore API per l'elenco completo dei codici di errore dell'API.