Ok, je comprends et c’est plutôt sympa comme façon d’utiliser les scénario.
Du coup j’ai eu envie de voir si on peut jouer avec des sleeps pour laisser les scénarios se dérouler en parallèle.
Je te présente donc pouet :
Et ses appelants pouet_chapeau30 :
Et pouet_chapeau16 :
L’idée est d’utiliser les tags pour dire à pouet de se relancer (ou non) au bout d’un certain temps (ou non).
Je lance pouet à vide pour vérifier qu’il ne fait rien à vide, puis chapeau16 et 10 secondes après chapeau30, les messages et les logs de pouet montrent bien les 5 lancements :
[2021-01-04 18:12:42][SCENARIO] Start : Scenario lance manuellement.
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-04 18:12:42][SCENARIO] Exécution d'un bloc élément : 952
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:12:42][SCENARIO] Evaluation de la condition : [0 != 0] = Faux
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-01-04 18:12:42][SCENARIO] Exécution d'un bloc élément : 953
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:12:42][SCENARIO] Evaluation de la condition : ["" != ""] = Faux
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-01-04 18:12:42][SCENARIO] Exécution d'un bloc élément : 954
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:12:42][SCENARIO] Evaluation de la condition : [0] = 0
[2021-01-04 18:12:42][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-01-04 18:12:42][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-01-04 18:13:04][SCENARIO] Start : Lancement provoque par le scenario : [pouet_chapeau30]. Tags : {"#sleepy#":"30","#relaunch#":"1","#msg#":"30 step1"}
[2021-01-04 18:13:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-04 18:13:04][SCENARIO] Exécution d'un bloc élément : 952
[2021-01-04 18:13:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:04][SCENARIO] Evaluation de la condition : [30 != 0] = Vrai
[2021-01-04 18:13:04][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:04][SCENARIO] Pause de 30 seconde(s)
[2021-01-04 18:13:14][SCENARIO] Start : Lancement provoque par le scenario : [pouet_chapeau16]. Tags : {"#sleepy#":"16","#relaunch#":"1","#msg#":"16 step1"}
[2021-01-04 18:13:14][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-04 18:13:14][SCENARIO] Exécution d'un bloc élément : 952
[2021-01-04 18:13:14][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:14][SCENARIO] Evaluation de la condition : [16 != 0] = Vrai
[2021-01-04 18:13:14][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:14][SCENARIO] Pause de 16 seconde(s)
[2021-01-04 18:13:30][SCENARIO] Exécution d'un bloc élément : 953
[2021-01-04 18:13:30][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:30][SCENARIO] Evaluation de la condition : ["16 step1" != ""] = Vrai
[2021-01-04 18:13:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:30][SCENARIO] Ajout du message suivant dans le centre de message : 16 step1
[2021-01-04 18:13:30][SCENARIO] Exécution d'un bloc élément : 954
[2021-01-04 18:13:30][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:30][SCENARIO] Evaluation de la condition : [1] = 1
[2021-01-04 18:13:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:30][SCENARIO] Lancement du scénario : pouet options : {"#sleepy#":"10","#relaunch#":"0","#msg#":"16 step1 step2"}
[2021-01-04 18:13:30][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-01-04 18:13:31][SCENARIO] Start : Lancement provoque par le scenario : [pouet]. Tags : {"#sleepy#":"10","#relaunch#":"0","#msg#":"16 step1 step2"}
[2021-01-04 18:13:31][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-04 18:13:31][SCENARIO] Exécution d'un bloc élément : 952
[2021-01-04 18:13:31][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:31][SCENARIO] Evaluation de la condition : [10 != 0] = Vrai
[2021-01-04 18:13:31][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:31][SCENARIO] Pause de 10 seconde(s)
[2021-01-04 18:13:34][SCENARIO] Exécution d'un bloc élément : 953
[2021-01-04 18:13:34][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:34][SCENARIO] Evaluation de la condition : ["30 step1" != ""] = Vrai
[2021-01-04 18:13:34][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:35][SCENARIO] Ajout du message suivant dans le centre de message : 30 step1
[2021-01-04 18:13:35][SCENARIO] Exécution d'un bloc élément : 954
[2021-01-04 18:13:35][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:35][SCENARIO] Evaluation de la condition : [1] = 1
[2021-01-04 18:13:35][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:35][SCENARIO] Lancement du scénario : pouet options : {"#sleepy#":"10","#relaunch#":"0","#msg#":"30 step1 step2"}
[2021-01-04 18:13:35][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-01-04 18:13:35][SCENARIO] Start : Lancement provoque par le scenario : [pouet]. Tags : {"#sleepy#":"10","#relaunch#":"0","#msg#":"30 step1 step2"}
[2021-01-04 18:13:35][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-04 18:13:35][SCENARIO] Exécution d'un bloc élément : 952
[2021-01-04 18:13:35][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:35][SCENARIO] Evaluation de la condition : [10 != 0] = Vrai
[2021-01-04 18:13:35][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:35][SCENARIO] Pause de 10 seconde(s)
[2021-01-04 18:13:41][SCENARIO] Exécution d'un bloc élément : 953
[2021-01-04 18:13:41][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:41][SCENARIO] Evaluation de la condition : ["16 step1 step2" != ""] = Vrai
[2021-01-04 18:13:41][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:41][SCENARIO] Ajout du message suivant dans le centre de message : 16 step1 step2
[2021-01-04 18:13:41][SCENARIO] Exécution d'un bloc élément : 954
[2021-01-04 18:13:41][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:41][SCENARIO] Evaluation de la condition : [0] = 0
[2021-01-04 18:13:41][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-01-04 18:13:41][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-01-04 18:13:45][SCENARIO] Exécution d'un bloc élément : 953
[2021-01-04 18:13:45][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:45][SCENARIO] Evaluation de la condition : ["30 step1 step2" != ""] = Vrai
[2021-01-04 18:13:45][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-01-04 18:13:46][SCENARIO] Ajout du message suivant dans le centre de message : 30 step1 step2
[2021-01-04 18:13:46][SCENARIO] Exécution d'un bloc élément : 954
[2021-01-04 18:13:46][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-01-04 18:13:46][SCENARIO] Evaluation de la condition : [0] = 0
[2021-01-04 18:13:46][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-01-04 18:13:46][SCENARIO] Fin correcte du scénario
------------------------------------
Donc je pense que tu dois pouvoir travailler avec des sleep, 180-240 secondes ne devrait pas poser de pb sur un scenario en multi lancement.
On pourrait aussi imaginer décrémenter relaunch pour gérer un nombre de relancement ou une commande (virtuel ou non) dont t’on testerait depuis combien elle a été mise à jour pour arrêter le scenario dans tous les cas.
Bon je me suis bien amusé, maintenant on me demande de faire à manger, et ça Jeedom ne le faire pas encore lol