Appel fonction avec arguments pour un scenario

Bonjour

je viens vers vous car je n’ai pas le statut de mes volets avec le module qubino du coup pour etre sur que mon volet s’ouvre bien
j’ai rajouté ceci

une boucle qui verifie que la consommation du volet augmente et que donc le volet s’ouvre (ou se ferme) , je repete donc cette boucle pour chaque volet…

En powershell , il existe la possibilité de faire une fonction et de l’appeller avec un arguments (mon volet)

Est ce que ce type de fonction existe sous jeedom , afin de gagner en code et en lisibilité dans mon scenario … , cela simplifierais les choses ?

Je n’ai pas trouvé cela dans les docs

merci d’avance

cdt

Bonjour,

Je n’ai pas la réponse, mais un truc m’interpelle, c’est votre boucle DE 1 A :
- Cette boucle attend un chiffre en argument, pas un vrais ou faux ! (votre condition retourne une valeur booléenne, pas un nombre).
C’est pas plutôt un WAIT que vous auriez du mettre ?

La log du scénario ne vous indique pas une erreur avec cette boucle ?

Utiliser un tag !?
Plutot que ta variable ‹ tentative › tu peux utiliser un tag et rappeler ton scenario en lui passant ce tag

+1, en l etat c est que ca ne peut pas fonctionner

Bonjour

je vais etudier la partie tag que je ne connais pas…

POur la boucle cela fonctionne …

je crée une variable à 1 et si ma puissance est toujours egale à 0 alors je rentre dans le faire et je renvoie l’ordre de monter le volet et j’incremente la variable de 1

cela tente 3 fois et ensuite on considere le volet mort et on passe au suivants

j’ai verifier dans la log cela fonctionne :wink: , ce cas etait rare , peux etre interference dans la maison je ne sais pas pourquoi le module ne recevait pas l’ordre… mais maintenant je n’ai plus ce cas …; , mes volets s’ouvre tout le temps en 1 voir 2 tentative

Bonsoir,

Je peux voir la log du scénario avec cette boucle ?

Bien sur

------------------------------------
[2021-01-21 08:50:04][SCENARIO] ************Lancement sous tâche**************
[2021-01-21 08:50:04][SCENARIO] Exécution du sous-élément de type [action] : do
[2021-01-21 08:50:04][SCENARIO] Exécution d'un bloc élément : 85
[2021-01-21 08:50:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-21 08:50:04][SCENARIO] Log : ----------------------  SAISON : hiver ----------------------
[2021-01-21 08:50:04][SCENARIO] Log : ----------------------  MOIS : Janvier ----------------------
[2021-01-21 08:50:04][SCENARIO] Log : ---------------------- LEVER DU SOLEIL + 15 min ----------------------
[2021-01-21 08:50:05][SCENARIO] Exécution de la commande [Salon][Volets salon][Monter]
[2021-01-21 08:50:05][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:50:06][SCENARIO] Exécution de la commande [Salon][Volets salon][Rafraichir]
[2021-01-21 08:50:06][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:50:07][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-21 08:50:07][SCENARIO] Exécution d'un bloc élément : 152
[2021-01-21 08:50:07][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-21 08:50:07][SCENARIO] Evaluation de la condition : [99 == 0 AND 1 < 3] = Faux
[2021-01-21 08:50:07][SCENARIO] Pause de 21 seconde(s)
[2021-01-21 08:50:28][SCENARIO] Exécution de la commande [Salle à manger][Volets Salle à manger][Monter]
[2021-01-21 08:50:28][SCENARIO] Pause de 2 seconde(s)
[2021-01-21 08:50:30][SCENARIO] Exécution de la commande [Salle à manger][Volets Salle à manger][Rafraichir]
[2021-01-21 08:50:30][SCENARIO] Pause de 2 seconde(s)
[2021-01-21 08:50:32][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-21 08:50:32][SCENARIO] Exécution d'un bloc élément : 160
[2021-01-21 08:50:32][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-21 08:50:32][SCENARIO] Evaluation de la condition : [191.3 == 0 AND 1 < 3] = Faux
[2021-01-21 08:50:32][SCENARIO] Pause de 34 seconde(s)
[2021-01-21 08:51:06][SCENARIO] Exécution de la commande [Cellier][Volets Cellier_V][Monter]
[2021-01-21 08:51:06][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:51:07][SCENARIO] Exécution de la commande [Cellier][Volets Cellier_V][Rafraichir]
[2021-01-21 08:51:07][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:51:08][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-21 08:51:08][SCENARIO] Exécution d'un bloc élément : 161
[2021-01-21 08:51:08][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-21 08:51:08][SCENARIO] Evaluation de la condition : [23.5 == 0 AND 1 < 3] = Faux
[2021-01-21 08:51:08][SCENARIO] Pause de 31 seconde(s)
[2021-01-21 08:51:39][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine_V][Monter]
[2021-01-21 08:51:39][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:51:40][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine_V][Rafraichir]
[2021-01-21 08:51:40][SCENARIO] Pause de 1 seconde(s)
[2021-01-21 08:51:41][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-21 08:51:41][SCENARIO] Exécution d'un bloc élément : 162
[2021-01-21 08:51:41][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-21 08:51:41][SCENARIO] Evaluation de la condition : [39 == 0 AND 1 < 3] = Faux
[2021-01-21 08:51:41][SCENARIO] ************FIN sous tâche**************

La c’est un cas ou il ne rentre pas dedans , mais cela permet de voir le point de vérification qui est fait …

