Aller au contenu

Messages recommandés

Posté(e)

Petite boulette j'ai fait une scene vierge et j'obtiens ceci (j'ai obtenue l'erreur précédente en mettant le code dans un bouton d'un VD):

 

[DEBUG] 16:34:41: Last request : 04/28/15 - 16:34:41
[DEBUG] 16:34:41: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[DEBUG] 16:34:41: ----------========== D e v i c e s =========----------
[DEBUG] 16:34:41: ----------========== Module intérieur ==========----------
[DEBUG] 16:34:41: temperature_interieure = 22.5
[DEBUG] 16:34:41: co2 = 686
[DEBUG] 16:34:41: humidite_interne = 58
[DEBUG] 16:34:41: pression = 1022.4
[DEBUG] 16:34:41: bruit = 36
[DEBUG] 16:34:41: ----------========== Module extérieur ==========----------
[DEBUG] 16:34:41: temperature_exterieure = 13.1
[DEBUG] 16:34:41: humidite_externe = 62
[DEBUG] 16:34:42: ----------========== Pluie histo ==========----------
[DEBUG] 16:34:42: rain[hour] = 1.72
[DEBUG] 16:34:42: ----------========== Pluie histo ==========----------
[DEBUG] 16:34:42: rain[day] = 57.77
[DEBUG] 16:34:43: ----------========== Pluie histo ==========----------
[DEBUG] 16:34:43: rain[week] = 291.9
[DEBUG] 16:34:43: ----------========== Pluie histo ==========----------
[DEBUG] 16:34:43: rain[month] = 291.9

Posté(e)

Excellent, cela semble fonctionner.

 

Pour info, la connexion chez Netatmo est en Https qui n'est supporté que dans les scènes et non pas dans les Modules virtuels.

Posté(e)

Je vais tester ca ce soir , donc si j'ai bien compris il faut donc créer une scène pour intégrer le code ?

 

C'est bien ca

Posté(e)

@fufuss : oui et bien remplis les informations de connexion dans le début du code avec tes propres paramètres

 

@steven : me demandais toujours pourquoi ... maintenant je sais.

Posté(e)

Après avoir intégré et tester la scène, nous avons donc une mécanique qui nous permet de récupérer les données de pluie "passée".
Il nous faut maintenant les prévisions. Pour cela, j'ai créer un compte sur wunderground car cela fonctionne bien, c'est rarement en panne et cela est facile.
 
Créer un compte : http://www.wunderground.com/weather/api/d/login.html
 
Noté la clé API exemple : 51026b9e558edfb1
 
Une fois que c'est fait, allez chercher la station la plus proche de chez vous et noté son "Station ID" : http://www.wunderground.com/weatherstation/ListStations.asp?selectedCountry=France
 
Vous avez tout ?
 
Si oui, vous pouvez continuer :

  • Importer le module virtuel ci-joint et noté son ID
  • Modifier votre scène précédemment créée
    local hc2_module_virtuel = 139
    Remplacer par l'ID de votre module virtuel
    Et remplacer la méthode afterHttpRequest par celle-ci (j'avais pas tout fini)
    function afterHttpRequest()
    	if (temperature_interieure > -1000) then end
    	if (temperature_exterieure > -1000) then end
    	if (co2 > -1000) then end
    	if (humidite_interne > -1000) then end
    	if (humidite_externe > -1000) then end
    	if (pression > -1000) then end
    	if (bruit > -1000) then end
    	if (rains["hour"] > -1000) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblHeure.value", " "..rains["hour"]) end
    	if (rains["day"] > -1000) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblJour.value", " "..rains["day"])  end
    	if (rains["week"] > -1000) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblSemaine.value", " "..rains["week"])  end
    	if (rains["month"] > -1000) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblMois.value", " "..rains["month"])  end
    end
    
  • Modifier le module virtuel
    • Derrière le bouton "Prévision" modifier avec vos informations
      local scene_netatmo = 294 -- id de la scène 
      local max_day = 3 -- 3 par défaut
      local cle_api = "49017e9e567edfb1" -- cle api de chez Wunderground
      local pws = "IAINTHOI2" -- station ID 
      
    • Derrière le bouton "Caclul" modifier avec vos informations .. ATTENTION, c'est ici qu'aurons lieu VOS calculs, je vous laisse donc mon code comme exemple. Dans mon cas, je ne fais que de modifier une variable global "Arrossage" qui peut recevoir 3 valeurs :
      NON : rien à  faire
      PREPARATION : arrossage de courte durée pour préparer le terrain a des pluies avenir
      OUI : gros arrosage car pas de pluie prévue
      local id_phone = 179
      
      local quantie_jour_mm = 4 -- représente la quantité souhaitée
      local quantite_mm_en_une_heure = 0.3*4 -- représente la puissance de votre arrosage (le mien est de 1.2mm par heure)
      local nb_jour_prevision = 3
      
    • Dans le main loop vous pouvez mettre le code suivant pour appuyer sur les boutons toutes les 10 minutes. Dans mon cas, j'utilise GEA :)
      fibaro:call(fibaro:getSelfId(), "pressButton", "7")
      fibaro:call(fibaro:getSelfId(), "pressButton", "9")
      -- dodo pendant 10 minutes
      fibaro:sleep(10*60*1000)
      

Pluie.vfib

Posté(e)

Cela semble un peu compliqué mais ... c'est vrai, c'est compliqué. 

 

Grace à  la variable globale "Arrosage" que je pilote via ce module virtuel, je regarde son statut tout les vendredis et mardis à  5h00. Si elle est à  "PREPARATION", j'active mon électrovanne pendant 30 minutes, si elle est sur "OUI", je l'ouvre pendant 2 heures.

 

-- ===  Arrosage === --
-- On rafraichi les prévisions de pluie toutes les heures // Checking wheater every hours
GEA.add(true, 60*60, "", {{"VirtualDevice", id["VD_PLUIE"], "7"}})
-- On calcul le besoin d'arrosage // Calculation to check if irrogator is needed
GEA.add(true, 30, "", {{"VirtualDevice", id["VD_PLUIE"], "9"},{"Days", "Tuesday, Friday"}, {"Time", "04:55", "04:56"}})
-- Allumage de l'arrosage automatique // Switch on irrigator
GEA.add({"Global", "Arrosage", "OUI"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday"}, {"Time","05:00","08:00"}})
GEA.add({"Global", "Arrosage", "PREPARATION"}, 30, "", {{"turnOn", id["ARROSAGE"]}, {"Days", "Tuesday, Friday"}, {"Time","07:30","08:00"}})
-- On éteint // Switch off irrigator
GEA.add({id["ARROSAGE"], {"Global", "Arrosage", "OUI"}}, 2*60*60, "", {{"turnOff"}, longarrosage, {"Global", "Arrosage", "NON"}})
GEA.add({id["ARROSAGE"], {"Global", "Arrosage", "PREPARATION"}}, 30*60, "", {{"turnOff"}, courtarrosage, {"Global", "Arrosage", "NON"}})

Posté(e)

eNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOORME, bon j'ai pas de netatmo mais je trouve ca enorme..the ONE

 

@Steven, avec le code pour wunderground, je pourrais juste recupérer les prévisions "PLUIE" à  venir ? avec le bouton prevision et calcul ? j'ai bien compris ou suis encore à  côté ? hihi

Posté(e)

@Pepite: pourras-tu nous partager ton virtuel device si tu modifie celui a Steven? j'ai pas de Netnamo moi aussi et j,aimerais bien pouvoir faire la gestion de l'arrosage avec les températures a venir.

 

merci,

Posté(e)

Juste une question. Si tu regardes mon debug je trouves mes valeur remontés bizarres, quelle est l'unité ?

Les pluies sont en mm. Tes données sont cohérentes par rapport aux miennes.
Posté(e)

@steven : merci je ferai ca dans la semaine, juste le code prévision ;-) avant de pouvoir utiliser le VD totalement ;-)

 

@Plap3014 : pas de souci, des que je l'ai fait je partagerai avec plaisir ;-)

Posté(e)

Bravo Steven ! top ce module et cette scène. :)

 

Du coup, tu crois pas qu'il faudrait ouvrir un nouveau sujet ? ca serait plus facile à  retrouver par la suite...

Posté(e)

Steven question je ne suis tout de même pas sur des données.

Je viens de supprimer toutes les mesures du pluviomêtre (depuis 2 mois) via le site web de netatmo.

lorsque je relance la scene j'obtiens ceci.

 

[DEBUG] 18:00:12: ----------========== Pluie histo ==========----------
[DEBUG] 18:00:12: rain[hour] = 0
[DEBUG] 18:00:12: ----------========== Pluie histo ==========----------
[DEBUG] 18:00:12: rain[week] = 194.4
[DEBUG] 18:00:12: ----------========== Pluie histo ==========----------
[DEBUG] 18:00:12: rain[month] = 194.4
[DEBUG] 18:00:12: ----------========== Pluie histo ==========----------
[DEBUG] 18:00:12: rain[day] = 57.77

 

As-tu une idée

Posté(e)

0mm aujourd'hui, 57mm cette semaine et 194 ce mois... Tout cela semble àpremière vue correcte. Si tu as supprimer les données, as-tu attendu 10mn avant de lancer la scène ? Le rafraîchissement des donnés àlieu toutes les 5 minutes pour les APIs.

Posté(e)

Oui j ai bien attendu, d ailleurs les valeur précédentes etaient celles du premier debug posté sur ce post. D ailleurs 194 mm sur la semaine ce n est pas possible c est trop énorme.

Vu que j ai vidé les donnée du pluviomètre des deux derniers mois les valeurs semaines et jour devraient être a zéro.

Je pense sincèrement qu il doit y avoir un soucis.

Je précise que mon pluviometre est a peu près calibré.

Posté(e)

Je ne sais pas quoi te répondre, les données sont celles fournies par Netatmo. Pour la semaine, on demande le relevé des 7 derniers jours. Je vérifierai demain si j'ai pas une boucle qui aditionnerait trop de relevés mais je crois pas. Je te tiens au courant.

Posté(e)

Je ne sais pas pourquoi mais j'arrive pas a créer une compte sur weather underground , disons que je recois pas de mail pour activer mon compte . Je viens d'utiliser 3 differentes adresses mail , ni dans le spam pas de mail . Est ce quel qu'un a le même problème ??

Posté(e)

j'ai aussi un pluviomètre Netatmo et j'ai un device associé dans la HC2, vous me confirmez qu'il n'indique rien pour vous non plus ?

 

En tout cas encore un super code Steven ! je comprends pourquoi la nouvelle version de Gea n'est pas encore sortie dans les bacs  :P

Posté(e)

Bon, je n'ai pas pu résister et j'ai mis en oeuvre ta prog même si je n'ai pas de système d'arrosage  :D

Par contre j'ai le même problème que Bouliboule avec des valeurs incohérentes pour la pluie.

×
×
  • Créer...