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 trait pour la gestion Appareils Google Nest Utilisez le jeton d'accès accordé pendant la avec chaque appel d'API.

Caractéristiques

L'API SDM utilise un modèle basé sur les caractéristiques pour les informations provenant des appareils et des fonctionnalités. Consultez les guides de chaque appareil pour identifier 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.

ExécuterCommande

Exécute une commande sur un appareil autorisé.

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

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 référence de caractéristique individuelle . Consultez la liste complète de caractéristiques pour en savoir plus.

get

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

Un appel GET renvoie une seule réponse avec les champs et valeurs actuels pour tous caractéristiques disponibles pour une structure ou un appareil user autorisée et une propriété "parentRelations" qui représente la ressource parente de la ressource actuelle, soit une structure, soit une salle.

Par exemple, un thermostat Nest peut renvoyer le 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

Liste les structures, salles ou appareils autorisés.

Pour répertorier l'ensemble des structures, salles ou appareils autorisés avec un accès unique , effectuez un appel GET sur le point de terminaison de ressource approprié:

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

Intégrations à l'Assistant Google

Une fois qu'un appareil est autorisé pour SDM, Google identifie l'appareil dans la maison Graphe et gère directement son état. Si vous disposez de l'intégration de l'Assistant Google dans le cadre de votre offre commerciale:

Erreurs

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