Appeler un autre scénario par son nom depuis un bloc code

Bonjour,

J’essais de m’inspirer de ce Sujet :

Et je souhaiterai appeler ce scenario depuis un bloc code d’un autre scenario
L’exemple du lien passe par les Id :

$scMessage = scenario::byId(239);
$scMessage->setTags($tags);
$scMessage->launch('scenario', 'Lancé par ' . $scenario->getHumanName());

Je préférerai l’appeler par son nom:

   $senario_notification = scenario::byString('#[Scripts][Send_Notification]#');
      ou
   $senario_notification = scenario::byString('#Send_Notification#');

   $senario_notification->setTags($tags);
   $senario_notification->launch('scenario', 'Lancé par ' . $scenario->getHumanName());
[2025-08-20 18:56:58][SCENARIO] Commande introuvable : #Send_Notification# => #Send_Notification#

Bref … je rame … je n’y arrive pas :tired_face:

Merci d’avance

Bonsoir,

Ça devrait être plutôt :

scenario::byString('#[Scripts][Aucun][Send_Notification]#')

  $senario_notification = scenario::byString('#[Scripts][Aucun][Send_Notification]#');
  $senario_notification->setTags($tags);
  $senario_notification->launch('scenario', 'Lancé par ' . $scenario->getHumanName());

[2025-08-20 19:10:12][SCENARIO] Commande introuvable : #[Scripts][Aucun][Send_Notification]# => #[Scripts][Aucun][Send_Notification]#

C’est pas mieux, je dois rater encore une marche …

Et avec #[Aucun][Scripts][Send_Notification]# ?

Je sais plus bien où se trouve le nom du groupe :upside_down_face:

Je ne suis pas le plus compétent pour te répondre, mais il me semble que ce n’est pas possible ainsi pour un scénario Il faut impérativement l’appeler par id - ou alors récupérer son nom avec un $scenario->getName() qui retourne le nom exact du scénario courant.
La forme #[xxx][yyy][zzz]# ne permet que de récupérer ou mettre à jour la valeur d’une commande
C’est ce qui m’a été expliqué, et depuis je m’en tiens aux id.

Bingo : c’est bon, le nom de groupe est en premier

J’aurai jamais trouvé tout seul …
Ca fonctionne …
Un grand Merci

Le premier,c’est le goupe : comme il n’y en a pas c’est [Aucun]
Le deuxième c’est le parent [Scripts]
Le troisième c’est le nom du scenario [Send_Notification]

   $senario_notification = scenario::byString('#[Aucun][Scripts][Send_Notification]#');
   $senario_notification->setTags($tags);
   $senario_notification->launch('scenario', 'Lancé par ' . $scenario->getHumanName());
------------------------------------
[2025-08-20 19:53:18][SCENARIO] -- Début : Lance par [Aucun][Equipements Reseau][Backup_Check]. Tags : {"#cmdNotification#":"#[Scripts][Aucun][Send_Notification]#","#cmdListe#":"#165828#","#cmdIdListe#":"165828","#seuilTailleMin#":"50","#seuilTailleMax#":"300","#notification_origine#":"[Aucun][Equipements R\u00e9seau][Backup_Check]","#notification_title#":"title=Defaut BACKUP Jeedom_amiens","#notification_message#":"Pas de backup aujourd'hui<br>Dernier backup : 19\/08\/2025"}
[2025-08-20 19:53:18][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-08-20 19:53:18][SCENARIO]    Log : Origine = [Aucun][Equipements Réseau][Backup_Check]
[2025-08-20 19:53:18][SCENARIO]    Log : Titre = title=Defaut BACKUP Jeedom_amiens
[2025-08-20 19:53:18][SCENARIO]    Log : Message  = Pas de backup aujourd'hui<br>Dernier backup : 19/08/2025
[2025-08-20 19:53:18][SCENARIO] - Exécution du sous-élément de type [condition] : if tag(#notification_message#)!=""
[2025-08-20 19:53:18][SCENARIO] Evaluation de la condition : ["Pas de backup aujourd'hui<br>Dernier backup : 19/08/2025"!=""] = Vrai
[2025-08-20 19:53:18][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-08-20 19:53:18][SCENARIO] Exécution d'un bloc élément : 56
[2025-08-20 19:53:18][SCENARIO] - Exécution du sous-élément de type [condition] : if tag(#notification_origine#)=="Backup_Check"
[2025-08-20 19:53:18][SCENARIO] Evaluation de la condition : ["[Aucun][Equipements Réseau][Backup_Check]"=="Backup_Check"] = Faux
[2025-08-20 19:53:18][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-08-20 19:53:18][SCENARIO] Fin correcte du scénario
------------------------------------
[2025-08-20 19:53:19][SCENARIO] -- Début : Lance par [Aucun][Equipements Reseau][Backup_Check]. Tags : {"#cmdNotification#":"#[Scripts][Aucun][Send_Notification]#","#cmdListe#":"#165828#","#cmdIdListe#":"165828","#seuilTailleMin#":"50","#seuilTailleMax#":"300","#notification_origine#":"[Aucun][Equipements R\u00e9seau][Backup_Check]","#notification_title#":"title=Defaut BACKUP Jeedom_orry","#notification_message#":"Pas de backup aujourd'hui<br>Dernier backup : 19\/08\/2025"}
[2025-08-20 19:53:19][SCENARIO] - Exécution du sous-élément de type [action] : action
[2025-08-20 19:53:19][SCENARIO]    Log : Origine = [Aucun][Equipements Réseau][Backup_Check]
[2025-08-20 19:53:19][SCENARIO]    Log : Titre = title=Defaut BACKUP Jeedom_orry
[2025-08-20 19:53:19][SCENARIO]    Log : Message  = Pas de backup aujourd'hui<br>Dernier backup : 19/08/2025
[2025-08-20 19:53:19][SCENARIO] - Exécution du sous-élément de type [condition] : if tag(#notification_message#)!=""
[2025-08-20 19:53:19][SCENARIO] Evaluation de la condition : ["Pas de backup aujourd'hui<br>Dernier backup : 19/08/2025"!=""] = Vrai
[2025-08-20 19:53:19][SCENARIO] - Exécution du sous-élément de type [action] : then
[2025-08-20 19:53:19][SCENARIO] Exécution d'un bloc élément : 56
[2025-08-20 19:53:19][SCENARIO] - Exécution du sous-élément de type [condition] : if tag(#notification_origine#)=="Backup_Check"
[2025-08-20 19:53:19][SCENARIO] Evaluation de la condition : ["[Aucun][Equipements Réseau][Backup_Check]"=="Backup_Check"] = Faux
[2025-08-20 19:53:19][SCENARIO] - Exécution du sous-élément de type [action] : else
[2025-08-20 19:53:19][SCENARIO] Fin correcte du scénario
1 « J'aime »

On aurai pu s’en douter avec le log du scenario appelant … :smiley: :smiley: :smiley:
Mais comme l’appel ne se faisant pas, on n’avait pas le log

OK parfait, n’hésites pas à solution à partir du post qui va bien :slight_smile:

Bonne soirée !

Ok j’espère avoir coché solution sur le bon message

Merci encore

Et bien dans l’idée on met la solution sur le message de celui qui a donné la solution :sweat_smile:

oss-117

1 « J'aime »

Bon alors j’ai pas coché sur le bon message
Désolé je ferai mieux la prochaine fois

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