Sakkhho Posté(e) le 13 mai 2015 Signaler Posté(e) le 13 mai 2015 Nous y sommes ;-) Voila le code pour les precipitations antérieurs et futures basées uniquement sur WU. peut être qu'il faut que je créer un autre topic pour cela. (en meme temps j'ai bien pollué le tuto de steven depuis ) Un bouton pour 1heure, aujourd'hui, hier et les 5 derniers jours local cle_api = "key1" -- cle api de chez Wunderground local pws = "Your station" -- station ID local WGROUND = Net.FHttp("api.wunderground.com",80) local previous_day = 5 rain1hour = 0 raintoday = 0 rain5days = 0 rainyesterday = 0 -- 7 calls API WU ici +1 Prevision = 8 -- precipitations derniere heure et aujourd'hui -- local response ,status, err = WGROUND:GET("/api/"..cle_api.."/conditions/lang:FR/q/pws:"..pws..".json") local jsonTable = json.decode(response) fibaro:debug(jsonTable.current_observation.precip_1hr_metric) rain1hour = jsonTable.current_observation.precip_1hr_metric fibaro:debug(jsonTable.current_observation.precip_today_metric) raintoday = jsonTable.current_observation.precip_today_metric -- precipitations hier -- local response ,status, err = WGROUND:GET("/api/"..cle_api.."/history_".. os.date("%Y%m%d",os.time()-1*24*3600) .."/lang:FR/q/pws:"..pws..".json") local jsonTable = json.decode(response) fibaro:debug(os.date("%Y%m%d",os.time()-1*24*3600)) fibaro:debug(jsonTable.history.dailysummary[1].precipm) rainyesterday = rainyesterday + jsonTable.history.dailysummary[1].precipm -- precipitations des 5 derniers jours -- for i = 1, previous_day do local response ,status, err = WGROUND:GET("/api/"..cle_api.."/history_".. os.date("%Y%m%d",os.time()-i*24*3600) .."/lang:FR/q/pws:"..pws..".json") local jsonTable = json.decode(response) fibaro:debug(os.date("%Y%m%d",os.time()-i*24*3600)) fibaro:debug(jsonTable.history.dailysummary[1].precipm) rain5days = rain5days + jsonTable.history.dailysummary[1].precipm end fibaro:debug(" Il est tombé " .. rain1hour .. " mm depuis 1 heure") fibaro:debug(" Il est tombé " .. raintoday .. " mm aujourd'hui") fibaro:debug(" Il est tombé " .. rainyesterday .. " mm hier") fibaro:debug(" Il est tombé " .. rain5days .. " mm depuis " .. previous_day .. " jours") -- label -- fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblHeure.value", rain1hour .. " ") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblJour.value", raintoday .. " ") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblHier.value", rainyesterday .. " ") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lbl5.value", rain5days .. " ") un bouton pour les 10 derniers jours local cle_api = "key2" -- cle api de chez Wunderground local pws = "Your station " -- station ID local WGROUND = Net.FHttp("api.wunderground.com",80) local previous_10days = 10 -- max 10 calls per minute rain10days = 0 for i = 1, previous_10days do local response ,status, err = WGROUND:GET("/api/"..cle_api.."/history_".. os.date("%Y%m%d",os.time()-i*24*3600) .."/lang:FR/q/pws:"..pws..".json") local jsonTable = json.decode(response) fibaro:debug(os.date("%Y%m%d",os.time()-i*24*3600)) fibaro:debug(jsonTable.history.dailysummary[1].precipm) rain10days = rain10days + jsonTable.history.dailysummary[1].precipm end fibaro:debug(" Il est tombé " .. rain10days .. " mm depuis " .. previous_10days .. "jours") fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lbl10.value", rain10days .. " ") Un bouton prevision (celui de Steven) local max_day = 3 -- 3 par défaut local cle_api = "key1" -- cle api de chez Wunderground local pws = "your station" -- station ID local WGROUND = Net.FHttp("api.wunderground.com",80) local response ,status, err = WGROUND:GET("/api/"..cle_api.."/forecast/lang:FR/q/pws:"..pws..".json") local rain = -1 if (response ~= nil) then rain = 0 local jsonTable = json.decode(response) max_day = max_day + 1 if (#jsonTable.forecast.simpleforecast.forecastday < max_day) then max_day = #jsonTable.forecast.simpleforecast.forecastday end for i = 1, max_day do fibaro:debug(jsonTable.forecast.simpleforecast.forecastday[i].conditions) fibaro:debug(jsonTable.forecast.simpleforecast.forecastday[i].qpf_allday.mm) rain = rain + jsonTable.forecast.simpleforecast.forecastday[i].qpf_allday.mm end fibaro:debug("Prévision pour les " .. (max_day-1) .. " prochains jours : " .. rain .. " mm") end fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblPrevu.value", rain) je vous conseille d'avoir 2 clé d'API WU, car on est limité à 10 appels minutes pour la clé gratuite. et de jouer avec les boutons "en bon pere de famille" :-) sinon c'est le carton rouge assuré. on doit probablement pouvoir optimisé les appels, mais mes competences étant niveau 0.1, je vais difficilement pouvoir faire mieux; A++ 1
Plap3014 Posté(e) le 13 mai 2015 Signaler Posté(e) le 13 mai 2015 Wow! super boulo! tu peux nous partager ton VD? merci,
Sakkhho Posté(e) le 13 mai 2015 Signaler Posté(e) le 13 mai 2015 Oui c était l idée mais je ça sera demain je pense car peu le temps d ici ce soir. EDIT : ici http://www.domotique-fibaro.fr/index.php/topic/4740-pluviométrie-avec-weatherunderground/
MasterBT Posté(e) le 2 juin 2015 Signaler Posté(e) le 2 juin 2015 Bonjour, c'est vraiment du super boulot. C'est propre et ca marche! Un grand bravo Je chercher à récupérer les prévisions de température de la journée également. savez vous si c'est facilement disponible avec la même api? *je débute* Merci
cybersquat Posté(e) le 11 juin 2015 Signaler Posté(e) le 11 juin 2015 re tout le monde, dans la débug dans rafraîchir données j'ai ca !! quelqu'un l'a déjà eu ? [DEBUG] 08:35:09: 6 [DEBUG] 08:35:09: Ciel dégagé [DEBUG] 08:35:09: 0 [DEBUG] 08:35:09: Prévision pour les 2 prochains jours : 11 mm [ERROR] 08:35:09: line 52: attempt to index local 'precipitation' (a number value)
GEPETOS Posté(e) le 11 août 2015 Signaler Posté(e) le 11 août 2015 La récupération de la pluviométrie de la netatmo fonctionne encore chez vous ?
Cardane Posté(e) le 18 août 2015 Signaler Posté(e) le 18 août 2015 j'ai installé le Vd et la scène de Steven. Je ne dispose pas encore du pluviomètre sur ma Netatmo, mais par conter je sais qu'il y en a une à200 mètres de chez moi. J'ai donc laissé le paramètre long_lat_adjust à0.1 (j'ai essayé aussi avec 0.2), mais je ne sais pas pourquoi, les données 7j et 30j m'affichent toujours N/A est-ce quelqu'un a déjàeu ce problème ? Normalement il devrait pouvoir les obtenir sur la Netatmo du voisin, non ?
Did Posté(e) le 18 août 2015 Signaler Posté(e) le 18 août 2015 Sans les identifiants de ton voisin pour y accéder, c'est compromis non?
Steven Posté(e) le 18 août 2015 Auteur Signaler Posté(e) le 18 août 2015 Les voisins ne sont pas si généreux que cela Les données publique ne donnent que la pluie en temps réel et la journée, rien de plus. A toi par exemple de stocker et cumuler ces valeurs dans une variable globale. Je crois que cela a déjà été mentionné il y a quelques posts en arrière. Ou alors comme le dit Did, d'aller demander les accès à ton voisin :-)
Cardane Posté(e) le 18 août 2015 Signaler Posté(e) le 18 août 2015 @Did et Steven, ok merci de votre réponse rapide , je croyais que les infos historiques étaient dispos en public :-) bon ben vais aller acheter le pluviomètre, ce sera plus simple que d'aller voir mon cher voisin
Steven Posté(e) le 18 août 2015 Auteur Signaler Posté(e) le 18 août 2015 C'est pas faux mais plus cher
Cardane Posté(e) le 18 août 2015 Signaler Posté(e) le 18 août 2015 oui mais tu ne connais pas mon voisin 1
elacombe Posté(e) le 16 septembre 2015 Signaler Posté(e) le 16 septembre 2015 Bonjour, Comment faire pour que les données de pluviométrie puissent se mettre à jour automatiquement dans le VD lorsqu'on l'ouvre? Sur ma tablette, je suis obligé de lancer manuellement la scène "pluie" avant d'ouvrir le VD pour que les données se mettent à jour. Il n'y aurait pas moyen de lancer la scène en automatique? ou d'intégrer un bouton dans le VD pour "rafraichir" les données? Merci.
Steven Posté(e) le 29 septembre 2015 Auteur Signaler Posté(e) le 29 septembre 2015 Je viens de voir le post ... désolé. Perso, je ferais une scène (en mode bloc) qui s'exécute toutes les 10 minutes et qui va lancer la scène souhaitée. Ainsi tu pourras rafraîchir ainsi plusieurs scènes en les ajoutant simplement à celle ci. Simple non ?
flechg Posté(e) le 2 octobre 2015 Signaler Posté(e) le 2 octobre 2015 Nouvelle version (2.0) du script (spécial Sakkhho) : Edit : nouvelle version du script. Si ce dernier détecte que vous n'avez pas de pluviomètre, il va rechercher un pluviomètre à proximité de chez vous (uniquement les relevés de la dernière heure et jour). La distance de recherche peux être adaptée en ajustant la variable long_lat_adjust (0.1 par défaut). Il s'agit du cercle de recherche en latitude/longitude autour de chez vous. BONJOUR A TOUS juste une petite question comment faire si l on veut faire remonter les résultats dans deux variables par ex rain1h et RainDay quel code faut il rentrer si quelqu un peut m eclairer ?? merci encore pour votre patience s
flechg Posté(e) le 27 décembre 2015 Signaler Posté(e) le 27 décembre 2015 Bonjour a tous en espérant que vous avez passé un bon noà«l je reviens vers vous car je n arrive pas a faire remonter les résultats dans les variables rainday et rainhour que j ai créé j ai mis cela mais rien n y fait fibaro:setGlobalvalue("rainday",w.rain_24h) fibaro:setGlobal("rainhour",w.rain_60min) merci encore
i-magin Posté(e) le 27 décembre 2015 Signaler Posté(e) le 27 décembre 2015 Un petit peu d'attention devrait te mettre sur la piste... Tu utilises deux commandes différentes sur 2 lignes ? La seconde étant la bonne 1
flechg Posté(e) le 27 décembre 2015 Signaler Posté(e) le 27 décembre 2015 merci i-magin oui effectivement mais c est un copié collé j ai pas fait attention effectivement la 2eme ligne étant la bonne mais mon problème ne venait pas de la j ai finalement trouvé. mon pb venait du fait que je ne trouvais pas ou l inserer dans la scene pour faire remonter le résultat dans la variable merci quand même et bonne fête 1
flechg Posté(e) le 7 février 2016 Signaler Posté(e) le 7 février 2016 Bonsoir a tous voila depuis quelques jours j ai le problème suivant je n arrive plus a faire remonter les infos sur le module virtuel et j ai se message d erreur merci par avance s [DEBUG] 18:12:01: [1;31m2016-02-07 18:12:01.744527 [ fatal] LUA error: /opt/fibaro/scenes/457.lua:217: bad argument #1 to 'pairs' (table expected, got nil)
Invité chris6783 Posté(e) le 7 février 2016 Signaler Posté(e) le 7 février 2016 Je ne connais pas ce VD mais c assez typique d'une variable globale contenant un table JSON et qui serait passée àla valeur NaN en sauvant une variable voisine. Si le VD s'occupe de créer les VG en mode automatique tu peux supprimer ton ancienne variable et redémarrer. Il faudra ensuite peut être reprendre la conf du VD Envoyé de mon SM-G850F en utilisant Tapatalk
flechg Posté(e) le 8 février 2016 Signaler Posté(e) le 8 février 2016 @CHRIS6783 Merci de ton aide je viens de rentrer et je me suis attelé a essayer de remettre mon module en fonctionnement mais rien a faire j ai le même message d erreur je comprends pas du jour au lendemain il marche plus je suis reparti de zéro mais rien y fait si quelqu un a une idée je suis preneur merci encore s
flechg Posté(e) le 18 février 2016 Signaler Posté(e) le 18 février 2016 Bonsoir toujours le même problème je pense que le problème vient principalement de la mis à jours 4.070 par contre je ne sais pas comment contourner ce problème si quelqu un a une idée je suis preneur cordialement s
flechg Posté(e) le 19 mars 2016 Signaler Posté(e) le 19 mars 2016 Bonsoir même après mise a jour 4.080 même message d erreur est ce que quelqu’un a ce problème merci encore s
flechg Posté(e) le 22 avril 2016 Signaler Posté(e) le 22 avril 2016 Bonjour juste une question suis je le seul a avoir ce problème je comprends pas c est quoi ce message d erreur sorti de nul part cela viendrait il de la version 4.080 merci quand même [DEBUG] 18:12:01: [1;31m2016-02-07 18:12:01.744527 [ fatal] LUA error: /opt/fibaro/scenes/457.lua:217: bad argument #1 to 'pairs' (table expected, got nil)
Berale64 Posté(e) le 4 août 2016 Signaler Posté(e) le 4 août 2016 J'ai installé mon pluviomètre qui fonctionne très bien. Je me suis empressé de reprendre le code de Steven (merci à toi) mais en faisant un grand ménage pour ne garder que la partie pluviomètre local. J'ai aussi fait un essai d'une petit scène de 3 lignes qui en mode trigger reprend les valeurs du device que génère le plugin Fibaro. J'ai l'impression que Fibaro ne remonte que la moitié des valeurs Netatmo. On vient d'avoir une petite averse. Le code de Steven me donne 2.9mm (ce qui correspond à la valeur de l'appli Netatmo) et ma scène donne 1.4mm. Quelqu'un a-t-il aussi fait cette expérience ? 2
Messages recommandés