Aller au contenu

Gestion des delais d'arrosage en fonction de la météo


lolomail

Recommended Posts

La HC2 est capable de gérer l'arrosage de votre jardin via le panneau d'arrosage. Dans ce panneau vous pouvez définir l'heure, la durée de l'arrosage mais aussi "adjust water" et "rain delay" afin de s'adapter à  la météo.

 

Sur le forum Fibaro, richo a mis a dispo le script suivant:

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "your_password")

-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)

-- change table in Lua for 24 hours delay
jsonTable.rainDelay = "24"

-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")

Cela permet de passer "rain delay" (décallage) à  24 heures.

 

Il a aussi mis une scène pour le déclencher en automatique:

--[[
%% properties
3 WeatherConditionConverted
%% globals
--]]

local VD_ID = 999 -- enter the ID of your Virtual device
local startSource = fibaro:getSourceTrigger();

condition = fibaro:getValue(3, "WeatherConditionConverted")

fibaro:debug("Weather change: "..condition)

if condition == 'rain' or condition == 'storm'
then fibaro:call(VD_ID, "pressButton", "1");
fibaro:debug('sprinkle delayed 24h')
end

1- J'ai repris cela pour créer un virtual device avec:

- Une label pour le delai,

- Trois boutons pour +0h / +24h / +48h

- Une label pour le ajustement en eau

- Trois boutons pour +0% / +10% / +20%

 

Cela me permettra de le choisir manuellement si besoin.

 

Le script pour le "rain delay" est du type:

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "your_password")

-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)

-- change table in Lua for 0 hours delay
jsonTable.rainDelay = "0"

-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")
fibaro:call(ID virtual device, "setProperty", "ui.Label1.value", " 0 heures");

Il suffit de changer "0" par "24" pour avoir un délai de 24h

 

Pour l'ajustement, le script est:

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "your_password")

-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)

-- change table in Lua for +0% of sprinkling
jsonTable.adjustWater = "+0"

-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")
fibaro:call(ID virtual device, "setProperty", "ui.Label2.value", " +0%");

Après j'ai crée une scène qui va déclencher le délai de 24h fonction du temps, cf image jointe. Il faut que je retravaille cette scène afin de faire quelque chose comme en LUA comme celle de richo et aussi utiliser la fonction ajustement s'il fait sec.

post-16-0-26240800-1388859828_thumb.jpg

post-16-0-12926100-1388859829_thumb.jpg

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

Je viens de regarder, il y a:

clear = dégagé
cloudy = nuageux
rain = pluie
snow = neige
storm = tempête
fog = brouillard
 

Va falloir peut-être regardé s'il existe d'autres condition météo ou regarder avec la température et la durée

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

C'est possible de mettre un delais dans le panneau d'arrosage, mais làvia un virtual device et une scene tu ne t'en occupes plus.

Peut-être que Fibaro integrera la fonction suivi le temps un jour qui sait.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...
  • 4 weeks later...

lolomail bonjour.

 

j'ai une demande d'info; j'ai ma pompe bassin et mon remplissage bassin sur le mode Arrosage (pratique pour programmer les vannes,,) et test, comme il pleut actuellement, je m’aperçois que en plus de l'arrosage pelouse (normal), mais j'ai aussi les deux précédents citées qui se décaler de +24h aussi,,,.

 

(plus de bulle et plus d'eau pour les poissons,,,,)

 

Y a t-il moyen de sélectionnées seulement les modules qu'on veut décalées ?

 

(je pourrais aussi créer un module virtuel pour eux deux, en cas, donc les sortir du mode arrosage.)

 

cordialement

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Petite MAJ comme indiqué sur le forum Fibaro pour un des utilisateurs il faut mettre àjour le script car y a eu quelques modifs sur le paramétrage de la HC2 sur le panneau d'arrosage:

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "your_password")
 
-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)
 
-- change table in Lua for 24 hours delay
jsonTable.rainDelay = 24
 
-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")

et

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "your_password")
 
-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)
 
-- change table in Lua for 0 hours delay
jsonTable.rainDelay = 0
 
-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")
fibaro:call(ID virtual device, "setProperty", "ui.Label1.value", " 0 heures");
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

j'ai des petits problèmes sur l'arrosage,,,,quand il pleut l'arrosage se mets en marche 3 sec toutes les 10 sec?

 

Incompréhensible, j'ai modifié le script,,, seulement sur un arrosage sur 3 en plus.

Il s'est bien décaler de 24h, mais arrose quand même.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

@lolomail

J'ai suivi un sujet sur le forum officiel auquel tu participais. Un des membres a mis en place une solution qui me plait bien:

- 1 M173 capteur d'humidité du sol (http://www.kemo-electronic.eu) connecté à 
- 1 capteur universel Fibaro

