Obtenir l'avant derniere valeur

Bonjour,

Je dispose de capteur qui envoient régulièrement leurs valeurs en cours, dans un scenario je surveille quand ils sont ouverts et quand ils se ferment, cela fonctionne très bien mais comme ils renvoient cette information et que le scenario surveille cette information, il se déclenche pour me confirmer qu’il est fermé, je voudrais donc ajouter dans mon scenario de vérifier que l’avant dernière valeur est pas la même que la dernière pour éviter qu’il me renvoie la confirmation d’ouverture ou fermeture.
Je n’arrive pas à trouver la commande simple dans Jeedom et est ce qu’elle existe ? et si non comment l’obtenir.

Merci par avance de votre aide

Hello,

J’avais un trouvé un truc sympa mais je sais pas si ça marche toujours :
Créer une nouvelle info dans un virtuel (ancienneval par exemple)
Dans les commandes de l’info (nouvelleval) que tu veux exploiter, dans la section « action avant execution », tu pousses un event de nouvelleval dans ancienneval

1 « J'aime »

Bonjour
Tu peux mettre une copie d’écran de ton scénario car si c’est sur une condition tu peux l’empêcher de se déclencher si c’est le même résultat que précédemment

Merci de vos rapide réponse :wink:
Voici la copie :

Euh, j’y ai pensé, mais il n’y a pas plus simple ? car là, c’est balaise pour obtenir cette valeur alors que j’ai 14 capteurs qui réagissent comme ca … Snif !!!

Sinon faut passer par les historiques et les fonctions de calcul jeedom
https://doc.jeedom.com/fr_FR/core/4.0/scenario

Pas certain que ce soit plus simple

1 « J'aime »

Mierda, pas simple effectivement …

je ne suis pas certain d’avoir tout bien compris mais … ce petit icone ne fait pas le job que tu cherche ?
image

si lors de l’execution du scenario, garag_moto-alarm était déjà à 1 lors du précédent lancement, alors il ne se réexecute pas !?

Voilà c’est cela dont je voulais parler dans mon message précédent

un truc dans le genre en command custom

$cmd = cmd::byId($cmdId);
$history = history::all($cmdId);
$value = $history[count($history)-1]->getValue();

On peut réduire avec history::all($cmdId, $from, $now)
et quand même vérifier $cmd->getIsHistorized() == 1 voir aussi count($history) > 2

2 « J'aime »

Hello

Et tu mets pas cette super commande sur la page ‹ petits codes entre amis › :weary:

2 « J'aime »

Oh!! Punaise !!! un clique et c’est reglé !!!

Je teste tout de suite … Merci

bizarre de choisir ton message comme solution alors que tu ne dis pas comment tu as fait !? :thinking:

1 « J'aime »

oups desolé … mais c’est ta solution qui va tres bien :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.