Relance systématique des scenarios suite à mise à jour du core

Bonjour,
Depuis la dernière mise à jour du core en 4.1.23 j’ai les scenarios avec un déclencheur simple Ex:
#[Chaufferie][Chaufferie][Chauffage ]# == 0
qui se déclenche toutes les 30 seconde environ sans changement de la valeur du déclencheur.
Plusieurs scenarios on se problèmes. j’ai provisoirement interdit les repetitions.
Voici les log d’un scenario.

------------------------------------
[2021-06-07 18:09:12][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:09:12][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:09:12][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:09:12][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:09:12][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:09:19][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:09:19][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:09:19][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:09:19][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:09:19][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:09:58][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:09:58][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:09:58][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:09:58][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:09:58][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:10:39][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:10:39][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:10:39][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:10:39][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:10:39][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:10:47][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:10:47][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:10:47][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:10:47][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:10:47][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:11:27][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:11:27][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:11:27][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:11:27][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:11:27][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:11:35][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:11:35][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:11:35][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:11:35][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:11:35][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:12:13][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:12:13][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:12:13][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:12:13][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:12:13][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:12:20][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:12:20][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:12:20][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:12:20][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:12:20][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:12:59][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:12:59][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:12:59][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:12:59][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:12:59][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:13:07][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:13:07][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:13:07][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:13:07][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:13:07][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:13:47][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:13:47][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:13:47][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:13:47][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:13:47][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:14:26][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:14:26][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:14:26][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:14:26][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:14:26][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:14:32][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:14:32][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:14:32][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:14:32][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:14:32][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-07 18:15:13][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Chaufferie][Chaufferie][Chauffage ].
[2021-06-07 18:15:13][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-07 18:15:13][SCENARIO] Evaluation de la condition : [0 == 0] = Vrai
[2021-06-07 18:15:13][SCENARIO] Non exécution des actions pour cause de répétition
[2021-06-07 18:15:13][SCENARIO] Fin correcte du scénario

Version : 4.1.23
Source : default
Branche : V4-stable
Système : diy

1 J'aime

Bonjour,

Juste au cas où, tu as bien lu le changlog ?

Changelog Jeedom V4.1

4.1.23

  • Correction de bugs sur l’archivage de l’historique
  • Correction d’un soucis de cache qui pouvait disparaitre lors d’un reboot
  • Correction d’un bug sur la gestion des répétition de commande binaire : dans certain cas si l’équipement envoi deux fois 1 ou 0 d’affilé seule la premiere remontée était prise en compte. Attention cette correction de bug peut entreiner une surcharge CPU. Il faut donc bien mettre à jour les plugins aussi (Philips Hue notament) pour d’autre cas (déclenchement multiple de scénario alors que c’était pas le cas avant la mise à jour) bien regarder la configuration de la commande binaire en question sur la repetition des valeurs (configuration avancée de la commande) et la passer en en jamais repeter pour retrouver le fonctionnement d’avant.

A+.

1 J'aime

Bonjour,
Oui merci je viens de relire le changelog, milles excuse, j’ai été trop vite.
cordialement.

Bonjour,
Je rencontre exactement le même problème.
Cependant je ne suis pas sûr de bien comprendre le changelog.

Si j’ai bien compris, dans les paramètres avancées de la commande binaire, il y a une option « gestion de la répétition des valeurs », avec options possible « Automatique », « Toujours répéter » ou « Jamais répéter ». Comment fonctionne cette option ? Quel est l’option à sélectionner pour avoir un comportement identique à avant celui de la maj ? Et enfin, comment le faire « en masse » sur beaucoup de commandes à la fois ?

Bonjour,

J’ai trouvé quelques éclaircissements sur cette fonction ICI.

En gros de ce que jais compris, il faut surveiller l’activité, si tout fonctionne normalement il n’y a pas à s’inquiéter, si vous constatez une activité anormale, il faut identifier le ou les scénarios concernés et passer leur commandes à NE JAMAIS REPETER pour retrouver le fonctionnement d’avant.

Bah en fait j’ai pas mal de scenarios qui déconnent depuis la maj. Je me vois mal passer TOUTES les commandes binaires une par une à la main pour récupérer un comportement d’avant la mise à jour… Je trouve ça un peu abusé qu’une maj puisse changer à ce point là un comportement assez crucial dans le fonctionnement des évènements dans Jeedom…

