Problème variable depuis la 4.5

Bonjour à tous,
Je rencontre un problème avec mes variables j’utilisé cmd, eqlogic etc et depuis la 4.5 ca ne fonctionne plus ca me marque commande introuvable


Le log du scenario est inexploitable. Il manque la page santé.

Voici ma page santé

Jeedom 4.5.1 donc pas 4.5.0…
Précision qui a son importance.

Avez-vous rebooter votre machine depuis la mise à jour?

oui désolé pour la précision
oui j’ai effectué plusieurs redémarrage rien ne change

Bonjour,

Une des premières commandes c’est de définir ta variable en fonction du tag #trigger#

Hors celui-ci a changé depuis le passage en 4.5, voir doc et/ou ce post :

Partant de là, l’ensemble de ton scénario devient KO

1 « J'aime »

Je comprends pas trop tu peux m’aider en privée

dans les logs jai ceci,

[2025-12-19 14:38:30][SCENARIO] Affectation de la variable nom-cmd => Commande introuvable (Commande introuvable)
[2025-12-19 14:38:30][SCENARIO] Affectation de la variable nom-eqlogic => Commande introuvable (Commande introuvable)
[2025-12-19 14:38:30][SCENARIO] Affectation de la variable nom-object => Commande introuvable (Commande introuvable)

Regarde ce qui arrive en début d’éxécution de scénario

Maintenant ton tag #trigger# ne corresponds plus à ce que tu recevais avant cette version 4.5, ça fou donc en l’air tout tes enchainements d’attribution de variables.

Il te faut regarder maintenant le #trigger_name# ou le #trigger_id#

Bref pas le choix il faut retravailler ton scénario pour récupérer à nouveau le nom de la commande de la bonne façon mais ça oblige aussi à ne plus traiter de la même façon.

Et puis si ça se trouve la fonction name() est aussi toute cassée et personne ne l’avait vu

EDIT : Je confirme, j’ai testé la fonction name(), maintenant c’est une galère pas possible avec les nouveaux tag de trigger… pour le moment j’ai pas trouvé

2 « J'aime »

Bonjour
Quitte à reprendre ton scénario, si tu n’utilises pas les variables autre part, plutôt utiliser des « tag » (qui ont pas mal évolué en quelques années / ce qui n’était pas possible avant l’est maintenant parfois), cela va allégé / rendre plus rapide l’exécution.
Quand tu lances le scénario, tu peux aussi mettre :
COLOR=tag(couleur) MSG=tag(message)
Dans le Si tu donnes une valeur à ces deux tags
Et en dessous du Si tu lances le scénario avec les tags

Bonjour,

Déclenchement:
-Mode du scénario : Provoqué
-Événement : #[Bureau][BoutonHue1][Button]#

[2025-12-19 20:42:56][SCENARIO] -- Début : . Tags : {"#trigger#":"z2mCmd","#trigger_name#":"[Bureau][BoutonHue1][Button]","#trigger_id#":29,"#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Bureau][BoutonHue1][Button] (on)","#trigger_value#":"on"}
[2025-12-19 20:42:56][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-19 20:42:56][SCENARIO]    Log : BoutonHue1
[2025-12-19 20:42:56][SCENARIO]    Log : [Bureau][BoutonHue1][Button]
[2025-12-19 20:42:56][SCENARIO] Affectation de la variable trigger-name => [Bureau][BoutonHue1][Button] ([Bureau][BoutonHue1][Button])
[2025-12-19 20:42:56][SCENARIO]    Log : [Bureau][BoutonHue1][Button]
[2025-12-19 20:42:56][SCENARIO] Affectation de la variable nom-eqlogic => BoutonHue1 (BoutonHue1)
[2025-12-19 20:42:56][SCENARIO]    Log : BoutonHue1
[2025-12-19 20:42:56][SCENARIO] Fin correcte du scénario

akenad :slight_smile:

trop rapide !


En 4.5 ça ne fonctionne pas chez moi

