Plugin Nest pour Munin
Voici un plugin munin pour courber les températures remontés avec le thermostat Nest.
J’ai récemment changer de chaudière et j’ai eu la surprise d’avoir eu un Thermostat Nest avec.
Super thermostat domotique, par contre il manque à mon gout des graphiques avec les courbes de températures.
Heureusement Nest a eu la bonne idée de créer une API qui permet d’interroger le thermostat à distance.
Préparation Nest – API
Pour pouvoir utiliser l’API il y a plusieurs étapes à effectuer. ( Source )
Etape 1 – Créer un compte développeur et un produit
Rendez vous sur https://developer.nest.com, créer vous un compte puis un produit.
Donner lui un nom lambda ( le mien est « Nest plugin munin » ) et cochez les autorisations de lecture/écriture pour Thermostat et Away.
Quand le produit est crée, notez le Product ID ainsi que le Product Secret, nous en aurons besoin plus tard.
Ne fermez pas cette fenêtre.
Etape 2 – Obtenir votre PIN Code
Copier « Authorization URL » dans une nouvelle fenêtre de votre navigateur, il vous sera demandé d’accepter la demande.
Copier le PIN Code, nous en aurons besoin.
Etape 3 – Obtenir votre Access Code
Pour obtenir enfin votre Access Code, utilisez cette URL:
curl -X POST "https://api.home.nest.com/oauth2/access_token?client_id=YOUR_PRODUCT_ID&code=YOUR_PIN_CODE&client_secret=YOUR_PRODUCT_SECRET&grant_type=authorization_code"
Remplacer YOUR_PRODUCT_ID, YOUR_PIN_CODE et YOUR_PRODUCT_SECRET par les informations que vous avez obtenu avant.
Vous obtiendrez un une chaine de caractères assez longue commençant par c.. Ceci est votre Access Token et vous servira à interroger l’API De Nest.
Etape 4 – Obtenir votre device_id
Pour ça il faudra utiliser cette URL :
curl -L https://developer-api.nest.com/devices/thermostats\?auth\=YOUR_ACCESS_TOKEN
Les données qui nous intéressent votre devide_id et structure_id. Notez les.
Le plugin pour Munin
Les scripts sont disponibles sur mon dépôt Github : https://github.com/GeoHolz/nest_temp.
Ils sont à placer dans le répertoire plugins de munin ( /etc/munin/plugins )
A ce jour il y en a deux:
- nest_temp qui permet de faire un graphique avec la température demandé et la température de la pièce.
- nest_humidity qui permet de faire un graphique avec l’humidité de la pièce.
Dans chaque script il faut renseigner les DEVICEID et ACCESSTOKEN ( tout en haut des scripts )