Bonjour,
J’ai fait des recherches sur le net, dont sur ce forum, mais je ne trouve pas ma solution.
Pouvez-vous m’aider.
Je souhaiterai déterminer la température moyenne sur une période qui évolue en fonction des jours.
Le début de la période est la date de mise à jour d’une donnée d’un virtuel
j’utilise donc :
valuedate(#[monVirtuel][donnee]#)
Ensuite je veux la température moyenne d’un thermomètre T1 ce qui me donne :
Bonjour,
Tout d’abord Merci Bison pour cette piste.
Je viens de tester ta solution, bien que le AverageBetween me renvoi un résultat celui-ci n’est pas cohérent 16,7° au lieu de 27.7°.
Voici mon nouveau Scénario :
Voici le nouvel essai avec tag(DebutPeriode) et mais la commande averagebetween ne renvoi plus rien. la fonction se comporte comme lors du premier test envoyé.
Scénario :
J’ai revérifié, c’est pas possible en fait, le core attend exactement ce qu’il faut et ne réinterprète rien dans averageBetween()
La solution sera de passer par un bloc code pour appeler la fonction, soit après avoir récupérer les tags, soit en appelant la fonction valueDate() directement
EDIT :
Donc comme ça en remplaçant #[xxx][yyy][zzz]# par ta commande
Bonjour Bison,
Merci pour ton Code, celui-ci a fonctionné.
J’ai juste dû l’adapter car la date de debut n’est pas sur la même commande que la moyenne.
Ce qui me donne les éléments suivants.
Le Scénario :
------------------------------------
[2024-08-01 09:06:10][SCENARIO] -- Début : Scenario lance manuellement.
[2024-08-01 09:06:10][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-08-01 09:06:10][SCENARIO] Log : date début période : 2024-08-01 01:15:06
[2024-08-01 09:06:10][SCENARIO] Log : Température actuelle : 24.3
[2024-08-01 09:06:10][SCENARIO] Log : commande souhaitée :
[2024-08-01 09:06:10][SCENARIO] Log : résultat attendu : 25.4
[2024-08-01 09:06:10][SCENARIO] Mise à jour du tag #DebutPeriode# => 2024-08-01 01:15:06
[2024-08-01 09:06:10][SCENARIO] Log : 2024-08-01 01:15:06
[2024-08-01 09:06:10][SCENARIO] Log : Commande souhaitée 2 :
[2024-08-01 09:06:10][SCENARIO] Exécution d'un bloc élément : 143
[2024-08-01 09:06:10][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-08-01 09:06:10][SCENARIO] Exécution d'un bloc code
[2024-08-01 09:06:10][SCENARIO] Log : 25.4
[2024-08-01 09:06:10][SCENARIO] Log : 2024-08-01 01:15:06
[2024-08-01 09:06:10][SCENARIO] Fin correcte du scénario
Je me pose une question au sujet des bonnes pratiques dans le bloc Code, j’ai réutilisé la variable cmdId, ne faudrait-il pas que je crée une nouvelle variable cmdId2?
Par contre au sujet de la réinterprétation de averagebetween, je trouve dommage qu’une fonction (valuedate) qui renvoi une date ne peut être mise en entrée d’une autre fonction qui attend une date.
Non pas de soucis. Dans ce cas tu ne réutilises pas cette variable à un autre moment que la ligne juste après.
Ce serait problématique si tu devais réutiliser la variable déclarée à la première ligne vers la fin du code.
Et oui, ça serait plus simple que la fonction interprète ce que l’on donne dans les attributs de cette fonction.
Je t’invite à fermer le sujet avec le post qui t’a aidé