[2025-12-19 21:32:01][SCENARIO] -- Début : . Tags : {"#trigger#":"jMQTTCmd","#trigger_name#":"[Salon][Lumière RB250C Salon (MQTT)][Etat]","#trigger_id#":"9532","#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Salon][Lumière RB250C Salon (MQTT)][Etat] (0)","#trigger_value#":0}
[2025-12-19 21:32:01][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-19 21:32:01][SCENARIO] Mise à jour du tag #t1# => [Salon][Lumière RB250C Salon (MQTT)][Etat]
[2025-12-19 21:32:01][SCENARIO] Mise à jour du tag #t2# => name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat])
[2025-12-19 21:32:01][SCENARIO]    Log : name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat])
[2025-12-19 21:32:01][SCENARIO] Affectation de la variable t1 => [Salon][Lumière RB250C Salon (MQTT)][Etat] ([Salon][Lumière RB250C Salon (MQTT)][Etat])
[2025-12-19 21:32:01][SCENARIO] Affectation de la variable t2 => name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat]) (name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat]))
[2025-12-19 21:32:01][SCENARIO]    Log : name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat])
[2025-12-19 21:32:01][SCENARIO] Suppression de la variable t1
[2025-12-19 21:32:01][SCENARIO] Suppression de la variable t2
[2025-12-19 21:32:01][SCENARIO] Fin correcte du scénario

Faut que j’aille me coucher ?

Et si j’appelle depuis un scénario, j’ai pas le même résultat

[2025-12-19 21:35:44][SCENARIO] -- Début : . Tags : {"#trigger#":"scenario","#trigger_name#":"[Aucun][Aucun][Test Timeline SC1 appelle SC2]","#trigger_id#":"307","#trigger_message#":"Lancement provoqué par le scénario  : [Aucun][Aucun][Test Timeline SC1 appelle SC2]","#trigger_value#":""}
[2025-12-19 21:35:44][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-19 21:35:44][SCENARIO] Mise à jour du tag #t1# => [Aucun][Aucun][Test Timeline SC1 appelle SC2]
[2025-12-19 21:35:44][SCENARIO] Mise à jour du tag #t2# => Commande introuvable
[2025-12-19 21:35:44][SCENARIO]    Log : Commande introuvable
[2025-12-19 21:35:44][SCENARIO] Affectation de la variable t1 => [Aucun][Aucun][Test Timeline SC1 appelle SC2] ([Aucun][Aucun][Test Timeline SC1 appelle SC2])
[2025-12-19 21:35:44][SCENARIO] Affectation de la variable t2 => Commande introuvable (Commande introuvable)
[2025-12-19 21:35:44][SCENARIO]    Log : Commande introuvable
[2025-12-19 21:35:44][SCENARIO] Suppression de la variable t1
[2025-12-19 21:35:44][SCENARIO] Suppression de la variable t2
[2025-12-19 21:35:44][SCENARIO] Fin correcte du scénario

j’ai juste reproduit ce que faisait Greg en utilisant trigger_name à la place de trigger.

akenad :slight_smile:

Je sais bien, mais c’est ce que j’ai fais aussi et on voit bien que ça marche pas

C’est ce que j’avais commencé à faire en fin d’après-midi donc après j’ai torturé le truc pour essayer de trouver mais en revevant à l’utilisation de #trigger_name# je ne récupère pas ce qu’il faut après le name

Tu es en 4.5.1 ?

oui, avec image Atlas Debian 12.

akenad :slight_smile:

Bon donc résultat des courses

Debian 11.7 en 4.5.1, ça ne fonctionne pas

[2025-12-20 14:55:55][SCENARIO] -- Début : . Tags : {"#trigger#":"jMQTTCmd","#trigger_name#":"[Salon][Lumière RB250C Salon (MQTT)][Etat]","#trigger_id#":"9532","#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Salon][Lumière RB250C Salon (MQTT)][Etat] (1)","#trigger_value#":1}
[2025-12-20 14:55:55][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-20 14:55:55][SCENARIO]    Log : [Salon][Lumière RB250C Salon (MQTT)][Etat]
[2025-12-20 14:55:55][SCENARIO] Mise à jour du tag #trigger-name# => [Salon][Lumière RB250C Salon (MQTT)][Etat]
[2025-12-20 14:55:55][SCENARIO]    Log : name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat])
[2025-12-20 14:55:55][SCENARIO] Fin correcte du scénario

Sur mon environnement de dev en Debian 12.5, ça fonctionne :

