Aller au contenu

speedoxx007

Membres confirmés
  • Compteur de contenus

    276
  • Inscription

  • Dernière visite

Messages posté(e)s par speedoxx007


  1. C'est juste: Voici le code corrigé:

    --[[
    %% properties
    %% events
    %% globals
    --]]
    
    
    -- scene de détection petite fuite
    --	déclenchée sur une impulson (dans la scène SceneEau)
    
    --	sur une période de 12 h, 
    --	analyse si pas de pulse pendant 2 heures
    --	si c'est le cas on relance une période de 12h avec une période d'analyse de 2 heures, etc...
    --	(donc en gros le cycle des 12h est décalé toutes les 2 heures si pas de conso)
    --	
    --	si détecte une pulse, 
    --	alors on relance le compteur de 2h mais pas celui des 12 heures.
    
    
    --récupère l'heure courante
    local currentDate = os.time()
    --paramétrage des durées des cycles
    local LongTime = 12
    local ShortTime = 2
    --relevé des durées des cycles (venant des VG)
    local ShortCycle = fibaro:getGlobal("EauHeure2H")
    local LongCycle = fibaro:getGlobal("EauHeure12H")
    
    
    --nettoyage de la fenetre de debug
    local HC2 = net.HTTPClient()
    HC2:request("http://127.0.0.1:11111/api/scenes/128/debugMessages", {
        options = {method = 'DELETE'}, 
    	success = function(response)
          Main()
        end
    })
    
    
    function Main()
      --si inférieure à ShortCycle (2h) on met à jour le ShortCycle mais pas le LongCycle (12h)
      if currentDate < tonumber(ShortCycle) then
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:debug("<BR><font color=red>N'a pas atteint les "..ShortTime.."h</font>"..
          			"<BR><font color=yellow>Fin nouvelle période de "..ShortTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure2H")).."</font>"..
      		  		"<BR><font color=grey>Fin des "..LongTime.." h toujours le "..os.date("%d/%m/%Y - %H:%M",LongCycle).."</font>")
    -- on met à jour le long Cycle (12)
      else 
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:setGlobal("EauHeure12H",os.time()+LongTime*60*60)
        LongCycle = os.time()+LongTime*60*60 --met à jour la VL pour la comparaison suivante
        fibaro:debug("<BR><font color=green>Au dessus des "..ShortTime.."h</font>"..
        			"<BR><font color=yellow>Fin nouvelle période de "..ShortTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure2H"))..
    				"<BR>Fin nouvelle période de "..LongTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure12H")).."</font>")
      end
    
      --si on est après les 12h c'est que y a jamais eu de 2H sans pulse, c'est que y a fuite
      if currentDate > tonumber(LongCycle) then
        fibaro:debug("<BR><font color=red>Depassement des "..LongTime.." heures.</font>")
        fibaro:call(fibaro:getGlobal("IdPhoneJJ"), "sendPush", "Détection PETITE FUITE")
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:setGlobal("EauHeure12H",os.time()+LongTime*60*60)
      end
    end

     


  2. Voilà le code:

     

    --[[
    %% properties
    %% events
    %% globals
    --]]
    
    
    -- scene de détection petite fuite
    --	déclenchée sur une impulson (dans la scène SceneEau)
    
    --	sur une période de 12 h, 
    --	analyse si pas de pulse pendant 2 heures
    --	si c'est le cas on relance une période de 12h avec une période d'analyse de 2 heures, etc...
    --	(donc en gros le cycle des 12h est décalé toutes les 2 heures si pas de conso)
    --	
    --	si détecte une pulse, 
    --	alors on relance le compteur de 2h mais pas celui des 12 heures.
    
    
    --récupère l'heure courante
    local currentDate = os.time()
    --paramétrage des durées des cycles
    local LongTime = 12
    local ShortTime = 2
    --relevé des durées des cycles (venant des VG)
    local ShortCycle = fibaro:getGlobal("EauHeure2H")
    local LongCycle = fibaro:getGlobal("EauHeure12H")
    
    
    --nettoyage de la fenetre de debug
    local HC2 = net.HTTPClient()
    HC2:request("http://127.0.0.1:11111/api/scenes/128/debugMessages", {
        options = {method = 'DELETE'}, 
    	success = function(response)
          Main()
        end
    })
    
    
    function Main()
      --si inférieure à ShortCycle (2h) on met à jour le ShortCycle mais pas le LongCycle (12h)
      if currentDate < tonumber(ShortCycle) then
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:debug("<BR><font color=red>N'a pas atteint les "..ShortTime.."h</font>"..
          			"<BR><font color=yellow>Fin nouvelle période de "..ShortTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure2H")).."</font>"..
      		  		"<BR><font color=grey>Fin des "..LongTime.." h toujours le "..os.date("%d/%m/%Y - %H:%M",LongCycle).."</font>")
      Else –on met à jour le LongCyscle (12h)
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:setGlobal("EauHeure12H",os.time()+LongTime*60*60)
        LongCycle = os.time()+LongTime*60*60 --met à jour la VL pour la comparaison suivante
        fibaro:debug("<BR><font color=green>Au dessus des "..ShortTime.."h</font>"..
        			"<BR><font color=yellow>Fin nouvelle période de "..ShortTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure2H"))..
    				"<BR>Fin nouvelle période de "..LongTime.."h le "..os.date("%d/%m/%Y - %H:%M",fibaro:getGlobal("EauHeure12H")).."</font>")
      end
    
      --si on est après les 12h c'est que y a jamais eu de 2H sans pulse, c'est que y a fuite
      if currentDate > tonumber(LongCycle) then
        fibaro:debug("<BR><font color=red>Depassement des "..LongTime.." heures.</font>")
        fibaro:call(fibaro:getGlobal("IdPhoneJJ"), "sendPush", "Détection PETITE FUITE")
        fibaro:setGlobal("EauHeure2H",os.time()+ShortTime*60*60)
        fibaro:setGlobal("EauHeure12H",os.time()+LongTime*60*60)
      end
    end

    Merci pour ton aide.


  3. Voici la réponse de fibaro.

    Guys, there is no file to download or showing the logs. We improved the process of handling the logs withing the system so that it would be faster and more stable.

    You can compare the time of including a device, for example. Or changing a state of the device.

    Envoyé de mon SM-A605FN en utilisant Tapatalk

    • Like 1
×