Mise en place hysteresis sur valeur capteur niveau eau piscine

Bonjour, j’ai installé des capteurs niveau haut et niveau bas dans ma piscine connnectés sur les entrées digitales d’une IPX.Je recupere ces valeurs dans Jeedom.Ce sont des valeurs binaires 0 ou 1.Cependant lorsque le niveau de l’eau est proche du capteur, avec les vagues, la valeur remontée oscille en permanence entre le 0 et le 1.Je souhaiterai donc mettre en place une fonction d’hysteresis ou la valeur du capteur passe à 0 ou passe à 1 après une période de maintien , par exemple de 10 secondes.Quelle serait la solution la plus propre pour mettre cela en place : scénario avec variable intermediaire ou bien parametrage possible dans la configuration de la commande dans le plugin IPX? est ce que quelqu’un a déjà mis en place ce type de fonction?

Salut,

Par définition avec un binaire on peut pas vraiment parler d’hysteresis.

Mais si tu veux attendre un peu que la valeur se stabilise tu peux faire quelque chose comme

Si valeur == 1
sleep 10
Si valeur == 1 AND age(valeur) >=10
Alors action

Avec ca tu :

  • vérifie que ca vaut 1
  • attend 10s
  • vérifie que ca vaut toujours 1 et qu’il n’y a pas eu de maj de valeur entre temps

Inutile de creer une variable

Après si tu veux faire plus simple et sans scénario tu peux utiliser le action sur valeur mais je crois de mémoire que c’est en minutes et pas en secondes

Bonjour,
S’il historise sa commande binaire et qu’il fait
averageTemporal(#sacommande#,10sec) >= 0.8 pour décider d’un 1
et
averageTemporal(#sacommande#,10sec) <= 0.2 pour décider d’un 0

Ou avec un ternaire :
(averageTemporal(#sacommande#,10sec) >= 0,8)?1:0

Ca devrait marcher ?

Hello,

J’aurais fais ça plutôt coté IPX avec un virtuell et un TA et un scenario et remonte que le virtuel dans jeedom

Salut

En théorie oui mais je ne sais pas ce que donne un averagetemporal sur une durée aussi courte.

Pour un cas aussi basique j’aurais plutôt tendance a utiliser la fonction age qui si je ne dis pas de bêtises est dans le cache et ne sollicite donc pas la Bd

Bonsoir,

Je ne connais pas l’IPX mais juste en faisant une recherche sur le net je suis tombé sur cette solution proposé par @Sylvainde :

Merci à tous de vos retours rapides , les solutions proposées sont tres techniques vu de ma fenetre et votre support était vraiment nécessaire , je vais mettre en place la solution utilisant la fonction age dans un premier temps et je testerai les autres alternatives dans un second temps.

Autrement simplement ne valider que le niveau bas que

1/ si niveau bas
Et

2/ si il est bas plus de x minutes (=eau calme)

Pourquoi ne pas tester simplement le niveau en pleine nuit quand personne se baigne ?

10 mesures par exemple (une toute les 30 minutes).

ça évite les faux positifs (niveau bas)

Ce sont effectivement de bonnes idées, mais en fait, l’eau est en mouvement pour différentes raisons :

  • lorsque le systéme de filtration fonctionne car c’est le but des buses de faire refouler l’eau vers les skimmers.
  • lorsque le systéme de remplissage est en action
  • lorsqu’il y a du vent
  • lorsqu’il y a des baigneurs

Il ne s’agit parfois que de faibles vaguelettes mais lorsque le niveau est proche du capteur de quelques millimetres, cela suffit à le faire osciller entre 0 et 1.

Le but des capteurs est de declencher l’alimentation en eau lorsque le niveau est bas et d’arreter l’alimentation lorsque le niveau est haut.Il est alors utile de programmer le déclenchement ou l’arret de l’electrovanne d’alimentation sur une valeur mesurée stable pour eviter un systéme febrile

1 « J'aime »

Le ballottement intervient il sur les deux capteurs en même temps ?

Merci pour les explications :slight_smile:

Je ne sais pas si tu l’a fait mais perso je mettrais quand même par sécurité une tempo qui arete le remplissage par exemple au bout d’une heure (à ajuster je n’ai aucune idée du temps réel qu’il faut) + envoi d’alerte même sans déclenchement du seuil haut. En cas de défaillance du capteur ou de fuite ça va quand même éviter de remplir indéfiniment …

1 « J'aime »

Pour repondre à la question de Jeandhom ,La difference de niveau entre les 2 capteurs est d’environ 25 cm , ce qui correspond :

  • pour le niveau bas à la base des skimmers
  • pour le niveau haut , à la partie supérieure des skimmers

Le but étant de maintenir le niveau de l’eau avec les skimmer opérationnels.

Ce qui fait osciller un capteur, c’est lorsque le niveau s’approche de quelques millimetres du niveau du capteur.Il n’y a donc pas de possibilité que l’oscillation se produise sur les 2 capteurs en même temps

la remarque d’Aurel est trés pertinente, il vaut mieux mettre des sécurités en plus de l’automatisation ci dessus.Ca peut eviter de mauvaises surprises, je le prends en compte, merci

Avec une commande info "remplissage ".
Si capteur bas et non remplissage ==> passage commande info remplissage à 1 et commande action remplissage à 1.
Si capteur haut et remplissage ==> passage commande info remplissage à 0 et commande action remplissage à 0.

Edit : si le retour d’état de la pompe est disponible, la commande info « remplisage » peut être son retour d’état.

Ca peut se faire assez simplement en complément du scénario que j’ai proposé plus haut. Dans ce style :

1 « J'aime »

Dans ce cas pourquoi ne pas remplir lorsque tu atteints le niveau bas ? même si c’est les vagues qui déclenche celui-ci ? Car si tu es a 2/3mm réel c’est qu’il faudra d’une manière remplir dans pas très longtemps.

1 « J'aime »

Bonjour @mfjl
J’ai la même configuration (IPX et capteurs niveau haut et bas) et eu le même problème de fluctuation a traiter.

Il te faut gérer ça au niveau de l’IPX pour chaque capteurs de niveau:

  • un delai TA sur ta sortie digitale pour valider l’état “1” après stabilisation du temps TA
  • un delai TA sur la même sortie digitale mais inversé afin de détecter l’état “0” après stabilisation du temps TA
  • les 2 delais vont ensuite sur une bascule RS pour basculer d’un état à l’autre
Exemple config IPX capteur niveau bas

Et c’est exactement la même chose pour le capteur de niveau haut.

L’avantage est que tu peux régler des temps de stabilisation différent entre un front montant et descendant.
Ensuite tu fais ce que tu veux de l’info des 2 capteurs : l’envoyer à jeedom, recevoir une notif, gérer le remplissage auto dans l’IPX ou jeedom..

Bonjour @mfjl

Ci-joint mon scénario remplissage piscine qui fonctionne sans problème depuis 3 ou 4 ans.

1 seul capteur suffit.

Bonjour,
Moi après avoir testé plusieurs solutions j’ai mis simplement un programmateur d’arrosage qui s’ouvre 5 minutes par jours. Et mon niveau est stable.
Cordialement

1 « J'aime »