Exécution des commandes en parallèle

Bonjour,
Je rencontre un problème que je n’avais pas remarqué jusqu’à maintenant.
Est-il normal que les commandes notées en noire sur la copie d’écran s’exécutent après le 2eme « SI » ?

------------------------------------
[2022-11-23 18:32:22][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [Jardin][TRADFRI SHORTCUT Button ][Bouton 01-1000] (1002).
[2022-11-23 18:32:22][SCENARIO] - Exécution du sous-élément de type [condition] : if (trigger(#[Jardin][TRADFRI SHORTCUT Button ][Bouton 01-1000]#) == 1 ET #[Jardin][TRADFRI SHORTCUT Button ][Bouton 01-1000]# == 1002) ou (trigger(#[Jardin][TRADFRI SHORTCUT Button ][Bouton 01-1000]#) == 1 ET #[Jardin][TRADFRI SHORTCUT Button ][Bouton 01-1000]# == 1003)
[2022-11-23 18:32:22][SCENARIO] Evaluation de la condition : [(1 == 1 ET 1002 == 1002) ou (1 == 1 ET 1002 == 1003)] = Vrai
[2022-11-23 18:32:22][SCENARIO] - Exécution du sous-élément de type [action] : then
[2022-11-23 18:32:22][SCENARIO] Execution du lancement en arriere plan : scenarioElementubOEbPeAC4
[2022-11-23 18:32:22][SCENARIO] Exécution d'un bloc élément : 1028
[2022-11-23 18:32:22][SCENARIO] - Exécution du sous-élément de type [condition] : if time_between(#time#,#[Jardin][Aulnat][Coucher du soleil]#,#[Jardin][Aulnat][Lever du soleil]#) == 1
[2022-11-23 18:32:22][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2022-11-23 18:32:22][SCENARIO] - Exécution du sous-élément de type [action] : then
[2022-11-23 18:32:22][SCENARIO] Exécution de la commande  [Jardin][Spot extérieure][On]
[2022-11-23 18:32:22][SCENARIO] Pause de 60 seconde(s)
[2022-11-23 18:32:23][SCENARIO] Lancement en arrière-plan de : scenarioElementubOEbPeAC4
[2022-11-23 18:32:23][SCENARIO] Exécution de la commande  [Jardin][Rue - Est][Enregistrer] avec comme option(s) : {"background":0,"title":"nbSnap=30 delay=1 sendFirstSnap=1","message":"#230#"}
------------------------------------
[2022-11-23 18:33:22][SCENARIO] Exécution de la commande  [Jardin][Spot extérieure][Off]
[2022-11-23 18:33:22][SCENARIO] Execution du lancement en arriere plan : scenarioElement0EstOcu8bd
[2022-11-23 18:33:22][SCENARIO] Execution du lancement en arriere plan : scenarioElementJvc54k1w3N
[2022-11-23 18:33:22][SCENARIO] Execution du lancement en arriere plan : scenarioElementWIrmY0LvDi
[2022-11-23 18:33:22][SCENARIO] Execution du lancement en arriere plan : scenarioElementW3qHr63QZ3
[2022-11-23 18:33:22][SCENARIO] Pause de 60 seconde(s)
[2022-11-23 18:33:23][SCENARIO] Lancement en arrière-plan de : scenarioElementJvc54k1w3N
[2022-11-23 18:33:23][SCENARIO] Exécution de la commande  [Technique][Notifications Manager][Cédric] avec comme option(s) : {"background":0,"title":"Sonnette","message":"Quelqu'un sonne \u00e0 la porte !"}
------------------------------------
[2022-11-23 18:33:24][SCENARIO] Lancement en arrière-plan de : scenarioElement0EstOcu8bd
[2022-11-23 18:33:24][SCENARIO] Lancement en arrière-plan de : scenarioElementW3qHr63QZ3
[2022-11-23 18:33:24][SCENARIO] Exécution de la commande  [Maison][Pièces de vie et sdb][Sonnette]
------------------------------------
[2022-11-23 18:33:24][SCENARIO] Lancement en arrière-plan de : scenarioElementWIrmY0LvDi
[2022-11-23 18:33:24][SCENARIO] Exécution de la commande  [Cuisine][Tablette - JPI][Page Sonnette]
[2022-11-23 18:33:24][SCENARIO] Exécution de la commande  [Technique][Notifications Manager][Mathieu] avec comme option(s) : {"background":0,"title":"Sonnette","message":"Quelqu'un sonne \u00e0 la porte !"}
------------------------------------

Merci par avance.
Mathieu

oui

Ils font partie du même bloc

Bonsoir @J2B ,
Excuse-moi, je n’ai pas compris.

Mathieu

Le scénario exécute le premier SI :

1/ il entre dans ta deuxième condition et exécute le alors ou le sinon (qui n’est pas utiliser ici)
2/ il enchaine sur tes commandes d’action

Que souhaiteriez vous comme fonctionnement ?

@J2B , d’accord merci. J’ai pas souvenir que c’était comme ça avant.
J’aimerai que le 2eme SI s’exécute en même temps que le reste des commandes.

Mathieu

@Furaxworld ,
Si je mets les actions là où tu indiques, à savoir dans le second SI, ils sont conditionnées au 2eme SI et non au premier.
Ce qui m’intéresse c’est d’avoir les actions du 1er SI se déclenche en même temps que la condition du 2eme SI.

Mathieu

Salut,

Je tenterai de descendre le bloc SI en question au dessus de l’action sleep.

Bonjour,

Ca a « toujours » été le comportement.
Si vous voulez exécuter des actions en parallèle d’autres, cochez la case correspondante à côté de la case pour activer/désactiver un bloc.

@Bison je vais tester.
@Mips cette case n’existe pas sur un SI, non?

Il n’y a aucun intérêt d’executer juste le « SI » en « parallèle » (cela veut dire dans un process php séparé), cela prend 0s de faire un test; lancer le thread prendra plus de temps que l’évaluation.

Donc non, cela n’existe pas, c’est bien sur les actions que vous devez cocher la case pour que les actions s’exécutent en parallèle.

Autre possibilité (même si je vois pas trop l’intérêt)
c’est de découper ton scénario

Scénario principal 1 avec des tempo
Lancement d’un scénario 1Bis (en parallèle de 1)

https://doc.jeedom.com/fr_FR/core/4.3/scenario?theme=light
Les commandes spécifiques

Scénario (scenario) : Permet de contrôler des scénarios. La partie tags permet d’envoyer des tags au scénario, ex : montag=2 (attention il ne faut utiliser que des lettre de a à z. Pas de majuscules, pas d’accents et pas de caractères spéciaux). On récupère le tag dans le scénario cible avec la fonction tag(montag).

  • Démarrer : Démarre le scenario dans un thread diffèrent. Le scenario démarré s’exécute indépendamment du scénario appelant.

Après tout dépend de l’objectif :slight_smile:
N’ayant pas la visu de tout ton scénario ni son objectif, difficile d’en dire plus :wink:

Bonjour,
J’avoue ne pas trop maitriser l’histoire de cocher ou non les cases Action en parallèle, c’est peut-être la solution.
Mais il me semble que si tu mets ton bloc SI : time_between(…) == 1
dans un bloc DANS avec comme temps 0,
Le SI va s’exécuter dans une instance et tu obtiendras le comportement attendu.
(je peux pas test maintenant pour te confirmer…)
Bon test !

4 « J'aime »

Dans : Permet de lancer une action dans X minute(s) (0 est une valeur possible). La particularité est que les actions sont lancées en arrière-plan, elles ne bloquent donc pas la suite du scénario. C’est donc un bloc non bloquant.

excellente idée :wink:

Bonsoir à tous,
Le but de ma demande est de pouvoir exécuter le 2eme SI (en rouge) en même temps que le reste des actions (en vert).

Je vais tester ton excellente idée @Henri
Mathieu

1 « J'aime »

Bonjour,
Je confirme l’idée d’ @Henri fonctionne très bien :slight_smile:
Merci à tous pour votre aide.
Mathieu

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