Bonjour @Math82
alors,alors, les boucles reprisent plus calmement :
Quand la doc dit :
Boucle : Permet de réaliser des actions de manière répétitive de 1 jusqu’à un nombre défini (ou même la valeur d’un capteur, ou un nombre aléatoire…)
avant de lire capteur, etc… Il faut bien mémoriser que le paramètre attendu est un NOMBRE.
Autrement dit, la boucle d’un scénario ne comporte pas de condition de sortie ou autre.
La seul information quelle attend c’est « combien de fois je vais boucler » = un nombre (entier différent de zéro évidement)
Le texte entre parenthèse veux simplement signifier (et il ne faut pas y voir plus) que ce dit « nombre » peut être aussi une entrée. Un virtuel, une commande (valeur de capteur par exemple), une variable (sous la forme « variable(le nom de la variable) »), et même un tag (sous la forme « tag(le nom de mon tag) »).
Une fois cela compris, si tu veux « casser » la boucle en cours de route / sortir de la boucle, cela n’a pas été prévu à ma connaissance ! Sorry (édit @Mips : Ou en faisant la commande Stop. ex: Si condition alors : action = stop. Mais alors tu arrètes tout le scénario, dans mon exemple ça irait très bien mais si ton scénario enchaine sur autre chose, ça coincera…)
La seul technique que j’ai trouvé c’est d’avoir une condition dans un SI qui fait que la boucle ne fait plus rien et s’enchaine très vite.
Petit scénario exemple :
Les logs :
[2023-11-09 09:08:59][SCENARIO] Start : Scenario lance manuellement.
[2023-11-09 09:08:59][SCENARIO] Exécution du sous-élément de type [action] : action
[2023-11-09 09:08:59][SCENARIO] Mise à jour du tag #NTi# => 10
[2023-11-09 09:08:59][SCENARIO] Mise à jour du tag #Ni max# => 5
[2023-11-09 09:08:59][SCENARIO] Exécution du sous-élément de type [condition] : for tag(NTi)
[2023-11-09 09:08:59][SCENARIO] Evaluation de la condition : [10] = 10
[2023-11-09 09:08:59][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:08:59][SCENARIO] Mise à jour du tag #Ni# => 1
[2023-11-09 09:08:59][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:08:59][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:08:59][SCENARIO] Evaluation de la condition : [1>5] = Faux
[2023-11-09 09:08:59][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-11-09 09:08:59][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][On]
[2023-11-09 09:08:59][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:02][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][Off]
[2023-11-09 09:09:02][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:05][SCENARIO] Log : Numéro de boucle =: 1
[2023-11-09 09:09:05][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:05][SCENARIO] Mise à jour du tag #Ni# => 2
[2023-11-09 09:09:05][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:05][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:05][SCENARIO] Evaluation de la condition : [2>5] = Faux
[2023-11-09 09:09:05][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-11-09 09:09:05][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][On]
[2023-11-09 09:09:05][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:08][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][Off]
[2023-11-09 09:09:08][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:11][SCENARIO] Log : Numéro de boucle =: 2
[2023-11-09 09:09:11][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:11][SCENARIO] Mise à jour du tag #Ni# => 3
[2023-11-09 09:09:11][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:11][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:11][SCENARIO] Evaluation de la condition : [3>5] = Faux
[2023-11-09 09:09:11][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-11-09 09:09:11][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][On]
[2023-11-09 09:09:11][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:14][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][Off]
[2023-11-09 09:09:14][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:17][SCENARIO] Log : Numéro de boucle =: 3
[2023-11-09 09:09:17][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:17][SCENARIO] Mise à jour du tag #Ni# => 4
[2023-11-09 09:09:17][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:17][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:17][SCENARIO] Evaluation de la condition : [4>5] = Faux
[2023-11-09 09:09:17][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-11-09 09:09:17][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][On]
[2023-11-09 09:09:17][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:20][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][Off]
[2023-11-09 09:09:21][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:24][SCENARIO] Log : Numéro de boucle =: 4
[2023-11-09 09:09:24][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:24][SCENARIO] Mise à jour du tag #Ni# => 5
[2023-11-09 09:09:24][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:24][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:24][SCENARIO] Evaluation de la condition : [5>5] = Faux
[2023-11-09 09:09:24][SCENARIO] Exécution du sous-élément de type [action] : else
[2023-11-09 09:09:24][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][On]
[2023-11-09 09:09:24][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:27][SCENARIO] Exécution de la commande [Chambre Henri][Grd lampe][Off]
[2023-11-09 09:09:27][SCENARIO] Pause de 3 seconde(s)
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 5
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:30][SCENARIO] Mise à jour du tag #Ni# => 6
[2023-11-09 09:09:30][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:30][SCENARIO] Evaluation de la condition : [6>5] = Vrai
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 6
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:30][SCENARIO] Mise à jour du tag #Ni# => 7
[2023-11-09 09:09:30][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:30][SCENARIO] Evaluation de la condition : [7>5] = Vrai
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 7
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:30][SCENARIO] Mise à jour du tag #Ni# => 8
[2023-11-09 09:09:30][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:30][SCENARIO] Evaluation de la condition : [8>5] = Vrai
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 8
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:30][SCENARIO] Mise à jour du tag #Ni# => 9
[2023-11-09 09:09:30][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:30][SCENARIO] Evaluation de la condition : [9>5] = Vrai
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 9
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : do
[2023-11-09 09:09:30][SCENARIO] Mise à jour du tag #Ni# => 10
[2023-11-09 09:09:30][SCENARIO] Exécution d'un bloc élément : 4233
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [condition] : if tag(Ni)>tag(Ni max)
[2023-11-09 09:09:30][SCENARIO] Evaluation de la condition : [10>5] = Vrai
[2023-11-09 09:09:30][SCENARIO] Exécution du sous-élément de type [action] : then
[2023-11-09 09:09:30][SCENARIO] Log : Numéro de boucle =: 10
[2023-11-09 09:09:30][SCENARIO] Fin correcte du scénario
------------------------------------
(en passant la souris sur les logs, tu peux les faire défiler)
On voit qu’a partir de 9 h 9 et 30 secondes les 4 dernières boucles s’effectuent « instantanément ».
PS @Furaxworld
J’adore définitivement ton style !
Non, non ce n’est pas ironique. Je vois que dame sagesse a pas mal travaillé ces derniers temps.
Amclt. Henri. (qui en profite surtout pour te saluer)
PS @Mips / @anon53349806 : Vous devriez vous rapprocher de « PlusVraimentFurax », il parait qu’il donne des cours de Zen…

Je m’excuse d’avance, mais il y a des jours comme ça où l’on est d’excellente humeur, et je sais pas pourquoi, chez moi, ça me rends un brin taquin.

Je vous salue également.
PS @Math82 : Pour info @Mips et @anon53349806 ont clairement leurs styles (et je ne te dis pas pour @Furaxworld si on remonte un peu le temps). Un peu déroutant au début (je les ai pas mal
également à mes débuts) mais tu verras qu’ils sont ultra compétants (tu n’en doutais pas) et surtout toujours volontaire pour aider même quand le problème est difficile et long à résoudre. Ils ont un grand défaut, qui fait leurs force : Une logique en béton armé style blockhaus, bardé d’un sens du « on ne fait pas les choses à moitié » (grande qualité de nos jours. J’ai grandi avec « si c’est pour faire du Ni fait, ni à faire, reste couché » donc ça me parle). Qui fait que pour le commun des mortels, parfois on habite une planète qu’ils ne comprennent pas …
Bref, ne te fais pas trop vite un avis négatif, ce sont de super gars qui… juste habitent une planète qui peut nous paraitre lointaine
C’est ce qui fait la force d’une communauté : nos différences.
Bonne journée à tous !