Steven Posté(e) le 5 juillet 2014 Signaler Posté(e) le 5 juillet 2014 Ok me faut le pc, je regarde toute àl'heure. Envoyé de mon GT-I9192 en utilisant Tapatalk
Steven Posté(e) le 5 juillet 2014 Signaler Posté(e) le 5 juillet 2014 ligne 137 du script il y a "sum_rain &date_end=last". SI tu regardes bien, j'ai laissé un espace avant le &, pourrais-tu supprimer cet espace et retester. Merci d'avance
tarentino Posté(e) le 6 juillet 2014 Signaler Posté(e) le 6 juillet 2014 @Steven, C'est beaucoup mieux par contre j'ai été obligé de faire quelques adaptations : 1 - dans le main loop de la passerelle : XX étant l'ID du module passerrelle local int = fibaro:getValue(96, "ui.sIntTemp.value") local ext = fibaro:getValue(XX, "ui.sExtTemp.value") local inth = fibaro:getValue(XX, "ui.sIntHum.value") local exth = fibaro:getValue(XX, "ui.sExtHum.value") fibaro:call(XX, "setProperty", "ui.lblInfo.value", "Intérieur "..int.." C° / Extérieur "..ext.." C°") fibaro:call(XX, "setProperty", "ui.lblInt.value", int.." C° / " ..inth.."%") fibaro:call(XX, "setProperty", "ui.lblExt.value", ext.." C° / " ..exth.."%") 2 - dans le main loop les modules (température int pour l'exemple): XX étant l'ID du module passerelle YY étant l'ID du module local int = fibaro:getValue(XX, "ui.sIntTemp.value") local inth = fibaro:getValue(XX, "ui.sIntHum.value") fibaro:call(YY, "setProperty", "ui.lblInfo.value", int.." C° / " ..inth.."%") 3 - Pour l'icone de la passerelle : Si jamais elle a tendance à s'éclipser, changer l'icône de chaque slider, et là plus de soucis. Encore un grand merci à toi Steven pour cette magnifique intégration.
Steven Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Pour allez plus loin dans mes besoins personnels, j'ai rajouté la quantité de pluie de la semaine ainsi que celle du mois. Et ben c'est pas très très fiable ce que me retourne l'API Heure 0 Aujourd'hui 10.2 Semaine 8.800000000000001 Mois 44.4 Il y a eu moins depluie cette semaine qu'aujourd'hui ... hummmm est ce que hier les nuages ont aspirer la pluie pour faire -1.4 ? Je vais suivre cela avec attention.
Lazer Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 c'est l'évaporation alors ou alors, dans la semaine, il ne compte pas le jour en cours. Il faudra que tu vérifies demain si la valeur pour la semaine a bien augmentée ou pas.
Steven Posté(e) le 7 juillet 2014 Signaler Posté(e) le 7 juillet 2014 Les mesures de type : 1week - sont remises à zéro tout les lundi matin 1month - sont remises à zéro tout les 1er du mois. Pour obtenir la bonne information, il faut demandé les valeurs 1day depuis aujourd'hui - 7 jour et additionner les 7 valeurs retournées var d = new Date(); var t = 1000 * 60 * 60 * 24 * 7 t = d.getTime() - t; d = new Date(t); httpmesures = getResponse("https://api.netatmo.net/api/getmeasure","access_token="+token+"&device_id="+int_id+"&module_id="+rain_id+"&scale=1day&type=sum_rain&date_begin="+d.toUTCString()) data = JSON.parse(httpmesures) for (var i in data.body[0].value) { rain_week = rain_week + data.body[0].value[i][0] } rain_week = rain_week.toFixed(2)
Lazer Posté(e) le 8 juillet 2014 Signaler Posté(e) le 8 juillet 2014 Ah oui c'est plus compréhensible ça. J'avais lu trop vite hier soir et loupé le "les nuages ont aspiré la pluie".... très bon
Shyrka973 Posté(e) le 9 juillet 2014 Signaler Posté(e) le 9 juillet 2014 @Steven, Pour que le script puisse mettre à jour directement le module virtuel depuis Google Drive, il faut que le HC2 soit accessible depuis Internet. Exact ?
Steven Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Exact Envoyé de mon GT-I9192 en utilisant Tapatalk
DeuxG Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Je viens d'aller acheter la mienne. 69,95€ chez Tel and Com pendant les soldes. Pour info, il en reste une chez Tel and Com Thionville
Steven Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Sacré joli offre -70% ... bravo.
DeuxG Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Et c'est dans tout les Tel and com de France. Ils liquident car ils ne veulent plus vendre de Netatmo. Je voulais partager l'info au plus vite. Merci pour ton script et ton module. Je test ça chez moi ce soir.
xtrem57 Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 DeuxG merci de l'info, je passe a Geric dans l’heure :-)
lolomail Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Acheté ce jour chez tel&co, me reste plus qu'a l'intégré dans la HC2
DeuxG Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 Ola, tout le monde s'y mets. Faut dire qu'àce prix là, faut pas hésiter
Steven Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 J'ai plus qu'àte répondre lolomail mais ce soir faut que je dorme. Envoyé de mon GT-I9192 en utilisant Tapatalk
lolomail Posté(e) le 10 juillet 2014 Signaler Posté(e) le 10 juillet 2014 lol oui mais bon cela ne presse pas, j'ai d'abord le tuto dont tu as posté le lien pour le PHP àregarder / mettre en place
Gwendal Posté(e) le 11 juillet 2014 Signaler Posté(e) le 11 juillet 2014 Oui je viens de voir chez Tel&Co qu'il a 69,90€ au lieu de 169€, ça vaut vraiment le cout Merci Lolomail pour l'info
DeuxG Posté(e) le 11 juillet 2014 Signaler Posté(e) le 11 juillet 2014 Ça fait toujours plaisir d'être reconnu. Lol
Yohan Posté(e) le 11 juillet 2014 Signaler Posté(e) le 11 juillet 2014 Lol Gwendal c'est DeuxG qui à donné l'info. J'espère pouvoir aller chercher la mienne demain après midi. Merci
Steven Posté(e) le 11 juillet 2014 Signaler Posté(e) le 11 juillet 2014 lol oui mais bon cela ne presse pas, j'ai d'abord le tuto dont tu as posté le lien pour le PHP à regarder / mettre en place Voici voilà Si on pars du principe que tu as un module virtuel qui contient les données utiles pour l'arrosage ... soit la quantité de pluie de la semaine, ou des X derniers jours. Je me base sur 2 choses : Les prévisions de pluie La quantité de pluie reçue la semaine dernière Pour obtenir la quantité de pluie, voici mon code ... j'utilise Weather Underground il faut une clé API que tu peux créer sur leur site et il faut aussi trouvé le PWS le plus proche de chez toi Code du bouton Prévision. Le résultat est stocké dans le label 3 Jours -> qui a comme ID "lblPrevu" local max_day = 3 local api_key = "XXXXXXXXXXXX" local pws = "IGENVEVE2" local WGROUND = Net.FHttp("api.wunderground.com",80) local response ,status, err = WGROUND:GET("/api/"..api_key.."/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) Derrière le code du bouton calculer arrosage, j'ai mis le code suivant -- Déterminer si un arrosage est nécessaire -- en ce basant sur les 7 derniers jours -- et les 3 prochains local quantie_jour_mm = 4 -- mon gazon nécessite 4mm / jour local quantite_mm_en_une_heure = 0.3*4 -- mon arrosage fourni 1.2mm / heure local nb_jour_prevision = 3 -- le prévisions sont basé sur 3 jours local semaine = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblSemaine.value")) local prevision = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblPrevu.value")) local pluiencours = tonumber(fibaro:getValue(fibaro:getSelfId(), "ui.lblHeure.value")) > 0.2 local msg = "" if (prevision > (quantie_jour_mm*nb_jour_prevision)*1.5 ) then -- Il est prévu de pluvoir plus que souhaité msg = "Il est prévu de beaucoup pleuvoir" fibaro:setGlobal("Arrosage", "NON") elseif (semaine > (quantie_jour_mm*nb_jour_prevision)*1.5) then -- Il a trop plu msg = "Il a déjà trop plu" fibaro:setGlobal("Arrosage", "NON") elseif (semaine == 0 and (prevision < (quantie_jour_mm*nb_jour_prevision)*1.5) and (prevision >= (quantie_jour_mm*nb_jour_prevision))) then -- Sol sec, préparation utile if (pluiencours) then msg = "Il pleux" fibaro:setGlobal("Arrosage", "NON") else msg = "Sol sec, préparation souhaitée" fibaro:setGlobal("Arrosage", "PREPARATION") end else if (pluiencours) then msg = "Il pleux" fibaro:setGlobal("Arrosage", "NON") else local besoin = nb_jour_prevision * quantie_jour_mm besoin = besoin - prevision msg = "Besoin de " .. besoin .. " mm soit " .. math.floor((besoin/quantite_mm_en_une_heure) ).. " heures" fibaro:setGlobal("Arrosage", "OUI") end end -- Je m'envoi un push après chaque calculme laissant le temps d'intervenir. fibaro:call(122, "sendPush", msg) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label7.value", msg) fibaro:debug(msg) Ce code joue avec la variable globale "Arrosage" qui peut être à "OUI", "NON", "PREPARATION" ensuite j'utilise GEA pour appuyer sur mon bouton "Prévision" tout les jours (Préparation = on attend un peu de pluie mais la terre est trop sèche. On arrose donc un tout petit peu pour préparer le terrain). Je calcule le besoin d'arrosage tout les mardi et vendredi matin et enclenche si nécessaire (mardi pour un arrosage complet (3h), mardi et vendredi pour un petit arrosage 30mn) -- === Arrosage === -- -- On rafraichi les prévisions de pluie toutes les heures GEA.add({"Global", "", ""}, 60*60, "", {{"VirtualDevice", id["VD_PLUIE"], "7"}}) -- On calcul le besoin d'arrosage GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", id["VD_PLUIE"], "9"},{"Days", "Tuesday, Friday"}, {"Time", "07:55", "07:56"}}) -- Allumage de l'arrosage automatique GEA.add({"Global", "Arrosage", "OUI"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday"}, {"Time","08:00","11:00"}}) GEA.add({"Global", "Arrosage", "PREPARATION"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday, Friday"}, {"Time","08:00","08:30"}}) -- On éteint local longarrosage = {"If", {{"Global", "Arrosage", "OUI"}}} local courtarrosage = {"If", {{"Global", "Arrosage", "PREPARATION"}}} GEA.add(id["ARROSAGE"], 3*60*60, "", {{"turnOff"}, longarrosage, {"Global", "Arrosage", "NON"}}) GEA.add(id["ARROSAGE"], 30*60, "", {{"turnOff"}, courtarrosage, {"Global", "Arrosage", "NON"}}) Voilà ,en gros, c'est tout. Si tu as besoin de quoi que ce soit (virtuel device ou autre) hurle.
Gwendal Posté(e) le 11 juillet 2014 Signaler Posté(e) le 11 juillet 2014 Effectivement Yohan j'ai fait mon boulet... Merci a DeuxG Par contre je suis deg, j'ai voulu commander par correspondance sur le net et on peut pas Et j'ai pas de magasin Telandcom vers chez moi
lolomail Posté(e) le 12 juillet 2014 Signaler Posté(e) le 12 juillet 2014 Super bien foutu ton VD et les scripts pour la gestion de l'arrosage! Cela doit être bien plus fiable que se baser sur la meteo de la HC2
DeuxG Posté(e) le 12 juillet 2014 Signaler Posté(e) le 12 juillet 2014 Gwendal, je t'aurais bien proposé de te l'acheter, moyennant les frais de port, mais à mon avis Xtrem57 est passé chercher la dernière dès que j'ai mis l'info. Autre chose, je vais faire mon boulet, analphabète du codage, mais chez moi, je n'ai aucun retour sur le module passerelle. Tout reste à 0 J'ai vu qu'il y avais des log dans le code PHP, comment peut on vérifier qu'il fonctionne bien. En clair, est ce que je l'ai bien configuré ?
Messages recommandés