Sommaire

Le package Nest vous permet de piloter votre thermostat Nest et de suivre en temps réel vos objets connectés Nest (Thermostats, détecteur de fumée ou caméras).

image

Le code source de ce package est en ligne sur : https://github.com/myconstellation/constellation-packages/tree/master/Nest

Installation

Prérequis : créer un jeton de sécurité Nest

Pour installer le package Nest dans votre Constellation vous allez avoir besoin d’un jeton de sécurité pour autoriser le package à se connecter au service Nest.

Etape 1 : Créer un compte développeur Nest

Pour commencez donc par créer un compte sur https://developers.nest.com :

image

Etape 2 : Créer un produit Nest

Créez ensuite un “Product” en cliquant sur le bouton “Create New Product” :

image

Vous devrez alors fournir les informations sur votre “Produit”. Par exemple nommez-le “Constellation”.

Vous devrez également définir les autorisations accordées à ce produit : activer les différents services (Thermostat, Away, etc..) en “Read / Write” si vous souhaitez contrôler vos équipements Nest.

image

Une fois votre produit Nest créé, vous obtiendrez votre “Product ID” et “Product Secret” que vous gardez sous la main :

image

Etape 3 : Générer le jeton de sécurité pour le package Constellation

Vous pouvez maintenant générer un jeton de sécurité qui sera utilisé par le package Constellation.

Vous avez deux méthodes :

  1. Via un script Powershell (à partir d’un poste Windows)
  2. Manuellement

Pour la première méthode, téléchargez ce fichier ici, il s’agit d’un script Powershell à exécuter sur un poste Windows (voir le code source ici).

Une fois téléchargé sur votre poste Windows, ouvrez une invite de commande Powershell et lancez le script en passant en paramètre votre “Product ID” et “Product Secret” :

Vous devez valider le fait d’exécuter un script téléchargé sur Internet en entrant la lettre “O” en majuscule.

Le script ouvrira votre navigateur Internet sur une page de Nest vous demandant votre autorisation pour activer le produit que vous avez créé ci-dessus :

image

Il suffit de cliquer sur le bouton “Accepter” :

image

Vous obtiendrez en retour un code PIN temporaire :

image

Copiez alors ce code PIN dans le script PowerShell et celui ci vous retournera l’AccessToken (le jeton de sécurité) :

image

Ce jeton est également copié automatiquement dans votre presse-papier ! Vous pouvez maintenant le “coller” où vous souhaitez ! Gardez-le pour l’installation du package Constellation ci-dessous.

Installation du package Constellation

Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Nest :

image

Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.

Pour finir, sur la page de Settings, vous devez obligatoirement définir le jeton de sécurité obtenu précédemment pour accéder à votre compte Nest.

Si vous avez utiliser le script Powershell, l’AccessToken est déjà dans votre presse-papier, il suffit simplement de le coller dans la page de settings :

image

Bien entendu vos  pouvez également déployer ce package manuellement dans la configuration de votre Constellation :

Détails du package

Les Settings

Nom Type Détail Description
AccessToken String Obligatoire Jeton de sécurité pour accès à votre compte Nest

Les StateObjects

Vous retrouverez autant de StateObjects que d’objet et de structure Nest rattachés à votre compte :

Nom Type Description
<< nom de la structure >> Nest.Structure Information sur la structure (maison) Nest (localisation, mode absence, objets rattachés)
<< nom de l’objet Nest >> Nest.thermostat,
Nest.SmokeDetector,
Nest.Camera
Information sur l’objet Nest. Par exemple pour un thermostat : T° actuelle et de consigne, mode de chauffe, humidité, etc..

image

Les MessageCallbacks

Le package expose un MessageCallback :

Nom Réponse (saga) Description
SetAwayMode Aucune Spécifie le mode absence d’une structure
SetTargetTemperature Aucune Spécifie la température de consigne d’un thermostat
SetProperty Aucune Définie la valeur d’un propriété sur un objet Nest

image

Quelques exemples

  • Piloter et réguler la température avec un package C#
  • Piloter le thermostat depuis un Dashboard HTML
  • Synchroniser le mode absence du thermostat Nest avec l’alarme
Nest : pilotez et surveillez vos objets Nest dans votre Constellation
Étiqueté avec :            

Démarrez la discussion sur le forum Constellation