Avant cela déclenchait juste une notification via JeedomConnect vers la bonne personne :
Log :
[2025-10-14 06:54:31][SCENARIO] **-- Début :** Scenario execute automatiquement sur evenement venant de : [Salle de bain][Nicolas][Poids] (xxxx). [2025-10-14 06:54:31][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[Salle de bain][Nicolas][Poids]#) == 1 [2025-10-14 06:54:31][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai [2025-10-14 06:54:31][SCENARIO] - Exécution du sous-élément de type [action] : then [2025-10-14 06:54:31][SCENARIO] Exécution de la commande [Divers][Kwet_JeedomConnect][Notification_Silence] avec comme option(s) : [SCENARIO] Fin correcte du scénario
Maintenant cela ne fonctionne plus :
Log : 2025-11-28 17:48:53][SCENARIO] **-- Début :** . Tags : {"#trigger#":"withingsCmd","#trigger_name#":"[Salle de bain][Nicolas][Poids]","#trigger_id#":6167,"#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Salle de bain][Nicolas][Poids] (xxxx)","#trigger_value#":xxx} [2025-11-28 17:48:53][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_name# == "[Salle de bain][Nicolas][Poids]" [2025-11-28 17:48:53][SCENARIO] Evaluation de la condition : ["[Salle de bain][Nicolas][Poids]" == "[Salle de bain][Nicolas][Poids]"] = Vrai [2025-11-28 17:48:53][SCENARIO] - Exécution du sous-élément de type [action] : then [2025-11-28 17:48:53][SCENARIO] Exécution d'un bloc élément : 1486 [2025-11-28 17:48:53][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_value#==1 [2025-11-28 17:48:53][SCENARIO][SCENARIO] Fin correcte du scénario
de ce que je comprends il récupère la valeur du poids et évidemment le xx == 1 n’est pas bon. Avant il testait juste si c’était la bonne personne…1 == 1
Oui, bien sûr tout dépend s’il y a une valeur qui doit être prise en compte ou non derrière.
Si ce n’est pas le cas, alors il suffit juste de tester la condition #trigger_name# == "[Salle de bain][Nicolas][Poids]", cela suffit (c’est vrai ou faux).
Pour moi ce n’est pas bon .
A quoi bon rajouter la condition #trigger_value# == 1 ?
Pour moi c’est redondant. Si le trigger en question (donc #trigger_name#) matches, alors ça suffit pour indiquer de c’est bien lui qui a initié le déclenchement.
En tout cas chez moi c’est comme ça et pas de souci.
[2025-11-28 19:17:18][SCENARIO] Evaluation de la condition : ["[Cuisine][Interrupteur Cuisine Z2M][Button]" == "[Cuisine][Interrupteur Cuisine Z2M][Button]" && 1 == 0] = Faux
[2025-11-28 19:17:18][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-28 19:17:18][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_name# == "[Cuisine][Interrupteur Cuisine Z2M][Button]" && #[Cuisine][Leds Cuisine][Etat]# == 1
[2025-11-28 19:17:18][SCENARIO] Evaluation de la condition : ["[Cuisine][Interrupteur Cuisine Z2M][Button]" == "[Cuisine][Interrupteur Cuisine Z2M][Button]" && 1 == 1] = Vrai
[2025-11-28 19:17:18][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-11-28 19:17:18][SCENARIO] Exécution de la commande [Cuisine][Leds Cuisine][Off]
[2025-11-28 19:17:18][SCENARIO] Exécution de la commande [Cuisine][Minuteur][Reset]
[2025-11-28 19:17:18][SCENARIO] Fin correcte du scénario
Toute la partie déclenchement et conditions est OK.
Par contre, je rencontre un souci avec trigger_value.
Il est censé avoir la valeur de l’info que j’utilise qui trigge mon scénario sauf qu’elle ressort à 0.
1er étage - VMC - Fin Extraction Pilotée : OK
Déclenchement : #trigger_name# pour round(#trigger_value#,1)%
Durée d'extraction : round((lastStateDuration(#[Agrégateurs][Shelly ClimVMC][Relay (VMC1er)]#,1)/3600),1) h
Pour revenir à la raison de mon message ; la fonction trigger() a changé de comportement, êtes-vous au courant ? Je demande car même cette commande n’a même pas eu droit à l’état déprécié avant sa disparition.
Dans la vesion 4.5 quand le scénario est exécuté par programmation ou lancé manuellement, trigger() retourne chaîne vide « » ; avant c’était « schedule » ou « user ».
Il ne me reste plus qu’à faire le tour de tous mes scenarii pour les adapter au nouveau core…
[2025-11-30 09:42:10][SCENARIO] -- Début : . Tags : {"#trigger#":"z2mCmd","#trigger_name#":"[Réseau Zigbee][Environnement S2B][Humidité]","#trigger_id#":"39733","#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Réseau Zigbee][Environnement S2B][Humidité] (59.99)","#trigger_value#":59.99}
Visiblement, votre scénario est bien lancé avec une modification de la valeur de l’info [Réseau Zigbee][Environnement S2B][Humidité] ("#trigger_name#":"[Réseau Zigbee][Environnement S2B][Humidité]"), dont la valeur est de 59.99% ("#trigger_value#":59.99).
Elle n’est donc pas à 0, tout du moins dans les logs qui sont montrés ici…
Il doit y avoir un autre souci avec votre scénario…
En effet, je confirme pour ma part que c’est bien #trigger_value# qu’il faut utiliser… Et cette ligne issue de la doc v4.4 :
est sans doute dû au fait que la doc de la v4.4 est sortie avant la version stable de la v4.5, et n’a pas été corrigée !
Normal. Avec la v4.5, maintenant la syntaxe correcte est #trigger#, cf la doc, même si (pour l’instant) la fonction trigger() ne renvoie pas d’erreur…
Merci d’avoir pris le temps d’analyser ma réponse.
Mais justement c’est bien le souci. Quand je notifie avec #trigger_value# j’ai 0 dans la notification.
Au cas où j’ai viré le round(#trigger_value#,1) pour voir si cela vient de là.
Bonjour à tous,
la doc est incomplète. #trigger# peut prendre également la valeur « scenario » (sans accent) pour indiquer que le déclenchement a été initié par un scénario.
Exemple d’utilisation :
Dans ce cas, #trigger_name# contient le nom du scénario déclencheur.
Voir log ci-dessous:
[2025-12-02 13:58:01][SCENARIO] -- Début : . Tags : {"#trigger#":"scenario","#trigger_name#":"[Aucun][Aucun][test trigger]","#trigger_id#":343,"#trigger_message#":"Lancement provoqué par le scénario : [Aucun][Aucun][test trigger]","#trigger_value#":""}
Ok, le problème ne vient pas directement de la fonction #trigger_value# de la nouvelle v4.5 qui fonctionne bien. Mais si on applique une fonction round() directement sur ce trigger, cela ne fonctionne pas (ou plus comme avec triggerValue()…).
Un moyen (testé OK) de contourner le problème est de faire ainsi :
1.- On affecte une variable 1 avec la valeur de #trigger_value#. Et appliquée à une autre variable 2, la formule round(variable1,1)%.
Ça donne un truc comme ça :