Différence sur une variable avec sa valeur à t-1

Bonjour,
je récupère une variable Linky qui est la conso globale mais elle est cumulative, chaque récupération amène la valeur augmentée de la conso à la récupération précédente.
j’aimerai récupérer la conso de l’intervalle, donc une idée serait de faire la différence entre la valeur récupérée et la valeur récupérée lors de l’intervalle précédent, est-ce possible dans Jeedom ?
admettons que la variable récupérée s’appelle conso, on aurait donc un champ calculé dans le plugin virtuel, qui serait = conso - (conso-1)…
mais comment faire ça ?

Hello
Avec un petit scénario

ConsoEnCours = Conso - Conso-1
Conso-1 = Conso

hmm, faut que je regarde comment et ou on utilise les scénarios, mais donc au 1er passage la valeur ConsoEnCours sera donc fausse car Conso-1 pas initialisée, et aux passages suivants c’est bon…
c’est ça ?
en fait il garde les valeurs des variables calculées d’un passage à l’autre, enfin d’une collecte à l’autre ?

Oui. C’est exactement ça.
Reviens sur le post si tu as un problème pour le mettre en œuvre.

ok, j’ai fait un scénario, mais il faut qu’il se déclenche de façon synchrone avec ma collecte des données. c’est le plugin virtuel qui récupère les données d’un plugin ecocompteur et fait qques calculs avec ces données pour les grapher.
la donnée conso que je cherche est fournie par le plugin ecocompteur. il faut que j’indique ecocompteur comme évènement déclencheur je pense.

1 « J'aime »

par contre je ne vois pas comment je retrouve cette donnée lorsque je fais un graphe dans un design, quel nom a t elle ? a moins que je puisse la rajouter dans le plugin virtuel qui me fourni les données pour mon graphe ?

Bonjour @bemo47,
Oui si tu être synchro il faut que ce soit le déclencheur de ton scénario.

Ton scénario remplit une information de ton virtuelle que tu historise.

ah mais je suis loin d’être capable de créer tout ça, en fait mon scénario n’a pas enregistré le code, donc je l’ai mal renseigné.
voilà l’écran général, et j’ai mis un déclencheur sur le nom de la variable récupérée et c’est celle dont je veux faire la différence d’une récup à l’autre, donc comment je rentre mon code ?
je crée un bloc ? mais il faut choisir une condition… et là y en a pas, c’est juste un petit calcul à faire à chaque récup…

j’ai tenté d’écrire ça, mais je ne connais pas la syntaxe à utiliser et je ne trouve aucune info dans la doc… vraiment bizarre cet outil…

mais si je graphe la variable conso avec l’option variation c’est pas bon ?
variation : est ce que ça veut dire que ça graphe juste la différence avec la valeur précédente ?

Salut,

Variation : Affiche la différence de valeur par rapport au point précédent.

https://doc.jeedom.com/fr_FR/core/4.0/history

1 « J'aime »

cool, et merci, j’aurai jamais trouvé ça dans la section historique, mais c’est exactement ce que je veux faire donc normalement pas besoin de scénario dans ce cas là !

finalement ça ne donne pas de résultats bien clairs cette option variation du graphe. ça me fait un graphe qui a des valeurs de l’ordre de 80 Wh pour la journée en cours, intervalles de 5 min, puis dans les journées précédentes j’ai des valeurs qui passent à 500/1000 Wh, je pense que c’est parce qu’il réduit les intervalles à 1h, bref pas sûr que ce soit vraiment cohérent…
donc si j’arrivais ,à faire le calcul dans un scénario peut etre… mais ça j’ai pas compris…

L’outil scénario est plutôt puissant et aisé à prendre en main une fois la documentation parcourue :
https://doc.jeedom.com/fr_FR/core/4.0/scenario

Il faut enregistrer ta conso-1 dans une variable pour pouvoir la récupérer au prochain passage et la comparer à la conso actuelle.

variable(variable) : Création/modification d’une variable ou de la valeur d’une variable.

Tu as aussi l’option de passer par la fonction lastBetween :

lastBetween(commande,start,end) : Donne la dernière valeur enregistrée pour l’équipement entre les 2 bornes demandées (sous la forme Y-m-d H:i:s ou expression PHP).

ah merci de ton aide, mais penses tu que dans l’exemple que tu reprends de mon scénario, la syntaxe que j’ai utilisée est correcte ?
image

ou alors je veux bien lire la doc qui explique les syntaxes des formules dans les scénarios, et aussi comment on crée une variable ? y a t il une déclaration quelque part ? ou suffit il de la citer pour qu’elle soit « déclarée » ? et réutilisable ?

Salvialf te l’a indiqué. Tu as une action qui s’appelle variable. Ça te permettra de lui indiquer son nom et sa valeur.

Si tu fais une recherche sur un moteur : scénario jeedom tu vas très vite tomber sur la documentation te permettant de lire et d’avancer.

ahh, je dois etre un peu boulet sur ce sujet …
donc j’ai trouvé une autre doc qui semble plus claire mais voilà on me montre cette barre


et il y a bien l’option variables, sauf que moi j’ai cette barre :
image
qui ne comporte pas cette option variable.
ensuite dans la doc « officielle » jeedom je trouve ça

qui me dit que j’ai accès à la création de variables en commande spécifique…
certes, et donc… ou puis je trouver ça quand je crée un scénario…
bref… pour moi j’y suis pas encore…

Désolé pas trop le temps de développer les explications pour le moment…

Soit tu écris le terme variable dans une action, soit tu utilises le 1er bouton Sélectionner un mot-clé puis tout en bas de la liste variable.

Si ca peut t’aider