Détection de pluie et pluviomètre

8 septembre 2018

J’ai cherché pour avoir une notification lorsqu’il pleut et pourquoi pas avoir la pluviométrie mais je n’ai rien trouvé qui correspondait à mes attentes.

Les modèles en RF433 Mhz semblent bien mais mon RFLink ne fonctionne pas très bien faute de temps pour corriger mon problème d’antenne.

J’ai bien trouvé un pluviomètre en Z-wave chez Popp mais il a quelques limitation.

J’ai fini par faire ma propre tambouille avec un détecteur universelle de chez Fibaro, un pluviomètre, un détecteur de pluie, une alimentation 12v, des connecteurs Wago et un boitier étanche.

J’ai aussi raccordé une sonde DS18B20 histoire d’avoir la température en plus.

Le détecteur universelle de Fibaro permet de connecter des contacts sec en entrée, nous n’utiliserons pas les sorties.

Le principe est simple, pour le détecteur de pluie a chaque fois que le capteur reçoit de la pluie, il active un contact sec, il s’agit de la même chose pour le pluviomètre, à chaque fois que le godet bascule, il active un contact sec.

Voici le câblage :

Je n’ai pas inclus la sonde DS18B20 pour ne pas surchargé le dessin.

Et enfin, inclusion dans Domoticz en appuyant 3 fois rapidement sur le bouton B du détecteur universelle.

Nous avons maintenant deux nouveaux interrupteurs dans Domoticz, un pour la détecteur de pluie et l’autre pour le pluviomètre.

Il faut maintenant modifier le type de contact du module Z-Wave.

Pour cela, il faut aller dans Réglages -> Matériel. Puis cliquer sur Réglages de votre adaptateur Z-Wave :

Puis sélectionner le module FGBS001 et modifier les paramètres 3 et 4 en Input NO (Normal Open) :

Pour le détecteur de pluie, rien à faire de particulier si ce n’est activer les notifications quand il passe à ON.

Pour le pluviomètre, nous n’avons qu’un simple interrupteur qui passe à ON à chaque bascule du godet, il faut maintenant que cette bascule se transforme en mm de pluie.

Il faut donc créer un capteur virtuel dans un Matériel de type Dummy :

Et choisir Type de capteur : Précipitations

Puis créer un nouveau script de type DzVents / Device en modifiant la ligne 4 et la ligne 12 avec le nom de votre interrupteur créer par le détecteur universelle.

Ainsi que la ligne 11 avec le non de votre capteur virtuel.

-- Source: https://www.domoticz.com/forum/viewtopic.php?t=23460#p180690
return {
    on = {  timer =                { "at 00:01" },  
            devices = {             "Pluviometre"     } },                             -- Your switch device triggered by ESP bucket full

            logging = {     level = domoticz.LOG_DEBUG,                                  -- INFO, ERROR or DEBUG
                            marker = "RainFall" },                                            -- 

    execute = function(dz, trigger)
               
        local rainDevice    = dz.devices("Pluie")                                     -- Your (virtual) rain device
        local rainSwitch   = dz.devices("Pluviometre")                                     -- Your (triggered by bucket full) switch 
        local rainmm        = 0.2794                                                                 -- find out what 1 bucket full means in terms of mm 
        local rainTotal     = 0
        local timeSlice     = math.min( (rainDevice.lastUpdate.secondsAgo / 3600), 10) -- at least 1 bucket  in 10 hours     
        
        local rainAmountHour = dz.utils.round((rainmm / timeSlice),1)
        
        -- Calc raintotal and reset raintotal at midnight
        if trigger.isTimer then 
            rainDevice.updateRain(dz.utils.round(rainDevice.rainRate,0),0)                     -- reset rainTotal
            rainSwitch.switchOff().silent()
            dz.log("Reset raintotal to 0",dz.log_DEBUG)
        else        
            rainTotal = dz.utils.round((rainmm + rainDevice.rain),1)  
            rainDevice.updateRain(rainAmountHour,rainTotal)           
            dz.log("One bucket full ==>> updating raindevice. rainrate: " .. rainAmountHour .. " mm/hr, " .. rainTotal .." mm in total today "  ,dz.log_DEBUG)
            rainSwitch.switchOff().silent()
        end
    end
 }

Si vous n’utilisez pas le même pluviomètre que moi, il faut modifier la valeur ligne 13 avec la valeur du godet.

Et voilà 🙂

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.