[2025-12-20 14:54:20][SCENARIO] -- Début : . Tags : {"#trigger#":"virtualCmd","#trigger_name#":"[TITI][liste][test]","#trigger_id#":2800,"#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [TITI][liste][test] (Low)","#trigger_value#":"Low"}
[2025-12-20 14:54:20][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-20 14:54:21][SCENARIO]    Log : [TITI][liste][test]
[2025-12-20 14:54:21][SCENARIO] Mise à jour du tag #trigger-name# => [TITI][liste][test]
[2025-12-20 14:54:21][SCENARIO]    Log : liste
[2025-12-20 14:54:21][SCENARIO] Fin correcte du scénario

EDIT :
@Loic, désolé de te mentionner mais je crois qu’on a vraiment affaire à un cas étrange.
Sous Jeedom > 4.5 mais Debian 11.x, l’appel de la fonction name() ne se fait pas quand on y passe un tag ou une variable ==> voir ma capture au dessus, ça ressort name(eqLogic,[Salon][Lumière RB250C Salon (MQTT)][Etat])
J’ai essayé de copier la fonction dans une userfunction et j’ai ajouté des logs, même constat, aucune trace du passage par la fonction quand on l’appel avec un tag ou une variable
Par contre ça marche bien si on y met directement le nom de la commande
De quoi ça peut venir ?

Je viens de remarquer que les variables n’étaient pas dans l’onglet Variables ca peut être a cause de ca?

#trigger_name# fonctionne bien on dirait mais c’est le reste

[2025-12-20 16:20:14][SCENARIO] -- Début : . Tags : {"#trigger#":"HomeAssistantConnectCmd","#trigger_name#":"[Aucun][Lumière Et Prises][Salle De Bain]","#trigger_id#":"163473","#trigger_message#":"Scénario exécuté automatiquement sur événement venant de : [Aucun][Lumière Et Prises][Salle De Bain] (1)","#trigger_value#":1}
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [action] : code
[2025-12-20 16:20:14][SCENARIO] Exécution d'un bloc code
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Membres][Greg][Mode]# == 1
[2025-12-20 16:20:14][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-12-20 16:20:14][SCENARIO] Exécution d'un bloc élément : 304
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-12-20 16:20:14][SCENARIO]    Log : #trigger-name# - 1
[2025-12-20 16:20:14][SCENARIO] Affectation de la variable nom => #trigger-name# (#trigger-name#)
[2025-12-20 16:20:14][SCENARIO] Affectation de la variable nom-cmd => Commande introuvable (Commande introuvable)
[2025-12-20 16:20:14][SCENARIO] Affectation de la variable nom-eqlogic => Commande introuvable (Commande introuvable)
[2025-12-20 16:20:14][SCENARIO] Affectation de la variable nom-object => Commande introuvable (Commande introuvable)
[2025-12-20 16:20:14][SCENARIO]    Log : nom: #trigger-name# -  -  -
[2025-12-20 16:20:14][SCENARIO] Exécution d'un bloc élément : 305
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_value# == 1
[2025-12-20 16:20:14][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2025-12-20 16:20:14][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-12-20 16:20:14][SCENARIO] Lancement du scénario : Centre de notif options : {"#OU#":"Electrique","#TITRE#":"Commande introuvable","#COLOR#":"#00ff00","#OPT#":"0","#CKI#":"Gestion des \u00c9clairages","#MSG#":"<:Emoji_lum_on:703175004514287617> Votre Commande introuvable est **Allum\u00e9e** :green_circle:"}
[2025-12-20 16:20:14][SCENARIO] Pause de 10 seconde(s)
[2025-12-20 16:20:24][SCENARIO] Exécution d'un bloc élément : 306
[2025-12-20 16:20:24][SCENARIO] - Exécution du sous-élément de type [condition] : if #trigger_value# == 0
[2025-12-20 16:20:24][SCENARIO] Evaluation de la condition : [1 == 0] = Faux
[2025-12-20 16:20:24][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-12-20 16:20:24][SCENARIO] Fin correcte du scénario

Parce que comme je viens de le dire juste au dessus :

Tu es encore en Debian 11.11, donc tu as ce problème … la fonction name() est KO même en utilisant le nouveau tag #trigger_name#

En passant sous Debian 12.x ça fonctionne à nouveau comme il faut, ce qui évidemment n’est pas si trivial ```

EDIT : En fait c’est l’appel de la fonction name() quand elle contient un tag ou une variable qui ne fonctionne pas chez moi en Debian 11.7 … la fonction n’est même pas appelé dans ce cas, c’est fou :slight_smile: