Sommaire
Le package NetAtmo permet de connecter votre station météo NetAtmo dans Constellation.
La version actuelle du package ne gère que les stations météo et modules associées et non les autres objets NetAtmo tel que le thermostat ou la caméra Welcome.
Le code source de ce package est en ligne sur : https://github.com/myconstellation/constellation-packages/tree/master/NetAtmo
Installation
Prérequis : créer une application NetAtmo
Pour pouvoir utiliser le service NetAtmo vous devez créer un compte développeur sur : https://dev.netatmo.com/
Une fois inscrit, créer une application en cliquant sur “Create an app” :
Entrez les informations pour votre connecteur :
Puis en enregistrant, vous obtiendrez un peu plus bas sur cette page, le “Client ID” et “Client Secret” de votre application NetAtmo qui servira pour la configuration du package Constellation :
Installation du package Constellation
Depuis le “Online Package Repository” de votre Console Constellation, déployez le package NetAtmo :
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 définir différents paramètres :
- Netatmo.ClientId : le “Client ID” de votre application NetAtmo créée précédemment
- Netatmo.ClientSecret : le “Client Secret” de votre application NetAtmo créée précédemment
- Netatmo.Username : votre utilisateur NetAtmo
- Netatmo.Password : votre mot de passe NetAtmo pour l’utilisateur utilisé
Vous pouvez aussi redéfinir le setting “RefreshInterval” qui représente l’intervalle de temps en seconde de rafraichissement des données de votre station météo sur le service NetAtmo. Par défaut ce paramètre est fixé à 300 secondes soit 5 minutes. Notez par ailleurs que votre station météo NetAtmo remonte ses mesures toutes les 5 minutes.
Bien entendu vos pouvez également déployer ce package manuellement dans la configuration de votre Constellation :
1 2 3 4 5 6 7 8 |
<package name="NetAtmo"> <settings> <setting key="Netatmo.ClientId" value="xxxxxx" /> <setting key="Netatmo.ClientSecret" value="xxxxx" /> <setting key="Netatmo.Username" value="xxx@xxx.com" /> <setting key="Netatmo.Password" value="xxxxxx" /> </settings> </package> |
Détails du package
Les Settings
Nom | Type | Détail | Description |
Netatmo.ClientId | String | Obligatoire | Client ID de l’application NetAtmo associée |
Netatmo.ClientSecret | String | Obligatoire | Client Secret de l’application NetAtmo associée |
Netatmo.Username | String | Obligatoire | Nom d’utilisateur du compte NetAtmo |
Netatmo.Password | String | Obligatoire | Mot de passe de l’utilisateur NetAtmo |
RefreshInterval | Int32 | Optionnel Par défaut : 300 |
Intervalle de temps en seconde d’interrogation du service NetAtmo |
Les StateObjects
Vous retrouverez autant de StateObjects que vous avez de mesures pour chaque modules connectés à votre station. Ces StateObjects sont mis à jour pour l’intervalle défini dans la configuration (toutes les 5 minutes par défaut).
Par exemple
Nom | Type | Description |
<< nom de la station >>.Info | NetAtmo.Device | Description de la station NetAtmo (IP, firmware, modules attachés, qualité du Wifi, etc..) |
<< nom du module>>.Info | NetAtmo.Module | Description du module NetAtmo (ID, firmware, état RF, niveau de batterie, etc..) |
<< nom du module/station>>.Temperature | NetAtmo.TemperatureMeasurement | Mesure de la température |
<< nom du module/station>>.Humidity | NetAtmo.HumidityMeasurement | Mesure de l’humidité relative |
<< nom du module/station>>.Rain | NetAtmo.RainMeasurement | Mesure de la pluie |
<< nom du module/station>>.CarbonDioxide | NetAtmo.CarbonDioxideMeasurement | Mesure du CO² |
<< nom du module/station>>.Noise | NetAtmo.NoiseMeasurement | Mesure du niveau sonore |
<< nom du module/station>>.Pressure | NetAtmo.PressureMeasurement | Mesure de la pression atmosphérique |
Les MessageCallbacks
Ce package n’expose pas de MessageCallback.
Quelques exemples
- Notifier l’utilisateur si il pleut alors qu’une fenetre est restée ouverte
- Afficher les mesures des modules NetAtmo dans une application graphique pour Windows (WPF)
- Afficher la qualité de l’air sur une matrice de LED pilotée par un Arduino/ESP
- Piloter le thermostat Nest depuis une autre pièce en fonction de la température d’un module NetAtmo
Bonjour,
Je viens de me prendre une station météo netatmo (merci les soldes à 50%) et je l’ai installer sur mon service domotique créé autour de myconstellation.
Dans le principe tout à marché nickel.
Cependant je ne vois pas d’information dans les States objects sur le temps (symbolisé par un icone : soleil, nuage etc) je voulais savoir si je pouvais modifier le package d’origine ou si je devais le recréer moi même ?
Merci pour toute votre aide.
Johann
Bonjour Johann,
Ces informations ne sont pas “mesurées” par ta station ni misent à disposition sur l’API Netatmo, donc irrécupérable par le package !
Il s’agit simplement d’information quant aux prévisions et conditions actuelles métrologique affichées directement dans l’application mobile pour ajouter du contenu et enrichir l’XP utilisateur!
Tu peux cependant ajouter ces informations dans ta Constellation avec un package comme “Forecast IO” disponible sur le store, qui te donnera les conditions actuelles et prévision à 8 jours.
A+
Salut Sébastien,
bon je me suis douté de la réponse en validant mon message et bon je vais faire ce que tu préconise en récupérant un autre package météo.
Bon demain est le grand jour pour moi et ce qui ma donner envie de monter mon système domotique : google assistant…
Je vais donc voir comment intégré tous ça à constellation.
Bonne journée à tous.
Johann
Bonjour Sebastien,
Tout d’abord, bravo pour ce magnifique projet et la quantité de travail impressionante que cela représente.
Je viens d’installer une sentinelle et le package “Netatmo” sur un raspberry pi 3 (raspbian). Tout se passe bien jusqu’au moment où le package tente de récupérer les mesures depuis l’API de Netatmo. Il semblerait qu’il y ait une dépendance manquante :
Il s’agit certainement d’un problème lié à Mono. La version installée par l’installeur est la 4.6.2.
As-tu déjà rencontré ce type de soucis ?
Bonjour Fabien,
En effet, il peut y avoir des problèmes sur Mono! J’ai écris la majeure partie des packages pour fonctionner sur mes sentinelles Windows et je n’ai pas tout testé sur Mono !
La prochaine version de la Console permettra d’indiquer les compatibilités entre package & sentinelle (courant Janvier).
De plus je compte aussi revoir tous mes packages pour tester et tenter de corriger leurs fonctionnement sous Mono/Linux. La plupart du temps il s’agit de petit détail simple à régler !
Dans ton cas, un problème de reférence vers une assembly ! Je pense qu’en jouant avec les AssemblyBindings on pourrait corriger le soucis ! Je regarde çà asap!
A bientôt,
Sébastien