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é 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 connaître les caractéristiques disponibles pour un appareil :
- Appareil photo
- Appareil photo (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 en savoir plus 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 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 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 disposez de l'intégration de l'Assistant Google dans le cadre de votre offre commerciale:
- N'envoyez pas de demande de synchronisation. pour les appareils SDM
- Excluez les appareils SDM des réponses à une requête SYNC l'intention
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.