Tuto Intégration Netatmo Anémomètre - Version imprimable +- Forum Lifedomus (http://forum-lifedomus.com) +-- Forum : Vos automates et applications (http://forum-lifedomus.com/forumdisplay.php?fid=52) +--- Forum : Autres (http://forum-lifedomus.com/forumdisplay.php?fid=85) +--- Sujet : Tuto Intégration Netatmo Anémomètre (/showthread.php?tid=3879) Pages :
1
2
|
RE: Intégration Netatmo Anémomètre - Hsd - 05-27-2019 Bonjour, il faut réaliser ce tuto sur le même réseau local pour la partie validation token Oauth. RE: Intégration Netatmo Anémomètre - Al_Bla - 12-02-2019 Bonjour, Je viens d'utiliser ce super tuto, mais il me semble qu'il y a quelques erreurs. Dans le paramétrage du label commande, il faut choisir type : JS à la place de ASCII (pour moi je n'avais aucun affichage dans DS) Ensuite les mesures de vent et de rafale sont sur Netatmo en Km/h, alors que dans le paramétrage des variables (windstrg) il est en m/s. Dans Rafale on peut changer l'unité mais impossible dans vitesse du vent (windstrg). Question : Où peut faire la modif pour avoir Km/h à la place de m/s ?? Merci de votre réponse. RE: Intégration Netatmo Anémomètre - Al_Bla - 12-18-2019 Salut les chefs Parseur, un peu long je vous l'accorde !! Je n'y comprends pas grand chose, mais avec l'aide de tous ceux qui ont travaillé sur Netatmo, j'ai repris des codes qui m'ont permis de récupérer les données du Pluviomètre, de l'Anémomètre, et même en bricolant de la station. Je pensais qu'en bricolant le code ci-dessous je récupèrerai les données du module extérieure (NAModules1), mais je ne reçois dans le Listener que le message "{"error":{"code":404,"message":"Not Found"}}" Pour les autres équipements (NAModules2) et (NAModules3) j'obtiens bien les données. Exemple pour l'anémomètre : 3 9.0 1.576632695E9 230.0 22.0 250.0 11.0 241.0 8 Anémomètre 06:00:00:03:b0:66 le code pour les modules est celui-ci : //On récupère la trame et on la formate var objan = JSON.parse(trame); // Recherche et mise en forme du Module Extérieur for (i=0; i<objan.body.devices[0].modules.length; i++) { typemodules = objan.body.devices[0].modules[i].type if ( typemodules == "NAModule1" ) { parammodulexterieur = objan.body.devices[0].modules[i].dashboard_data batterymodulexterieur = objan.body.devices[0].modules[i].battery_percent } } //Récupération et mise en forme des variables disponibles id = objan.body.devices[0].modules[0]._id; nom_module=objan.body.devices[0].modules[0].module_name; temperature1 = parammodulexterieur.temperature; Temperature = parseFloat(temperature1) humidity1 = parammodulexterieur.humidity; Humidite = parseFloat(humidity1) battery1 = batterymodulexterieur; min_temp1 = parammodulexterieur.min_temp; Temperature_minimale = parseFloat(min_temp1) max_temp1= parammodulexterieur.max_temp; Temperature_maximale= parseFloat(max_temp1) date_max_temp1=parammodulexterieur.date_max_temp; Date_temperature_maxi=parseFloat(date_max_temp1) date_min_temp1=parammodulexterieur.date_min_temp; Date_temperature_mini=parseFloat(date_min_temp1) temp_trend1=parammodulexterieur.temp_trend; Evolution_temperature=parseFloat(temp_trend1) //Mise en forme pour l’état de la batterie pour Lifedomus if (battery1 < 20) { batteryan = BATTERY_LEVEL.LOW; } else if (battery1 < 80) { batteryan = BATTERY_LEVEL.MEDIUM; } else { batteryan = BATTERY_LEVEL.FULL; } //Affichage pour débugage ldprint(id); ldprint(nom_module); ldprint(Temperature); ldprint(Humidity); ldprint(Temperature_minimale); ldprint(Temperature_maximale); ldprint(Date_temperature_mini); ldprint(Date_temperature_maxi); ldprint(Evolution_temperature); ldprint(batteryan); Question : Où est mon erreur ? Il y a un problème que j'avais vu sur le forum, des variables avec le même nom, ici dans la station et dans le module extérieure ? Voilà ce que me renvoie le Listener : {"body":{"devices":[{"_id":"70:ee:50:22:a4:0a","station_name":"XXXXX","date_setup":1506167028,"last_setup":1506167028,"type":"NAMain","last_status_store":1576685936,"module_name":"Salon","firmware":140,"last_upgrade":1506167029,"wifi_status":58,"reachable":true,"co2_calibrating":false,"data_type":["Temperature","CO2","Humidity","Noise","Pressure"],"place":{"altitude":xx,"city":"AAAAAAAA","country":"FR","timezone":"Europe\/Paris","location":[4.xxxxxx,43.xxxxxxx]},"dashboard_data":{"time_utc":1576685924,"Temperature":21.5,"CO2":641,"Humidity":57,"Noise":45,"Pressure":1016.9,"AbsolutePressure":1013.3,"min_temp":21.5,"max_temp":22.8,"date_max_temp":1576668228,"date_min_temp":1576652182,"temp_trend":"stable","pressure_trend":"stable"},"modules":[{"_id":"02:00:00:22:ae:62","type":"NAModule1","module_name":"Patio","data_type":["Temperature","Humidity"],"last_setup":1506167057,"battery_percent":100,"reachable":true,"firmware":44,"last_message":1576685928,"last_seen":1576685903,"rf_status":74,"battery_vp":6050,"dashboard_data":{"time_utc":1576685903,"Temperature":16.1,"Humidity":72,"min_temp":9.7,"max_temp":22.9,"date_max_temp":1576671803,"date_min_temp":1576655504,"temp_trend":"down"}},{"_id":"05:00:00:06:c1:46","type":"NAModule3","module_name":"Pluviome\u0300tre","data_type":["Rain"],"last_setup":1575188696,"battery_percent":100,"reachable":true,"firmware":8,"last_message":1576685928,"last_seen":1576685928,"rf_status":80,"battery_vp":6196,"dashboard_data":{"time_utc":1576685916,"Rain":0,"sum_rain_1":0,"sum_rain_24":0}},{"_id":"06:00:00:03:b0:66","type":"NAModule2","module_name":"An\u00e9mome\u0300tre","data_type":["Wind"],"last_setup":1575308451,"battery_percent":100,"reachable":true,"firmware":19,"last_message":1576685928,"last_seen":1576685928,"rf_status":76,"battery_vp":6108,"dashboard_data":{"time_utc":1576685922,"WindStrength":9,"WindAngle":241,"GustStrength":11,"GustAngle":250,"max_wind_str":22,"max_wind_angle":230,"date_max_wind_str":1576632695}}]}],"user":{"mail":"xxxx_xxxx@xxxx.fr","administrative":{"lang":"fr-FR","reg_locale":"fr-FR","country":"FR_FR","unit":0,"windunit":0,"pressureunit":0,"feel_like_algo":0}}},"status":"ok","time_exec":0.09859418869018555,"time_server":1576686335} Merci de vos réponses. |