Aide sur la nouvelle fonction trigger

Oui mais ça ne fonctionne plus :slight_smile:

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).

2 « J'aime »

Bonsoir

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.

image

[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

Maintenant j’ai des probleme dans mes blocs code avec le trigger
C’est bête qu’il n’existe pas une petite moulinette

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

[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}
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [condition] : if ( #trigger_name# == "[Capteurs et Actionneurs][MJHT Cuisine][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement S2B][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement WC1er][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Salon][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Commun][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Dressing][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Parents][Humidité]" ) AND ( #[Capteurs et Actionneurs][MJHT Cuisine][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement S2B][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement WC1er][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Salon][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Commun][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Dressing][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Parents][Humidité]# < variable(Humi1er_min) )
[2025-11-30 09:42:10][SCENARIO] Evaluation de la condition : [( "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Capteurs et Actionneurs][MJHT Cuisine][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement S2B][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement WC1er][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Salon][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Commun][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Dressing][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Parents][Humidité]" ) AND ( 48.2 < 65 AND 59.99 < 65 AND 51.72 < 65 AND 46.39 < 65 AND 44.93 < 65 AND 49.28 < 65 AND 52 < 65 )] = Vrai
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-11-30 09:42:10][SCENARIO] Exécution d'un bloc élément : 4739
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Agrégateurs][Shelly ClimVMC][Relay (VMC1er)]# == 0
[2025-11-30 09:42:10][SCENARIO] Evaluation de la condition : [1 == 0] = Faux
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-30 09:42:10][SCENARIO] Exécution d'un bloc élément : 4740
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [condition] : if (lastStateDuration(#[Agrégateurs][Shelly ClimVMC][Relay (VMC1er)]#,1)/60) > 60
[2025-11-30 09:42:10][SCENARIO] Evaluation de la condition : [(627/60) > 60] = Faux
[2025-11-30 09:42:10][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-30 09:42:10][SCENARIO] Exécution de la commande [Interfaces][Telegram][ XXXXXXXXXXX] avec comme option(s) : {"background":"0","title":"","message":"1er \u00e9tage - VMC - Fin Extraction Pilot\u00e9e : OK\nD\u00e9clenchement : [R\u00e9seau Zigbee][Environnement S2B][Humidit\u00e9] pour 0%\nDur\u00e9e d'extraction : 10.5 min"}
[2025-11-30 09:42:10][SCENARIO] Affectation de la variable duration_1er => Déclenchement : [Réseau Zigbee][Environnement S2B][Humidité] pour 0% (Déclenchement : [Réseau Zigbee][Environnement S2B][Humidité] pour 0%)
[2025-11-30 09:42:10][SCENARIO] Exécution de la commande [1er][Pilotage VMC 1er][En attente]
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [condition] : if ( #trigger_name# == "[Capteurs et Actionneurs][MJHT Cuisine][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Salon][Humidité]"  OU #trigger_name# == "[Réseau Zigbee][Environnement Commun][Humidité]" ) AND ( #[Capteurs et Actionneurs][MJHT Cuisine][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Salon][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Commun][Humidité]# < variable(Humi1er_min) ) AND #[Pièce de Vie][Déshumidication Split Pièce de Vie][Déshumidication]# == 1
[2025-11-30 09:42:16][SCENARIO] Evaluation de la condition : [( "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Capteurs et Actionneurs][MJHT Cuisine][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Salon][Humidité]"  OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Commun][Humidité]" ) AND ( 48 < 65 AND 46.39 < 65 AND 44.93 < 65 ) AND 0 == 1] = Faux
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Parents - Dressing][Déshumidication Split Parents][Déshumidication]# == 1 AND ( #trigger_name# == "[Réseau Zigbee][Environnement Dressing][Humidité]" OU #trigger_name# == "[Réseau Zigbee][Environnement Parents][Humidité]" ) AND ( #[Réseau Zigbee][Environnement Dressing][Humidité]# < variable(Humi1er_min) AND #[Réseau Zigbee][Environnement Parents][Humidité]# < variable(Humi1er_min) )
[2025-11-30 09:42:16][SCENARIO] Evaluation de la condition : [0 == 1 AND ( "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Dressing][Humidité]" OU "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Réseau Zigbee][Environnement Parents][Humidité]" ) AND ( 49.28 < 65 AND 52 < 65 )] = Faux
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Véranda][Déshumidication Split Véranda][Déshumidication]# == 1 AND #trigger_name# == "[Capteurs et Actionneurs][MJHT Véranda][Humidité]" AND #[Capteurs et Actionneurs][MJHT Véranda][Humidité]# < variable(Humi1er_min)
[2025-11-30 09:42:16][SCENARIO] Evaluation de la condition : [0 == 1 AND "[Réseau Zigbee][Environnement S2B][Humidité]" == "[Capteurs et Actionneurs][MJHT Véranda][Humidité]" AND 49.1 < 65] = Faux
[2025-11-30 09:42:16][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-11-30 09:42:16][SCENARIO] Fin correcte du scénario

Bonjour à tous,

Petite remarque concernant la dépréciation des commandes…

extrait de la doc Core 4.4 :

extrait de la doc Core 4.5 :

Les mentions deprecated sont strictement inversées ! Habituellement un fonction dépréciée n’est pas ressuscitée dans une version suivante…

De plus, selon la doc et mon test, le tag #triggerValue# n’existe plus en 4.5 :

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…

Bonjour,

Je ne vois pas ce qui cloche…

[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…

Bonjour,

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 :
image
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 ! :wink:

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…

2 « J'aime »

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à.

:thinking:

Non, ça c’est OK, il n’ a pas de problème sur cette expression…

Écrit comme ça par contre, ça ne fonctionnera effectivement pas…

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 :
image
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#":""}

désolé, c’est une typo, dans le message d’au dessus, j’ai bien mis #trigger_value#

1 « J'aime »

Si justement, ça ne marche pas, voir ma copie d’écran au-dessus.
La notification donne 0.

J’ai viré le round et j’attends la prochaine exécution.

C’est assez simple en fait. Faut pas hésiter à tester.
https://doc.jeedom.com/fr_FR/contribute/doc

1 « J'aime »

Merci @Tonio16
Le temps de me créer un compte et j’y vais

Bonjour,

La documentation sera corrigée en 4.5.1 : typo trigger_value · jeedom/core@08a2f4d

Néanmoins, malgré cette faute de frappe la syntaxe exacte est bien indiquée là où c’est important :

5 « J'aime »

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 :

2.- Résultat
La variable 2 contient bien ce que l’on souhaite (« Déclenchement : 59.9% »)

Un tag me semblerai plus approprié.

2 « J'aime »

Ou un tag pour la variable 1, oui, c’est plus propre en effet… :+1:

1 « J'aime »