Bonjour,
Je cherche à obtenir le débit en temps réel de mon compteur d’eau à impulsion en prenant la conso moyenne sur les 2 derniéres minutes.
pour cela, je calcule la somme des impulsions sur les 2 derniéres minutes et je divise par 2.
j’ai utilisé la formule :statistics(#[IPX800][IPX Local Tech][Inst Cpteur Eau Piscine]#,sum, 2 minutes)/2.
Ca fonctionne en general, sauf… lorsque le compteur s’arrete parfois sur une impulsion avec la valeur 1, cette formule, me donne donc un débit de 0.5 affiché en permanent alors qu’il est à zero !
Pour éviter ce problème ,Il faudrait plutôt que je prenne la différence des index sur les 2 dernières minutes divisés par 2.
Il faut peut être utiliser une fonction type « statistic between », et calculer la différence entre l’index actuel et l’index il y a 2 minutes.
Et là mes compétences pour rédiger la formule avec les bons arguments sont insuffisantes…
Est-ce que quelqu’un pourrait me donner la solution ou à défaut me donner un post ou cela a déjà été traité (je n’ai pas trouvé) ?
Bonjour,
Oui, c’est cela , regardes par exemple
statistics(commande,calcul,période) et statisticsBetween(commande,calcul,start,end) : Donnent le résultat de différents calculs statistiques (sum, count, std, variance, avg, min, max) sur la période (period=[month,day,hour,min] ou expression PHP) ou entre les 2 bornes demandées (sous la forme Y-m-d H:i:s ou expression PHP) :
Merci our lareponse rapide mais pour l’instant , je reste bloqué
j’ais essayé avec la fonction :
statistics(#[IPX800][Compteur Eau L]#, variance ,2 minutes )
J’ai appliqué la fonction sur l’index du compteur d’eau
Je suppose que l’argument variance fait la différence entre les valeurs début de période et fin de période
j’ai renseigné la période en mettant « 2 minutes »
Mais la fonction me renvoie la valeur de l’index actuel, et non pas la différence entre la valeur de l’index il y a 2 mn et la valeur actuelle,.
Mais peut être est ce un problème de syntaxe ?
Tu peux essayer de récupérer quelque chose comme cela :
( lastbetween(#[IPX800][IPX Local Tech][Inst Cpteur Eau Piscine]#,60 minutes ago, 2 minutes ago) - #[IPX800][IPX Local Tech][Inst Cpteur Eau Piscine]# ) / 2 * 60
Par contre, cela nécessite sûrement de passer le mode de lissage sur le compteur à « Aucun », ce qui va faire vraiment beaucoup d’enregistrements dans l’historique. Autre difficulté avec une telle commande, c’est que si rien n’est enregistré dans les 60 dernières minutes, lastbetween ne renvoit rien.
Une option à regarder, c’est peut-être de lancer un scénario toutes les 2 minutes qui fait le calcul et enregistre dans une variable la valeur du compteur.
@ seb821,
OK, effectivement le fait de passer le mode de lissage sur le compteur à « aucun » permet de faire fonctionner les formules .
C’est logique mais je ne connaissais pas ce réglage et quand bien même ,je n’y aurais pas pensé.
De plus ,la syntaxe proposée m’ouvre aussi des possibilités, je vais tester les différents possibilités.
merci pour l’aide
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.