L'API SDM est une API REST qui fournit différentes méthodes pour afficher les caractéristiques et exécuter les commandes de caractéristiques pour la gestion des appareils Google Nest. Utilisez le jeton d'accès accordé lors du processus d'autorisation avec chaque appel d'API.
Traits
L'API SDM utilise un modèle basé sur les caractéristiques pour les informations et les fonctionnalités des appareils. Consultez les guides individuels des appareils pour connaître les caractéristiques disponibles pour un appareil :
- Appareil photo
- Caméra (batterie)
- Caméra avec projecteur
- Caméra (filaire)
- Écran
- Sonnette
- Sonnette (batterie)
- Sonnette (filaire)
- Thermostat
Méthodes
Consultez la documentation de référence de l'API pour obtenir tous les détails sur 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 changer 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 la page de référence de chaque caractéristique. Pour en savoir plus, consultez la liste complète des caractéristiques.
get
Obtient des informations sur une structure ou un appareil autorisés.
Un appel GET renvoie une seule réponse avec les champs et les valeurs actuels pour tous les traits disponibles pour une structure ou un appareil que user a autorisés, ainsi qu'un objet "parentRelations", qui représente la ressource parente de la ressource actuelle (structure ou 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
Liste les structures, les pièces ou les appareils autorisés.
Pour lister toutes les structures, pièces ou appareils autorisés avec un jeton d'accès unique, effectuez un appel GET au 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 de l'Assistant Google
Une fois qu'un appareil est autorisé pour SDM, Google prend connaissance de l'appareil dans Home Graph et gère directement son état. Si vous avez intégré l'Assistant Google à votre offre commerciale :
- N'envoyez pas de demandes de synchronisation pour les appareils SDM.
- Omettez les appareils SDM de toute réponse à une intention SYNC.
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.