Accueil » Domotique » guides domotiques » Eedomus » Suivre le niveau des batteries des périphériques Netatmo sur eedomus
Eedomus

Suivre le niveau des batteries des périphériques Netatmo sur eedomus

Utilisant la station météo Netatmo par l’intermédiaire de ma box domotique (eedomus), je me suis retrouvé un matin, sans température extérieur.
L’application Netatmo m’indiquait qu’il n’y avait plus de communication avec le module extérieur. En fait, les piles du module extérieur étaient tout simplement« vides ».

Au niveau de l’API Netatmo de la station, nous n’avons pas cette information. En cherchant un peu sur le site de développement de Netatmo, j’ai trouvé le moyen d’avoir cette information.

Je vous propose donc, par l’intermédiaire de deux scripts, d’avoir le niveau de la batterie via une box domotique. Nous allons voir ici comment l’exploiter sur la box eedomus mais sachez que ce tuto est tout à fait transposable à une autre box.

 

Avant de commencer

Pour vous permettre d’utiliser ces scripts, vous aurez besoin d’un ordinateur type Raspberry Pi, je vais utiliser durant ce tuto un RPi B mais un autre modèle est également pleinement compatible.

Sur ce Rasbberry auront été installés avant de démarrer, un serveur web compatible php ainsi que le framework python (déjà installé sur les dernières versions de Raspbian).