et il fonctionne ok: tous les 36 minutes, le FUS est respectée si le sol est sec, donc j'ai une scène qui incrémente un GlobalVariable chaque fois que le capteur est violée. Dans la soirée, si le GlobalVariable est> 32 cela signifie qu'il n'a pas assez plu et puis les vannes électriques 12V sont ouvert (avec un 2x1,5 Fibaro) pendant quelques minutes.

 Mais il ne joint pas la scène en question. As-tu une idée ou déjà  une solution pour décaler automatiquement (par le FGBS et la variable) le délai d'arrosage du panneau?

Lien vers le commentaire
Partager sur d’autres sites

Aucune idée mais j'aurais tendance àdire qu'il utilise ce virtual device, et a modifier le script de la scène qui vérifie l'état de la météo. Surement qu'il a une scène qui suivant la remontée de la sonde met àjour la variable et en modifiant celle du VD il intérogge la variable et décalle en conséquence.

Lien vers le commentaire
Partager sur d’autres sites

 D'autant qu'il vérifie toutes les 36 minutes, là  une seule fois à  3h45 suffirait. Le FGBS et le pluvio sont déjà  installés et pour l'instant, la sortie du FGBS me colle un relais qui me coupe l'alim des EV sauf celle de la serre.

Lien vers le commentaire
Partager sur d’autres sites

  • 7 months later...

Bonjour,

 

Je me permets de poster ici, car je cherche la fonction LUA, pour pouvoir passer le panneau d'arrosage en AUTO.

 

J'ai essayé via les blocs graphiques, puis passer en LUA ensuite, mais on ne peut faire que ON/OFF sur le device.

 

Merci pour votre aide si qqn a la solution.

 

Mikael

Lien vers le commentaire
Partager sur d’autres sites

Ah oui on voit des infos interessantes, tel que mode :

{"adjustWater":20,"rainDelay":0,"cycles":1,"drenchers":[{"id":122,"name":"Arrosage","mode":"auto","dead":"false","manualTime":0,"days":["Fr","Mo","Sa","Su","Th","Tu","We"],"cycles":[{"hour":21,"minute":15,"duration":3}],"nextDrenching":21731,"state":"false"}]}
Lien vers le commentaire
Partager sur d’autres sites

et maintenant tu changes le "mode" :

-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)
-- changement mode 
jsonTable.mode = "auto" -- tu ne dois pas mettre auto evidemment, mets ton panneau en OFF et regarde de nouveau le json pour connaitre la valeur a mettre
-- modifie la valeur "mode"
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)

et reverifie ton json

Lien vers le commentaire
Partager sur d’autres sites

 Comme je ne peux rien faire avec les stations WU (trop loin de chez moi) et le module virtuel de @Sakkhho, j'ai cherché dans la direction de @lolomail et le délai d'arrosage et voici à  quoi je suis arrivé:

 

  Bouton 11: "Délais à  0h"

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "password")

-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)

-- change table in Lua for 0 hours delay
jsonTable.rainDelay = 0

-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")
fibaro:call(307, "setProperty", "ui.Label1.value", " 0 heures");
fibaro:call(307,"setProperty","currentIcon",1142)

   Bouton 12: "Délais à  20h"  

HC2 = Net.FHttp("HC_IP",80)
HC2:setBasicAuthentication("admin", "password")
     
-- get table
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)

-- change table in Lua for 0 hours delay
jsonTable.rainDelay = 20

-- send back
json = json.encode(jsonTable);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("ready")
fibaro:call(307, "setProperty", "ui.Label1.value", " 20 heures");
fibaro:call(307,"setProperty","currentIcon",1143)

   Label1 "Délai"

   Bouton 21: "Mise à  jour"

local temp = fibaro:getValue(277, "value")
if (tonumber(fibaro:getValue(277, "value")) == 0 ) then
  fibaro:call(fibaro:getSelfId(), "pressButton", "1")
  fibaro:call(307,"setProperty","currentIcon",1142)
  elseif(tonumber(fibaro:getValue(277, "value")) == 1 ) then
  fibaro:call(fibaro:getSelfId(), "pressButton", "2")
  fibaro:call(307,"setProperty","currentIcon",1143)
  end

 Je lance ce dernier bouton avec le GEA quotidiennement un peu avant l'heure de l'arrosage et il me change le délai de l'arrosage du panneau. Je précise que l'Id 277 est mon pluviomètre domotisé par un FGBS.

Comme le fait remarquer @pepite, il doit être possible de modifier le mode auto.

Je cherche aussi un moyen de laisser une électrovanne (sous une serre) continuer à  arroser malgré un délai d'arrosage mais je ne sais pas quoi changer.

post-43-0-43124100-1432820194_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...