API Smart Device Management

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

Caractéristiques

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

Méthodes

Consultez la documentation de référence de l'API pour obtenir des informations complètes sur toutes les méthodes disponibles pour l'API SDM.

executeCommand

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 sur chaque page de référence des traits. Pour en savoir plus, consultez la liste complète des traits.

get

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

Un appel GET renvoie une seule réponse avec les champs et valeurs actuels pour tous les traits disponibles pour une structure ou un appareil que l' user a autorisé, ainsi qu'un objet "parentRelations", qui représente la ressource parente de la ressource actuelle, une structure ou une pièce.

Par exemple, un Nest Thermostat peut renvoyer les informations suivantes:

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

Répertorie les structures, pièces ou appareils autorisés.

Pour lister toutes les structures, pièces ou appareils autorisés avec un seul jeton d'accès, effectuez un appel GET au point de terminaison de ressources approprié:

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

Intégrations de l'Assistant Google

Une fois qu'un appareil est autorisé pour la gestion des appareils connectés, Google en prend connaissance dans Home Graph et gère directement son état. Si vous avez intégré l'Assistant Google à votre offre commerciale:

Erreurs

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