je n’ai pas de cas ou il rentre dedans dans la log actuellement … , au prochain cas je l’ajoute … ( a moins que l’on peut remonter plus loin dans les logs…)

comme te l’a dit @Fabrice , ca ne peut pas fonctionner comme ca …

et dans le MEILLLEURE des cas, la boucle fonctionnera UNE seule fois
si ta condition est VRAIE, la boucle fera de 1 à ‹ VRAI › ==> le ‹ vraie › sera transformé en 1
donc tu n’auras qu’une seule exécution de ta boucle

1 « J'aime »

ah d’accord oui en effet c’est fort possible que cela fonctionne qu’une seule fois :wink: , je n’ai jamais eu le cas ou il est necessaire de l’executer 3 fois…

je vais voir pour modifier tout cela… :wink:

merci !

La documentation est clair sur ce point, de 1 A (attend forcement un nombre :wink: )

la doc en question :slight_smile:

  • 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…​).

ok je comprends mieux…

Merci

------------------------------------
[2021-01-24 09:17:03][SCENARIO] ************Lancement sous tâche**************
[2021-01-24 09:17:03][SCENARIO] Exécution du sous-élément de type [action] : do
[2021-01-24 09:17:03][SCENARIO] Exécution d'un bloc élément : 90
[2021-01-24 09:17:03][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-01-24 09:17:03][SCENARIO] Log : ----------------------  SAISON : hiver ----------------------
[2021-01-24 09:17:03][SCENARIO] Log : ----------------------  MOIS : Janvier ----------------------
[2021-01-24 09:17:03][SCENARIO] Log : ---------------------- LEVER DU SOLEIL + 45 min ----------------------
[2021-01-24 09:17:03][SCENARIO] Exécution de la commande [Salon][Volets salon][Monter]
[2021-01-24 09:17:03][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:17:04][SCENARIO] Exécution de la commande [Salon][Volets salon][Rafraichir]
[2021-01-24 09:17:04][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:17:05][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-24 09:17:05][SCENARIO] Exécution d'un bloc élément : 154
[2021-01-24 09:17:05][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-24 09:17:05][SCENARIO] Evaluation de la condition : [80.1 == 0 AND 1 < 3] = Faux
[2021-01-24 09:17:05][SCENARIO] Pause de 30 seconde(s)
[2021-01-24 09:17:35][SCENARIO] Exécution de la commande [Salle à manger][Volets Salle à manger][Monter]
[2021-01-24 09:17:35][SCENARIO] Pause de 2 seconde(s)
[2021-01-24 09:17:37][SCENARIO] Exécution de la commande [Salle à manger][Volets Salle à manger][Rafraichir]
[2021-01-24 09:17:37][SCENARIO] Pause de 2 seconde(s)
[2021-01-24 09:17:39][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-24 09:17:39][SCENARIO] Exécution d'un bloc élément : 157
[2021-01-24 09:17:39][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-24 09:17:39][SCENARIO] Evaluation de la condition : [191.6 == 0 AND 1 < 3] = Faux
[2021-01-24 09:17:39][SCENARIO] Pause de 25 seconde(s)
[2021-01-24 09:18:04][SCENARIO] Exécution de la commande [Cellier][Volets Cellier][Monter]
[2021-01-24 09:18:04][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:05][SCENARIO] Exécution de la commande [Cellier][Volets Cellier][Rafraichir]
[2021-01-24 09:18:05][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:06][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-24 09:18:06][SCENARIO] Exécution d'un bloc élément : 158
[2021-01-24 09:18:06][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-24 09:18:06][SCENARIO] Evaluation de la condition : [22 == 0 AND 1 < 3] = Faux
[2021-01-24 09:18:06][SCENARIO] Pause de 23 seconde(s)
[2021-01-24 09:18:29][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine][Monter]
[2021-01-24 09:18:29][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:30][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine][Rafraichir]
[2021-01-24 09:18:30][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:31][SCENARIO] Affectation de la variable tentative_volets_rdc => 1 = 1
[2021-01-24 09:18:31][SCENARIO] Exécution d'un bloc élément : 159
[2021-01-24 09:18:31][SCENARIO] Exécution du sous-élément de type [condition] : for
[2021-01-24 09:18:31][SCENARIO] Evaluation de la condition : [0 == 0 AND 1 < 3] = Vrai
[2021-01-24 09:18:31][SCENARIO] Exécution du sous-élément de type [action] : do
[2021-01-24 09:18:31][SCENARIO] Affectation de la variable tentative_volets_rdc => 1+1 = 2
[2021-01-24 09:18:31][SCENARIO] Log :  !!!! Nouvel envoie de l'ordre de monter le volet de la cuisine | tentative 2
[2021-01-24 09:18:31][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine][Monter]
[2021-01-24 09:18:31][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:32][SCENARIO] Exécution de la commande [Cuisine][Volets Cuisine][Rafraichir]
[2021-01-24 09:18:32][SCENARIO] Pause de 1 seconde(s)
[2021-01-24 09:18:33][SCENARIO] ************FIN sous tâche**************
------------------------------------

On voit bien qu’il a tenter une deuxieme fois ce matin le volet de la cuisine

mais je comprends que ce n’est pas le but de cette fonction

je vais modifier mon code :wink:

pas vraiment on est exactement dans le cas de figure dont je parlais hier !

(de plus ta log ne reflete pas totalement le scenario que tu as partagé et que tu as du couper. )