Attendre la fin de l'exécution d'un sous-scénario pour continuer l'exécution du scénario principal

time_op(501,+(7*10)) ne fonctionne plus ? :thinking:

Norbert

1 « J'aime »

Mais non, ce sont les opérations sur heures qui ne marchent pas, à moins de mettre des tests dans tous les sens.
Le time_op() marche très bien, pour ceux qui veulent bien l’utiliser.

1 « J'aime »

Exact.
Je faisais heure de début 5h01.
Puis dans 5h01 + timer zone 1 alors lance la zone 2 etc jusqu’à la 7eme zone.
Sauf que j’ai 7 timers de 10 à 15min (variable) à additionner. Soit plus d’1 heure de cycle et là ça coince.
Comment tu utiliserais mieux le Time op avec gestion de l’heure?

Salut,

On ne voit pas tout là si ? Je ne vois pas les time_op dans les captures du scénario c’est normal ?

Et de ce que je vois les démarrer (Sync) ne servent à rien.

L’appel du scénario 1 se fait. Celui-ci se déroule, programme un OFF dans x minutes puis rend la main

L’appel du scénario 2 se fait. Celui-ci se déroule, programme un OFF dans x minutes puis rend la main

Etc…

Donc l’ensemble des ON se fait presque en même temps et l’ensemble des OFF est programmé pour dans 10mn pour tout les circuits.

Après je ne sais pas si c’est volontaire mais le SI du sous-scenario comme avec une variable(x) = "Prog" au lieu de ==

time_op(#time#, valeurnumerique)

Valeurnumerique pouvant etre négative ou positive.

1 « J'aime »

C’est bon merci Mich j’ai trouvé et même simplifié le scénario principal.
Démarrer synchrone ne vois pas les sous taches programmées. Là était mon incompréhension.

[2023-05-03 23:56:49][SCENARIO] -- Start : Scenario lance manuellement.
[2023-05-03 23:56:50][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Coffret IO][Ardnbus-5][Statut]# == 1
[2023-05-03 23:56:50][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2023-05-03 23:56:50][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-05-03 23:56:50][SCENARIO] Suppression des blocs DANS et A programmés du scénario
[2023-05-03 23:56:50][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus5-Arrosage][D4-Off (Arro-H-Z1)]
[2023-05-03 23:56:51][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus5-Arrosage][D5-Off (Arro-H-Z2)]
[2023-05-03 23:56:52][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus1-Commun][D6-(Zone3-Off)]
[2023-05-03 23:56:53][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus5-Arrosage][D2-Off (Gout Haut)]
[2023-05-03 23:56:54][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus1-Commun][D7-(Zone5-Off)]
[2023-05-03 23:56:55][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus1-Commun][D8-(Zone6-Off)]
[2023-05-03 23:56:56][SCENARIO] Exécution de la commande  [Coffret IO][ArdBus1-Commun][D9-(Zone7-Off)]
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 35
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Jardin][Centre arrosage][EtatAuto]# == 0
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2 == 0] = Faux
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 190
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Jardin][Centre arrosage][EtatAuto]# == 0 && variable(Start_arrosage)== "Forcée"
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2 == 0 && "Forcée"== "Forcée"] = Faux
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 280
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Jardin][Centre arrosage][EtatAuto]# == 1
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2 == 1] = Faux
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 196
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Jardin][Centre arrosage][EtatAuto]# == 2
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2 == 2] = Vrai
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosage => 2356+1 = 2357
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable Start_arrosage => Forcée = Forcée
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 287
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : if variable(Start_arrosage) == "Prog" ou variable(Start_arrosage) == "Forcée"
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : ["Forcée" == "Prog" ou "Forcée" == "Forcée"] = Vrai
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ2 => 2357 = 2357
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ3 => 2357+0001 = 2358
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ4 => 008+0001 = 9
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ5 => 028+0001 = 29
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ6 => 039+0001 = 40
[2023-05-03 23:56:57][SCENARIO] Affectation de la variable H_arrosageZ7 => 052+0001 = 53
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 197
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosage)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2357] = 2357
[2023-05-03 23:56:57][SCENARIO] Tâche :  197  programmée à :  2023-05-03 23:57:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 281
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ2)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2357] = 2357
[2023-05-03 23:56:57][SCENARIO] Tâche :  281  programmée à :  2023-05-03 23:57:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 282
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ3)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [2358] = 2358
[2023-05-03 23:56:57][SCENARIO] Tâche :  282  programmée à :  2023-05-03 23:58:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 283
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ4)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [9] = 9
[2023-05-03 23:56:57][SCENARIO] Tâche :  283  programmée à :  2023-05-04 00:09:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 284
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ5)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [29] = 29
[2023-05-03 23:56:57][SCENARIO] Tâche :  284  programmée à :  2023-05-04 00:29:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 285
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ6)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [40] = 40
[2023-05-03 23:56:57][SCENARIO] Tâche :  285  programmée à :  2023-05-04 00:40:00
[2023-05-03 23:56:57][SCENARIO] Exécution d'un bloc élément : 286
[2023-05-03 23:56:57][SCENARIO] - Exécution du sous-élément de type [condition] : at variable(H_arrosageZ7)
[2023-05-03 23:56:57][SCENARIO] Evaluation de la condition : [53] = 53
[2023-05-03 23:56:57][SCENARIO] Tâche :  286  programmée à :  2023-05-04 00:53:00
[2023-05-03 23:56:57][SCENARIO] [Erreur] Aucune commande trouvée pour
[2023-05-03 23:56:57][SCENARIO] Fin correcte du scénario

Mes sous scénario s’enchaine parfaitement peu importe le timer.
Merci

Plutôt que des variables, j’utiliserais un virtuel avec autant d’infos que de commandes d’arrosage.
L’initialisation des ces commandes se faisant par event.

1 « J'aime »

Je suis content que Mich est donné t’ai aidé à comprendre ça du coup :wink:

Merci a toi aussi, j’avais vu aussi que les sync ne servait a rien mais je n’arrivais à saisir pourquoi.
Ta remarque était fondée aussi. :wink:

Attention, ta formule n’est pas correcte !

image

tu fais des

time_op(une heure,+ un delai) +1

dans certains conditions (ex : heure = 5h00, delai = 60min), tu vas te retrouver avec

time_op(0500,+60)+1 

soit 0561, au lieu de 0601, … et tes A ne devraient plus marcher !
il faut que le +1 soit intégré au time_op, soit :

time_op(une heure,+ un delai + 1)

Norbert

Salut, bien vue il était tard, ca parait évident.
Je corrige ce soir, comme quoi tu as du nez ce matin seulement une zone s’est déclenché…
@mich0111 quand tu parle de virtuel du veux dire un virtuel par zone? J’arrive pas à transposer l’idée (dans ma tête).

PS : je dérive du sujet principal.

Chaque variable peut être remplacée par une commande info dans un virtuel.
C’est même préférable d’un point de vue ressource et je dirais même d’un point de vue logique dans la mesure où un virtuel est associé à un objet.
La nomenclature d’un virtuel te permet de savoir instantanément à quoi correspond telle ou telle info. Par exemple :
[Jardin][Arrière][Arrosage1]
Après, tu peux organiser tes virtuels comme tu veux, un seul pour l’ensemble des timing d’arrosage ou un par zone par exemple.
Autre intérêt, la rémanence des infos en cas de coupure de courant.

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