Aller au contenu
Arnaud78

Démarrage Pompe en fonction de la Pluie

Recommended Posts

Bonjour,

 

J'ai parcouru différents sujet mais je reste un peu perplexe sur certaines parties de la programmation en lua.

 

Je cherche simplement à  démarrer une pompe (vide cave) en fonction de la pluie à  l'extérieur sans passer par un pluviomètre mais directement avec l'info du type de temps de la HC2.

 

En gros, je pense avoir codé quelques choses du genre : Chaque heure, vérification de l'état de pluie ou non (déjà  fait dans une variable Exterieur_Pluie (cette partie fonctionne bien), si il pleut alors allumage de la pompe pendant 30 minutes et parce que cela ne sert à  rien de la laisser allumer, elle doit se couper au bout donc des 30 mn. Et elle devrait redémarrer au bout de 30 minutes encore si il pleut toujours. Mais c'est ici que j'ai un souci, elle ne redémarre pas. (sauf si je relance la scène).

 

Avez-vous une idée ?

 

  1. --[[
    %% autostart
    %% properties
    %% globals
    Exterieur_Pluie
    --]]
    
    local sourceTrigger = fibaro:getSourceTrigger();
    if (sourceTrigger["type"] == "autostart") then while true do
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
    
    -- Condition toutes les heures vérifier si la HC2 indique qu'il pleut et allume la pompe
    
    if ( ( tonumber(fibaro:getGlobalValue("Exterieur_Pluie")) == tonumber("1") )
    and ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) 
    or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "00", "00"))) 
    and (math.floor(os.time()/60)-math.floor(1390258860/60))%60 == 0 ))
    then
    
    -- démarrage de la pompe
    
    fibaro:call(231, "turnOn");
    else
    
    -- extinction de la pompe
    fibaro:call(231, "turnOff");
    
    end
    
    -- Attends 30mn comme cela
    
    fibaro:sleep(30*60*1000);
    end
    
    else
    -- Pour infos je ne comprends pas pourquoi le système de bloc me rajoute toujours ce genre de ligne
    
    local currentDate = os.date("*t");local startSource = fibaro:getSourceTrigger();
    if ( ( tonumber(fibaro:getGlobalValue("Exterieur_Pluie")) == tonumber("1") )
    and ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "00", "01")) 
    or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "00", "00"))) ) or startSource["type"] == "other")
    then
    fibaro:call(231, "turnOn");
    
    else
    fibaro:call(231, "turnOff");
    
    end
    end

    Merci d'avance pour vos remarques ou suggestions.

Arnaud

Partager ce message


Lien à poster
Partager sur d’autres sites

Déjà, ce n'est pas du tout une bonne idée.

Il ce peut que la météo soit fausse et tourne dans le vide.

Et la tu prend le risque du griller ta pompe.

Si tu veux prendre le risque je peux t'aider.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis d accord avec shad,

Pourquoi ne pa mettre un flotteur sur un module universel ?

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait c'est une pompe vide-cave qui est utilisée à  l'extérieur pour une source qui se trouve être au même niveau que la nappe phréatique qui nous inonde de temps en temps. Donc nous avons fait les travaux nécessaires, mais par sécurité (et vu que je suis un fan de domotique), j'aimerais comprendre et réaliser ce petit bout de code.

 

Donc je suis très partant pour ton aide !

 

Par la même, je suis un très gros utilisateur de XBMC et j'attends de finir le plus gros des codes pour pouvoir me mettre sur ton add-on.

 

Donc ok moi...

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour info les pompes vide cave sont très souvent immergés avec des flotteurs intégrés (comme celle que j'utilise), donc je n'ai pas de soucis sur le fait qu'elle pourrait tourner àvide. Elle s'arrête dès que le niveau descend àsa moitié de hauteur.

Partager ce message


Lien à poster
Partager sur d’autres sites

×