Scenario inactif depuis dernière mise à jour trigger()=="schedule" => ""=="schedule"

Bonjour,
Depuis la mise à jour Jeedom 4.5.1, j’ai des scénarios qui ne s’exécutent plus, notamment à cause de :

[2025-12-21 15:00:06][SCENARIO] - Exécution du sous-élément de type [condition] : if #heure#=15 ET trigger()=="schedule"
[2025-12-21 15:00:06][SCENARIO] Evaluation de la condition : [15=15 ET ""=="schedule"] = Faux

Il y a un problème avec le résultat de trigger qui est vide : ""=="schedule"
Avant c’était :

[2025-12-17 15:00:05][SCENARIO] - Exécution du sous-élément de type [condition] : if #heure#=15 ET trigger()=="schedule"
[2025-12-17 15:00:05][SCENARIO] Evaluation de la condition : [15=15 ET "schedule"=="schedule"] = Vrai

Est-ce lié à la mise à jour ?
Que faut-il changer ?

Salut,
Essaie avec #trigger# == "schedule"

1 « J'aime »

Bonjour.

Il faut utiliser #trigger# maintenant.

Merci de lire la documentation des scénarios.

Salut,

Oui il y a eu beaucoup de messages à ce sujet, la fonction trigger() est remplacée par un tag désormais.

C’est présent sur la doc des scénarios : https://doc.jeedom.com/fr_FR/core/4.5/scenario

Du coup normalement tu dois faire

#trigger# == 'schedule'

Merci. Je vais essayer cela.

Pas évident de voir en faisant la mise à jour que cela va avoir un impact. Et avant de poster j’ai fait une recherche sur le forum sans trouver la réponse.

Y a-t-il moyen de rechercher dans Jeedom les autres scénarios qui incorporeraient encore trigger() et que je devrai corriger (sans se les regarder un par un) ?

Bonjour,

Dans le menu Rechercher > mot.

Merci @Madcow, ça m’a permis de trouver un autre scénario qui se lance quand un de mes volets est réglé à 98% (position où un autre scénario gérant la fermeture/ouverture des volets quand la façade est éclairée les jours de grosses chaleurs) :


Est-ce que cela va encore fonctionner ?

Ben … Tu ne peux pas mettre un volet à 98% pour tester ?
Parce que bon, analyser comment fonctionne ton scénario alors que déjà avec un petit test tu pourrais voir ce que ça donne …

A première vue, je dirais que tu dois remplacer ton trigger() par #trigger_name# mais à vérifier

Ca a fonctionné avec le trigger().

Bonjour,
Si tu regardes la doc, tu verras que trigger() est bientôt obsolète

Donc pour remplacer le tigger(commande)=1
Regarde ce lien

Ps : @Aurel je te tague pour ton dernier post (/ #trigger_name#) / au cas où passé à côté de l’info

Merci du conseil.

C’est assez simple, on remplace
trigger(#commande#) == 1
par
#trigger_name# == '[commande]' mais ça risque de ne plus fonctionner si le nom de commande change. Dommage.

Il y a sinon l’astuce :
#trigger_id# == cmdGetId(#[objet][equipement][commande]#) en mettant en place la fonction personalisée comme expliqué par @Henri ici.

En attendant que cette fonction soit potentiellement intégrée de base par Jeedom SAS.

Heu… vous avez du lire trop vite.
Le mieux est de tester votre expression (spoiler alerte : ça ne va pas fonctionner)

Puis tester la méthode de la documentation (qui fonctionne, mais si vous changer le nom de la commande ou d’appareil, il faudra aller modifier à la main chaque scénario

Puis te retourner sur le sujet indiqué et tester la proposition.

Bon test !

OK je corrige mon message précédent. Merci @Henri.
C’est devenu plus compliqué qu’avant cette histoire de trigger.

Non, au contraire, c’est plus logique et plus souple.

Avec plaisir, bonne fêtes à tous !

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