Bon en fait tous mes scenarios qui sont câblés sur évènements binaires tournent en boucle. Jeedom bombarde de notif/sms/push dans tous les sens, c’est ingérable.

Donc tous les scénario de type présence (passage de présence des personnes dans la maison), de capteurs binaires (ouverture/fermeture, présence, allumé/éteint…), de monitoring binaire (inférieur à, supérieur à, etc…) partent en boucle, donc c’est quasi tout jeedom qui est plus utilisable…

Je downgrade à la version précédente le temps qu’une solution soit trouvée.

1 J'aime

bonjour, je suis exactement comme @Dreaky. J’ai tout en filaire avec IPX et ma boite aux lettres me bombarde de notif :grimacing:

C’est une correction de bug, cela veux dire que le comportement depuis le début n’était pas normal.
Il y aurait du avoir CE comportement.

Par exemple, je ping toutes les minutes des équipements, si l’un d’eux change d’état, sans que cela soit voulu, j’avais une alerte.
Mais comme le ping à lieux toutes les minutes, toutes les minutes j’aurais du avoir cela. Il faut donc bien mettre à « ne jamais répéter ».
Je trouve cela normal.

Bon, je trouvais aussi normal que le paramétrage « Automatique » fasse le travail correctement (avant) ce qui n’est plus le cas pour certain plugins (network et virtuel pour commencer, BLEA).
Du coup, comme j’ai testé avant en dev. (sur vm) je change tranquillement la production avant de faire la mise à jour.

3 J'aimes

Bonsoir Fabrice,

Concrètement il faut remplacer sur toutes les commandes info binaire la valeur « auto » par « jamais répéter » ? C’est bien cela ?

1 J'aime

Bonjour,

C’est bien ce qui est écrit dans la documentation. En tout cas, pour toutes les commandes qui sont de type binaires et qui :

  • sont historisées (à vérifier, mais je suis presque certain)
  • sont déclencheurs de scénarios (pour éviter les actions à répétition)
    Même celles qui sont dans des virtuels

Merci pour l’info, mais au total j’ai plus de 4000 commande, pas toutes des commandes info et binaires, mais y a t’il un moyen de toutes les identifier et traiter en masse car je ne me vois pas les traiter une par une ?

Je suis tout à fait de l’avis de @choupfamily63, je me vois mal modifier une par une à la main toutes les commandes incriminées…

Je n’ai pas trouvé de moyen, je suis pris de court aussi.

En espérant ne rien avoir oublié (j’ai fait la modification avant de faire la mise à jour).

@Dreaky
Je ne sais pas quoi vous dire, nous sommes tous dans le même bateau. Je viens de passer 1 heures à tout faire. A la chaine, j’ai ouvert mes équipements dans différents onglet, j’ai été sur le panneau Configuration sur chaque onglets et j’ai changé la valeur partout et sauvegardé.
Une fois tout fait (par plugin).
J’ai tout contrôlé 1 à 1 avant de fermer les onglets

C’est fastidieux, mais je n’ai pas trouvé plus sur.

Je ne pense pas à avoir à faire cela sur l’état des prises par exemple, car il n’y a pas de cron (j’imagine) pour ce type de rafraichissement.
Edit : Il faut le faire aussi sur les commandes qui se rafraichissent souvent, comme la présence avec BLEA par exemple (cas valable pour les NUT et les Mi Band par exemple).

TIP

En passant par le résumé domotique, on gagne beaucoup de temps !

Peut-être en passant par l’historique et en filtrant par Info/binary comme ci-dessous.
image

Mais pour moi la tâche reste trop fastidieuse.

Des modules qui renvoient leur valeur dans changement c’est pas très normal quand même.

Cela dit un bout de php en scénario qui scan toutes les commandes check if binary et passe en non répéter c faisable et rapide

1 J'aime

Dans ce cas je suis preneur pour votre code car perso je ne sais pas faire.

Je regarde dans la soirée mais aucun soucis sur ma prod depuis ce matin

1 J'aime

D’ailleurs, ce serait plutôt bien que la teams jeedom nous donne un outil équivalent pour corriger automatiquement ce problème. Cela fait plus de 4 ans que je développe mon jeedom et je n’ai vraiment pas envie de passer du temps à modifier des valeurs qui étaient en « automatique » par défaut depuis le début.