Il faut aussi avoir un compte sur le site de développement Netatmo (https://dev.netatmo.com/).

Vous êtes prêts?

2 Pour commencer, il est nécessaire d’installer un package supplémentaire pour permettre au script python de fonctionner sans erreur.

Pour cela passez la commande suivante dans le terminal

sudo apt-get install python-lxml

Je vous conseille d’installer les deux scripts dans un répertoire accessible du serveur web.

Placez vous dans le répertoire web de votre raspberry, généralement /var/www/html/

cd /var/www/html/

téléchargez à présent les fichier depuis github

git clone https://github.com/domoblog/Netatmo_battery.git

 

Télécharger depuis Github

 

Création d’une appli Netatmo

1 Afin de pouvoir interoger les données de la station Netatmo via un script, nous allons devoir créer un accès, pour cela rien de compliqué, il faut simplement créer une nouvelle application sur le portail Netatmo à l’adresse suivante: https://dev.netatmo.com/

2 Après avoir cliqué sur CREATE YOUR APP vous arrivez sur la fenêtre suivante, saisissez les information concernant la nouvelle application puis faites, CREATE AN APP

3 Votre application est crée, cliquez sur son icône pour ouvrir son contenu

4 Copier les Client id et Client secret dans un coin pour la suite

 

La configuration du script

Il vous reste maintenant à modifier les informations liées à votre compte personnel et aux clients id et secret de l’application que vous venez de créer, dans le fichier python.

1 Premièrement, il faut éditer le fichier stationmeteo_battery.py
sudo nano stationmeteo_battery.py
2 L’API utilisée a besoin d’un access_token. La particularité de cet access_token est qu’il change de manière automatique. C’est pour cela qu’il est nécessaire de s’authentifier à chaque appel. C’est la première partie du script. Remplacer les phrases par vos identifiants Netatmo et client IDs copier plus haut dans les lignes 23 à 26

3 Ensuite, nous avons besoin de la ID de la station a renseigner en ligne 38

4 Pour cela, il est nécessaire d’utiliser une fonction du site de développement. Il faut être authentifié sur le site de développement Netatmo au préalable et se rendre sur l’URL suivante:

https://dev.netatmo.com/dev/resources/technical/reference/weatherstation/getstationsdata

5 Vous devez obtenir cette page

6 Cliquer sur la flèche Jaune.

7 Vous ne faites aucun changement. Vous devez avoir que le champ access_token de rempli. Vous cliquez sur TRY IT

Vous devez obtenir la page ci dessus. Maintenant, nous allons récupérer l’ID de la station.

8 Vous cliquer sur le triangle devant body.Vous devez obtenir cette page:

9 Vous cliquer sur le triangle devant devices.Vous devez obtenir cette page :

10 Vous cliquer sur le triangle devant [object Object]. Vous devez obtenir cette page :

 

L’ID de la station est ainsi fourni. Il ne reste plus qu’à mettre à jour le fichier stationmeteo_battery.py.

Dernier point concernant le fichier python. Il est important que le nom des modules soit sans espace.

Configuration coté eedomus

Au niveau de la configuration de la box domotique Eedomus, il suffit de créer un HTTP-Capteur, et ceci pour chaque module associé à la station météo dont vous souhaitez surveiller le niveau de la batterie.

Pour avoir le pourcentage de la batterie du module vendu par défaut avec la station, vous mettez le nom que vous avez défini via l’application Netatmo.

 

Il ne vous reste plus qu’à mettre en place une règle pour être prévenu du niveau faible de la batterie. Pour cela rien de plus simple configurez la règle ainsi

Et ajouter une notification par mail avec le contenu suivant:

Le niveau de batterie d'un périphérique Netatmo est faible, pensez à changer les piles.
-----------------------------------------------------
Niveau bat Pluviomètre : [LAST_VALUE PERIPH_ID=xxxxx]%
Niveau bat Anémomètre : [LAST_VALUE PERIPH_ID=xxxxx]%
Niveau bat Module : [LAST_VALUE PERIPH_ID=xxxxx]%
-----------------------------------------------------

Remplacez simplement les xxxxx par les codes API de vos modules

A présent, quand le niveau des pile sera trop faible, vous recevrez un mail pour les remplacer avant que le périphérique ne communique plus !

 

Conclusion

Maintenant vous ne manquerez plus les le remplacement des piles de vos modules netatmo, en fonction du niveau d’alerte configurer, il vous laisse même bien assez de temps pour réagir. A vous de jouer à présent !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

17 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Merci, installé sur un Syno avec le module Python de Synocommunity et ça fonctionne.
    Dommage que tu n’aies pas de thermostat Netatmo, j’aurais bien aimé récup la valeur aussi 🙂

    (Ceci dit je vais essayer d’adapter le script)

      • Oui je l’ai mis dans le répertoire web comme j’utilise déjà pour remonter les consommations eedomus

      • Je précise juste que via un autre script php présent sur le répertoire web que j’appelle via eedomus j’arrive a créer un fichier xml. Le problème semble venir de la syntaxe pour lancer le fichier py.

      • oui c’est bizarre car on a l’impression qu’il manque juste un petit quelque chose pour que ça tourne 😉
        Si @Leixia:disqus peut nous aider en nous décrivant comment faire … merci d’avance

      • Pour que je sois notifié, il faut répondre à mon commentaire !

        As tu bien vérifié les droits via le chmod sur les 3 fichiers?

        Sinon pas d’accent sur vos périphériques netatmo, si c’est le cas changez les dans votre application netatmo

      • Np, les accents sont souvent cause de soucis! En général, vaut mieux les éviter (comme les espaces)
        Désolé pour le temps de réponse, mais je n’étais pas revenu sur l’article

      • idem, installé sur mon syno, il me génère bien un xml mais juste avec ça :
        Ext>

        j’ai du rater une étape mais laquelle ?
        j’ai vérifié mes 3 modules s’appellent : pluviomètre, anémomètre et Extérieur
        une idée svp?

  • Salut,

    Je comprends pas trop ce qu’il faut mettre à la ligne 37 et 38 par rapport à _id et cipher_id. Peux-tu me dire stp ?

    Merci

    • bonjour,

      il faut mettre l’access token Netatmo qui est disponible dans le compte Netatmo développer. L’adresse MAC de la station et elle aussi indiqué dans les données du compte.

construction et domotique
promos domotique
Choix box domotique
promos domotique

Avant de commencer

Pour vous permettre d’utiliser ces scripts, vous aurez besoin d’un ordinateur type Raspberry Pi, je vais utiliser durant ce tuto

Vous êtes prêts?

2

Création d’une appli Netatmo

1

La configuration du script

Il vous reste maintenant à modifier les informations liées à votre compte personnel et aux clients id et secret de l’application

Configuration coté eedomus

Au niveau de la configuration de la box domotique Eedomus, il suffit de créer un HTTP-Capteur, et ceci pour chaque

Conclusion

Maintenant vous ne manquerez plus les le remplacement des piles de vos modules netatmo, en fonction du niveau d’alerte configurer,

  • Avant de commencer
  • Vous êtes prêts?
  • Création d’une appli Netatmo
  • La configuration du script
  • Configuration coté eedomus
  • Conclusion