Architecture de l'API Nest

À propos du service Nest

Les applications Nest permettent aux utilisateurs de se connecter à leur maison où qu'ils se trouvent. Tous les appareils (thermostats, détecteurs Nest Protect et caméras) et applications (iOS, Android et applications Web) Nest se connectent au service Nest.

Exemple cloud à cloud

Le service Nest fournit un modèle de données de la maison. Les appareils et les applications lisent ce modèle de données pour prendre les mesures appropriées. Ils mettent à jour le modèle de données pour refléter les modifications apportées au système.

Par exemple, un thermostat lit sa température de consigne à partir du modèle de données. Il définit la température ambiante sur sa mesure actuelle et envoie les données du capteur à la fonction Chez moi/Absent, qui ajuste le mode de structure en conséquence.

Les appareils Nest fonctionnent dans des environnements limités. L'alimentation est limitée, et la connectivité du réseau domestique peut être instable. Vos produits et services peuvent exploiter nos algorithmes pour proposer aux utilisateurs une expérience simple et intuitive.

Le modèle de données

L'API Nest est représentée par un document JSON avec les attributs de niveau supérieur metadata, devices et structures. Vos produits Works with Nest utilisent ce document JSON pour interagir avec les appareils Nest et les changements d'état associés, et y répondre.

Les structures de Nest représentent des structures physiques dans le monde réel. Ils constituent un point d'organisation pour devices et stockent les données de l'ensemble du bâtiment. En règle générale, un structure correspond à une maison utilisateur.

Les devices de Nest représentent les appareils physiques (thermostats, Protect et caméras) dans une structure.

Chaque élément de données du document JSON est adressable par URL (également appelé "emplacements de données"). Les produits Works with Nest peuvent lire et écrire des sections de ce document et s'abonner aux modifications. Cette fonctionnalité permet aux produits Works with Nest de réagir en temps réel aux modifications apportées au système, par exemple en éteignant les lumières lorsqu'un utilisateur définit la structure sur Absent.

Les objets fonctionnent également sous des contraintes réelles. Le modèle de données protège les appareils et la maison des utilisateurs en évitant les actions surprenantes et dangereuses. Par exemple, le thermostat n'utilise pas la climatisation lorsque le chauffage d'urgence est activé.

Explorez le modèle de données avec cette documentation de référence sur l'API interactive.

État prévu

Le service Nest stocke l'état faisant autorité du système, et les produits Works with Nest s'abonnent aux modifications. Si vous modifiez cet état (par exemple, pour modifier la température de consigne d'un thermostat), le service envoie une notification de modification à tous les abonnés.

La propagation étant retardée, et les réseaux peuvent manquer de fiabilité, l'état observé par un produit peut ne pas correspondre à celui actuellement observé par d'autres produits ou par le service. L'état est synchronisé à mesure que les messages sont transmis entre différents produits.

Ce modèle orienté publication/abonnement propose des interactions responsives d'application.

Utiliser le service Nest

Pour accéder aux points de terminaison REST dans le service Nest, utilisez le protocole HTTPS de votre produit. De nombreuses bibliothèques clientes tierces peuvent être utilisées à cette fin.

Autorisations et autorisation

Nous souhaitons permettre aux développeurs de créer des produits et services qui améliorent le confort de leur domicile, sans pour autant compromettre la confidentialité et la sécurité des utilisateurs. Toutes nos communications sont sécurisées, et l'accès aux données est toujours accordé explicitement par l'utilisateur. Pour en savoir plus, consultez la page Présentation des autorisations.

L'autorisation est gérée par le protocole OAuth 2.0. Lorsqu'un utilisateur accepte de fournir l'accès au niveau d'autorisation demandé, Nest authentifie la requête et un jeton d'accès est accordé au demandeur. Ce jeton d'accès peut servir à accéder à l'API Nest et à interagir avec les structures et les appareils de l'utilisateur.

L'attribution d'un jeton d'accès établit une relation de confiance entre l'utilisateur, un produit Works with Nest et Nest. Les utilisateurs peuvent révoquer leur accès à tout moment.

Pour savoir comment autoriser une connexion à l'API Nest, consultez la page Présentation de l'autorisation.