API Smart Device Management

L'API SDM est une API REST qui fournit différentes méthodes pour afficher les caractéristiques et exécuter des commandes de caractéristiques pour la gestion des appareils Google Nest. Utilisez le jeton d'accès accordé lors du processus d'autorisation à chaque appel d'API.

Traits de caractère

L'API SDM utilise un modèle basé sur des caractéristiques pour les informations et les fonctionnalités de l'appareil. Consultez les guides des appareils pour connaître les caractéristiques disponibles pour un appareil:

Méthodes

Consultez la documentation de référence de l'API pour en savoir plus sur toutes les méthodes disponibles pour l'API SDM.

runCommand

Exécute une commande sur un appareil autorisé.

Utilisez un appel POST pour exécuter une commande. Par exemple, pour modifier le mode du thermostat:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

Vous trouverez d'autres exemples de commandes dans chaque page de référence sur les caractéristiques. Pour en savoir plus, consultez la liste complète des caractéristiques.

get

Récupère des informations sur une structure ou un appareil autorisés.

Un appel GET renvoie une seule réponse avec des champs et des valeurs actuels pour toutes les caractéristiques disponibles pour une structure ou un appareil que user a autorisé et un objet "parentRelations", qui représente la ressource parente de la ressource actuelle : une structure ou une salle.

Par exemple, un thermostat Nest peut renvoyer les éléments suivants:

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

Liste les structures, salles ou appareils autorisés.

Pour répertorier toutes les structures, salles ou appareils autorisés sous un seul jeton d'accès, effectuez un appel GET sur le point de terminaison de la ressource appropriée:

GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices

Intégrations avec l'Assistant Google

Une fois qu'un appareil est autorisé pour le SDM, Google en prend connaissance dans le Home Graph et gère directement son état. Si l'intégration de l'Assistant Google est incluse dans votre offre commerciale:

Erreurs

Consultez la documentation de référence sur les codes d'erreur d'API pour obtenir la liste complète des codes d'erreur de l'API.