Créer une sonde virtuelle NetAtmo pour votre solution domotique

La station météo NetAtmo que je vous ai présenté il y a quelques jours ici offre la possibilité d’exploiter ses données via une API…

Nous allons pouvoir donc créer des sondes virtuelles dans nos applications ou box Domotique et les intégrer dans des scénarios de chauffage ou d’alertes.

Il suffit de créer une application sur la page NetAtmo dédiée à l’API pour en récupérer certaines données nécessaires à la suite.

Une fois connecté sur dev.netatmo.com avec ses propres identifiants, « Create An App » et remplir les champs vides.

Seetings App NetAtmo

Ensuite il faut télécharger le SKK PHP sur le répertoire GITHUB afin de l’installer et de le configurer sur un serveur perso ou son NAS pour ceux qui en possède un.

Ouvrir le fichier config.php pour l’éditer avec vos paramètres récupérés dans votre application NetAtmo.

config php netatmo

Puis créer un fichier exemple.php avec le code php suivant :

#!/usr/bin/php
 <?php
 /*
 Authentification au Serveur Netatmo avec vos identifiants API
 */
 require_once 'NAApiClient.php';
 require_once 'Config.php';
$client = new NAApiClient(array("client_id" => $client_id, "client_secret" => $client_secret, "username" => $test_username, "password" => $test_password));
 $helper = new NAApiHelper();
try {
 $tokens = $client->getAccessToken();
} catch(NAClientException $ex) {
 echo "An error happend while trying to retrieve your tokens\n";
 exit(-1);
 }
$devicelist = $client->api("devicelist", "POST");
 $devicelist = $helper->SimplifyDeviceList($devicelist);
 $mesures = $helper->GetLastMeasures($client,$devicelist);
echo "<DOMONETATMO>";
 echo "<STATION_NAME>".$mesures[0]['station_name']."</STATION_NAME>";
 echo "<INT>";
 echo "<TEMPERATURE>".$mesures[0]['modules'][0]['Temperature']."</TEMPERATURE>";
 echo "<CO2>".$mesures[0]['modules'][0]['CO2']."</CO2>";
 echo "<HUMIDITY>".$mesures[0]['modules'][0]['Humidity']."</HUMIDITY>";
 echo "<PRESSURE>".$mesures[0]['modules'][0]['Pressure']."</PRESSURE>";
 echo "<NOISE>".$mesures[0]['modules'][0]['Noise']."</NOISE>";
 echo "</INT>";
 echo "<EXT>";
 echo "<TEMPERATURE>".$mesures[0]['modules'][1]['Temperature']."</TEMPERATURE>";
 echo "<HUMIDITY>".$mesures[0]['modules'][1]['Humidity']."</HUMIDITY>";
 echo "</EXT>";
 echo "</DOMONETATMO>";
 ?>

Ce fichier récupérera vos données NetAtmo grâce à votre fichier config.php et générera une réponse xml. Vous pourrez ainsi interpréter les balises xml dans vos box ou applications domotique compatible avec ce type de données comme la Zibase, eedomus, Homeseer et bien d’autres…

Capteur NetAtmo Eedomus

Un exemple pour votre Box Domotique eedomus :

  • Créer un capteur HTTP
  • Sélectionner Nombre Décimal
  • Inscrire votre chemin url de votre fichier xxxxxxx.php
  • Donner le chemin de la balise

Sonde NetAtmo Zibase

Sur une Zibase la procédure est différente car l’interprétation xml ne prend en compte qu’un chemin de balise. Il faudra donc un autre exemple PHP pour interpréter chaque sonde NetAtmo

Vous pouvez dans ce cas utiliser l’exemple de Cédric qui met son code PHP à disposition ou faire le votre avec les exemples fournis par le SDK.

  • Affecter un chaine de caractère à une variable et indiquer la balise
  • Indiquer l’URL dans « commander par http » et lire en retour la valeur balisée par la variable
  • Alimenter une sonde par la variable et appliquer une conversion plus un offset
  • Récupérer l’ID de la sonde dans le suivi d’activité
  • Créer une sonde virtuelle avec cet ID

Ceci n’est qu’un exemple d’utilisation de l’API NetAtmo via le SDK PHP mais il est possible d’aller encore beaucoup plus loin, nous y reviendrons un peu plus tard pour d’autres utilisations…

Netatmo_station_meteo_iphone_ipad

En attendant voilà de quoi alimenter vos solutions domotique de nouvelles sondes et de nouvelles conditions pour vos scénarios.

Author: Pascal STEPHANY

Rédacteur en Chef du Blog Domotique Info, je suis avant tout un passionné de nouvelles technologies depuis de nombreuses années... Je partage mon expérience Domotique sur ce Blog depuis 2008 en réalisant des tests ou des tutos avec comme objectif, celui de rendre la Domotique accessible à tous... Après avoir travaillé en tant qu'installateur Domotique pendant 5 ans j'ai créé mon entreprise de vente en ligne My Domotique en 2012, une boutique spécialisée dans les solutions Domotique grand public.

Share This Post On