Aller au contenu

Messages recommandés

Posté(e) (modifié)

Bonjour à tous,

Dernièrement j'ai eu pas mal de soucis avec le capteur de pluie Z-Rain de POPP sur la HC3.

En effet il y a un bug de communication entre le capteur et la centrale qui fait que l'indication de niveau de pluie est erronée.

Problème

Ce capteur possède 3 valeurs dans la HC3:

image.png.556b8fad7d403cb07308950a313a4973.png

La première valeur est utilisé pour la commande de début de pluie ou de forte pluie (qui n'est pas utilisé par défaut) que nous verrons plus tard. La 2ème est le niveau de pluie en mm/h et la 3ème est la quantité totale de pluie que le capteur à enregistré.

Pour commencer je me suis intéressé à la 2ème valeur qui indique le niveau de pluie et qui pour moi logiquement va démarrer mes scènes lorsqu'il pleut trop fort. Voila ce que j'ai remarqué

Lorsque la pluie commence la bascule va s'incliner une fois. On obtient alors la valeur suivante:

image.thumb.png.96850ae099511e7da2c8d7ff7f5448af.png

Jusque la tout va bien, la pluie continue et le capteur augmente à 7mm/h ce qui me parait tout à fait correct:

image.thumb.png.3941f2e970d36f37ff7f6b442d8e9988.png

C'est la que ça se gâte. tout à coup la valeur augmente subitement à 194.5 mm/h. ce qui me parait légèrement trop:

image.thumb.png.e24805476762fe980de4534a36148021.png

J'observe également que la valeur de la quantité totale à également changée:

image.thumb.png.9a6ac3404b5e2c5a77b58034da654ff5.png

Voila j'imagine que comme moi à ce point vous avez fait le liens entre la quantité d'eau totale et le niveau de pluie. En effet dés que la valeur de la quantité d'eau totale est modifiée, elle écrase la valeur du niveau de pluie. ce qui est assez problématique.

Voila un exemple un peu plus complet pour comprendre le phénomène:

image.thumb.png.0a340f4be70555cf976537be79ec0878.png

De plus un autre effet dérangeant est que cette même valeur repasse systématiquement à 0 après avoir été écrasée.

Solution

Il y a probablement plusieurs solutions à cela mais personnellement j'en vois 2 utilisables.

Solution 1:

En écrivant un petit code en LUA et en ignorant les valeurs plus grandes que 255 ce qui est la limite du capteur de niveau il est possible de ne garder que les valeurs " juste". Cela pose cependant 2 problèmes.

Le premier est qu'il faut corriger la valeur du capteur d'eau totale pour la faire commencer à 255. vous pouvez le faire en modifiant le paramètre 1 du capteur ou si vous avez envie de vous amuser en faisant aller la bascule jusqu'à atteindre ce niveau.

le 2ème est que cette valeur est régulièrement remise à 0 sans raison ce qui nécessite de mettre un timer de 2 minutes qui ignore également la valeur après une valeur supérieur à 255 avec le risque de perdre des données.

Bref pour ces différentes raison je ne suis pas convaincu par cette solution.

 

Solution 2:

Voila la solution que je privilège

Pour commencer nous allons ajouter les paramètres pour ce capteur étant donné que par défaut il ne sont pas visible.

commencer par ajouter 7 paramètres avec les valeurs par défaut:

image.thumb.png.43fb785c468fa4ef0b71b6e5c1851960.png

Sauvegardez le tout et appuyez une fois sur le bouton TX du capteur pour le réveiller.

Pour cette solution nous allons utiliser les commandes du capteur

- début pluie

- fin pluie

- début forte pluie

- fin forte pluie

 

Pour cela nous devons faire en sorte que ces commandes arrivent à la box. Nous allons donc activer les associations entre les groupe 2,3 et la box de la manière suivante:

image.thumb.png.ab8e1d28fb8018957a2ee2bad0b9aad4.png

image.thumb.png.e90ee14e81e8b97856a0cf617404467d.png

il vous demande à chaque fois de réveiller le capteur, vous pouvez cliquer sur passez nous le ferons plus tard.

Vous devriez maintenant avoir accès aux différents paramètres du capteur. Nous allons donc définir les valeurs pour ces paramètres:

 

  1. Compteur total d'eau: pas nécessaire de modifier

  2. Commande de début de pluie. Je vous propose de mettre une valeur à : 1

  3. Commande de fin de pluie. Je vous propose de mettre une valeur à : 0

  4. Multiplicateur de niveau de pluie. la c'est à vous de choisir ce paramètre ne sert qu'à l'affichage de la quantité d'eau totale.

  5. Valeur limite pour déterminer la forte pluie. à vous de déterminer. pour ma part une valeur de 20mm/h me parait intéressante pour commencer, je la modifierais peut être par la suite.

  6. Commande de début de forte pluie. Je vous propose de mettre une valeur à : 11

  7. Commande de fin de forte pluie. Je vous propose de mettre une valeur à : 10

 

Une fois que vous avez réglé ces paramètres réveillez votre capteur en appuyant sur le bouton TX.

Voila il ne vous reste plus qu'à créer vos scènes en fonction de la première valeur de votre capteur.

voici un petit code pour tester:

Trigger

{
  conditions = { {
      id = 916,
      isTrigger = true,
      operator = "anyValue",
      property = "value",
      type = "device"
    } },
  operator = "any"
}

Code

local commandePluieID = 916
fibaro.trace("Pluie","Pluie: " .. fibaro.getValue(commandePluieID, "value") .. " / quantité: " .. fibaro.getValue(commandePluieID+1, "value") .. " / total: " .. fibaro.getValue(commandePluieID+2, "value"))

Indiquez dans les 2 bloc l'id de votre capteur

voila le résultat:

Dés le premier basculement ->

image.png.9f472ecf6cfe8fc885a55e1568c9e508.png

après 3 basculement dans un délais assez court ->

image.png.1c2043e2bfd5620ae720583526d3e640.png

image.png.10f932e34316adc0227e8828b07a88ef.png

après 5 minute sans basculement ->

image.png.ed9fe2756e21da9a3b48cb66ed934ce8.png On voit la que le capteur de pluie est déjà à 0. Cela démontre le problème de la première solution.

 

après 8 minutes sans basculement ->

image.png.cb6fd4c50e285969ef1470143aa099d1.png

image.png.7a6a5e0733dc2c0fb968c7708da38d16.pngOn voit que nous avons reçu la commande 0 puis 10 ce qui indique fin de pluie et fin de Forte pluie.

Malheureusement lorsque la forte pluie est détectée il faut attendre la fin complète de la pluie pour que la commande de fin de forte pluie soit renvoyée.

 

Voila, j'espère que cela pourra  aider certains d'entre vous. N'hésitez pas à commenter ou à poser des questions.

 

SPAM (liens commerciaux) supprimé

 

 

 

Modifié par Lazer
  • Like 2
×
×
  • Créer...