Aller au contenu
lolomail

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

Recommended Posts

je me suis cassé la tête un temps dingue avant de comprendre que c'était stocké dans le device et pas dans le panneau... en fait je pense que tous les panneaux fonctionnement de la même manière.

 

merci du retour ;-)

 

par contre je veux bien un peu d'info sur les sondes humidité

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Quelqu'un aurait-il réussi àmodifier les délais maximum d'arrosage? 15 minutes, même 5x15 mn c'est trop court pour de l'arrosage àgoutteurs intégrés enterrés qui nécessitent 4h d'heures d'arrosage dans mon verger...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Quelqu'un aurait-il réussi à  modifier les délais maximum d'arrosage? 15 minutes, même 5x15 mn c'est trop court pour de l'arrosage à  goutteurs intégrés enterrés qui nécessitent 4h d'heures d'arrosage dans mon verger...

moi je ferais un vd avec l'heure de début et mettrais à  jour le panneau d'arrosage on the fly ...

 

example de remplissage auto de "n" arroseurs sur "x" cycles

 

local localhost = '127.0.0.1';
local port = 11111;
HC2 = Net.FHttp(localhost, port)
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)
-- données entêtre du panneau
rd = jsonTable.rainDelay
aw = jsonTable.adjustWater
dr = jsonTable.drenchers
 
for i = 1, #dr do
  id = jsonTable.drenchers.id
nd = jsonTable.drenchers.nextDrenching
md = jsonTable.drenchers.mode
  fibaro:call(id, "setDrenchingMode", "auto")
cy = jsonTable.drenchers.cycles
  du = 15 -- durée d'arrosage
  hh = 20 -- début du cycle 1
  mm = 00  
  -- modification de chaque ligne de cycle
  for c = 1, #cy do
jsonTable.drenchers.cycles[c].hour = hh
    jsonTable.drenchers.cycles[c].minute = mm
jsonTable.drenchers.cycles[c].duration = du
    mm = du * c
    if (mm > 59) then
      mm = 60 - mm
      hh = hh + 1
    end
    if hh > 23 then
      hh = 0
    end
  end
end
-- Enregistrement des modifications 
response = json.encode(jsonTable)
response2 ,status2, errorCode2 = HC2:PUT("/api/panels/drenchers", response)
if errorCode2 == 0
then
  fibaro:debug(status2.." success on PUT")
else
  fibaro:debug("error" .. errorCode2)
end

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Quelqu'un aurait-il réussi à  modifier les délais maximum d'arrosage? 15 minutes, même 5x15 mn c'est trop court pour de l'arrosage à  goutteurs intégrés enterrés qui nécessitent 4h d'heures d'arrosage dans mon verger...

Techniquement parlant le maximum est 15 minutes mais si on met l'eau à  100% supplémentaires ça fait déjà  30 * 5 = 150 minutes 

 

exemple  de man du panneau, il suffit de mettre le supplément d'eau désiré à  jour avant de lancer ce code :

 

local localhost = '127.0.0.1';

local port = 11111;
HC2 = Net.FHttp(localhost, port)
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(response)
-- données entêtre du panneau
rd = jsonTable.rainDelay
aw = jsonTable.adjustWater
dr = jsonTable.drenchers
-- valeur en provenance du VD
pa = 1 -- pause entre les cycles en minute (max 60)
dun = 15 -- durée d'arrosage (max15)  si da = 0
hh = 10 -- heure  début du cycle 1
mm = 00 -- minute début du cycle 1
ds = 1 -- 1 : enchaine les arroseurs 0 : tous en même temps
da = 0 -- 1 : garde la durée d'arrosage définie dans le module
 
hhn = hh 
mmn = mm  
for i = 1, #dr do
  fibaro:debug("Device : " .. i)
  id = jsonTable.drenchers.id
nd = jsonTable.drenchers.nextDrenching
md = jsonTable.drenchers.mode
  fibaro:call(id, "setDrenchingMode", "auto")
cy = jsonTable.drenchers.cycles
    -- si pas d'enchainage entre les arroseurs alors remise du temps de départ
  if ds == 0  then
      hhn = hh -- début du cycle 1
      mmn = mm  
    end
  -- modification de chaque ligne de cycle
  for c = 1, #cy do
jsonTable.drenchers.cycles[c].hour = hhn
    jsonTable.drenchers.cycles[c].minute = mmn
if da == 0 or jsonTable.drenchers.cycles[c].duration == 0 then
    jsonTable.drenchers.cycles[c].duration = dun
   end
      du = jsonTable.drenchers.cycles[c].duration
    if aw > 0 then
      awn = math.floor(du * (aw/100) + .5)
        else
      awn = 0
        end
      fibaro:debug("Cycle : " .. c .. " H " .. hhn .. ":" .. mmn .. " dur " .. du .. " pause " .. pa .. " tps add " .. awn)
    mmn = mmn + du + pa + awn
    if (mmn > 59) then
      mmn = mmn - 60
      hhn = hhn + 1
    end
    if hhn > 23 then
      hhn = 0
    end
  end
end
-- Enregistrement des modifications
-- Ajouter le raindelay auto en fonction de la pluie
-- Ajouter le message comme dans le bouton off
response = json.encode(jsonTable)
response2 ,status2, errorCode2 = HC2:PUT("/api/panels/drenchers", response)
if errorCode2 == 0
then
  fibaro:debug(status2.." success on PUT")
else
  fibaro:debug("error" .. errorCode2)
end

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour, j'ai mis en place l'année dernière le vd de lolomail sur Gestion des délais d'arrosage qui fonctionnait très bien.

entre temps je suis passé en 4.120 et en voulant remettre l'arrosage en service cette semaine j'ai retesté le module qui paraissait fonctionner

Je me suis retrouvé en erreur 503 j'ai du faire un recovry car plus possible d'acceder à la hc2.

Apres restauration complète , rebelotte après quelques heures de prise de tête , j'ai réussi a identifier d'ou provenais le problème en isolant a ligne

--response ,status, errorCode = HC2:PUT("/api/panels/drenchers", json); et la plus de problème erreur 503 ouf!!

Mais le module ne fonctionne plus , ci-joint le code idem tous les bouton. avez vous le meme probleme

 

HC2 = Net.FHttp("127.0.0.1",11111)
response ,status, errorCode = HC2:GET("/api/panels/drenchers")
if tonumber(status) == 200 then
   jsonTable = json.decode(response)
   fibaro:debug("lecture "..response) 
else
    fibaro:debug("Status:" .. status .. " err: " .. errorCode )
end
-- change table in Lua for 0 hours delay
jsonTable.rainDelay = 0
-- send back
json = json.encode(jsonTable)
--response ,status, errorCode = HC2:PUT("/api/panels/drenchers", json);
 fibaro:debug("ecriture "..json) 

 en utilisant le debug je m'apercois que la lecture et l’écriture sont différents ce qui devait bloquer la Hc2 en 503 raindelay et cycle sont placé a la fin !!!

Du coup je ne sais plus quoi faire. Quelqu'un a déjà eu un problème similaire avec le Json et le put ? 

Comment arriver a refaire fonctionner ce module très pratique .

merci de votre aide

lecture.PNG

ecriture.PNG

Partager ce message


Lien à poster
Partager sur d’autres sites

hello,

 

petit deterrage mais est ce que quelqu'un comprend l'Allemand, est ce que cela peut vous aider dans vos recherches de faire un capteur d'humidité?

 

https://www.siio.de/flower-power-fibaro-floodsensor-ueberwacht-smart-die-blumen/

 

@+ XSR

Partager ce message


Lien à poster
Partager sur d’autres sites

×