Bonjour,
Je ne suis pas un expert programmation et je vous soumets mon problème. Je veux faire une régulation de Ph pour piscine et je souhaiterais faire une moyenne du Ph sur une certaine plage horaire ( dans l’exemple sur la période 10h à 12h chaque jour),
voici ma config:
Le problème est que la moyenne se fait bien pendant la période demandée mais après cette période la donnée disparait? Comment peut on faire pour qu’à l’issue du calcul la donnée s’affiche, jusqu’à la prochaine période de mesure?
Merci d’avance pour votre aide
pourquoi recalcules tu toutes les 5 minutes alors que tu souhaites la valeur entre 10h et 12h
Pour ma part, je passerai par un scenario planifié à midi avec la formule indiquée et la fonction event pour mettre à jour le virtuel
Donc pas de formule dans le virtuel car à chaque modif du ph, il va recalculer le virtuel
Norbert
Merci pour ton retour
Donc pas de formule dans le virtuel car à chaque modif du ph, il va recalculer le virtuel
Mais justement mon but est de faire la moyenne sur une période, et en fonction de cette valeur et d’un seuil défini, j’active une injection de Ph dans un scénario programmé.
Concernant toutes les 5’ tu as certainement raison, je pensais prendre la valeur toutes les 5’ pour faire le calcul de la moyenne durant l’intervalle supprimée. Il faut donc que je supprime le cron
Que souhaites tu faire exactement, calculer une moyenne glissante ?
Si c’ets la cas et si tu souhaites calculer la moyenne sur les 2 dernières heures à chaque arrivée de valeur
average(#[Electricité][ZLinky St Lattier][PAPP]#, 2 hours )
Et tu mets cette formule dans ton virtuel (sans la planification)
Si tu souhaites toutes les 2 heures faire un recalcful de la moyenne des 2 derenires heures … passe par un scenario qui se lance toutes les 2 heures
Je comprends ta formule plus simple pour la moyenne dans le virtuel. J’espère qu’au bout des 2 heures la valeur sera figée au dernier calcul
Par contre je voudrais faire la mesure de cette moyenne chaque jour à la même heure et durant une période fixe ( 2 heures ou plus)
Bonjour,
Et en utilisant la fonction statisticsBetween ?
Par exemple :
statisticsBetween(#[Piscine][esp-piscine][Ph]#,avg,yesterday 10:00,yesterday 12:00)
(sous condition que #[Piscine][esp-piscine][Ph]# soit historisé bien sûr…)
Ca devrait le faire, non ?
En effet ca devrait le faire également , en espérant que la moyenne soit bien figée après la période d’analyse, comme je le croyais avec averageBetween
Je peux mettre today à la place de yesterday, car je veux corriger dans la foulée en faisant mon injection de pH
Merci pour le tuyau je vais essayé cette solution qui me plait plus
Effectivement, il faut tester pour today.
De mon côté, j’ai quelques difficultés pour obtenir un résultat correct en utilisant (today 00h00, now) par exemple, mais c’est ok pour toutes les valeurs consolidées de plus de 24h.
J’ai lancé un test sur 18h à 19h ce jour, j’attends le résultat pour communiquer
1 « J'aime »
Du coup, la meilleure solution c’est le scenario lancé à l’heure souhaitée avec une plage. dans ton exemple si dessus, lancé à 19h avec une plage de 1heure
average(#[Electricité][ZLinky St Lattier][PAPP]#, 2 hours )
pH

Mon coeur de chimiste saigne.
Antoine
3 « J'aime »
Dommage ca n’a pas marché, etat:0
Tu as bien historisé la commande ph que tu veux moyenner?
1 « J'aime »
Dans la commande il y a bien l’option historiser de cochée comme tu peux le voir sur la capture d’écran.
La commande ph est également historisée dans le tableau de commande de l’ESP. Y a t il un autre moyen?
Je constate qu’il y a des fonctions intéressantes mais par contre difficiles à faire marcher, la doc n’est pas suffisamment précise pour avoir un résultat correct? C’est dommage car j’aimerais comprendre pourquoi cela ne marche pas?
Il faut peut être que je me rabatte sur la solution de @ngrataloup qui semble plus simple à utiliser?
Tu n’as partagé que des captures d’écran de la commande « ph moyen », moi je te parle de la commande source [piscine][esp-piscine][ph] que tu veux moyenner.
Peux-tu partager un aperçu de l’historique de cette commande ? Appliques tu un lissage ? (Je ne pense pas que ça joue puisque tu calcules sur une période très récente mais on sait jamais).
Comment tu lances le calcul du virtuel PH moyen dans le scénario?
scenario programmé à 19h
avec un commande action de type event qui calcul la moyenne sur la derniere heure et l’envoie dans ton virtuel
Norbert
Merci,
Mais une petite précision, dans mon scénario:
Je voudrais que la mise en route de la filtration lance le calcul de la moyenne sur X heures du ph. Donc j’ai mis du provoqué par la commande activation de la pompe de filtration.
Par contre, je ne comprends pas l’action « event » du scénario qui renvoie bien à la commande virtuelle et tu répétes la valeur déjà inscrite dans le virtuel (voir PJ). Est ce nécessaire?
mon scénario pour remarques éventuelles:
parfait !
le calcule de la moyen doit etre dans le champ valeur ** de la commande event du scenario**. il faut la supprimer du champ valeur du virtuel. c’est le scenario qui calcul et qui envoie la valeur au virtuel via la commande event
Mettre en provoqué la condition et pas juste la commande
#[piscine][filtration piscine][switch_1_GET] == 1
Ainsi ton scenario ne se lancera que si switch_1_GET est egal à 1
… et du coup, tu peux supprimer cette condition du premier SI du scenario
1 « J'aime »