04-25-2021, 11:41 AM
Salut,
Oui il faut utiliser un timer, ainsi qu'une variable Interne de type entier pour savoir le "statut" de ce que tu veux faire.
Exemple:
Ajoute 1 timer (nom: timer)
Ajoute 1 variable interne Integer (nom: statut)
Ajoute 1 bouton scenario (nom: scenario_arrosage)
Voila les etats:
statut = 0 --> pas d'arrosage
statut = 1 --> arrosage en cours circuit 1
status = 2 --> arrosage en cours circuit 2
etc..
Ensuite les regles:
Cette premiere regle permet de lancer le scenario via un bouton scenario. Tu peux aussi simplement executer ce scenario depuis une autre regle avec des variable de temps (plage horaire, heure fixe, etc). On ajoute aussi le test de statut == 0 pour etre sur de lancer le scenario que si il n'est pas deja en route. Ensuite dans les actions, on mets simplement le statut a 1 (on passe a l'etat suivant qui est arrosage circuit1).
Regle pour l'etat 1. On active la pompe qu'on souhaite, eventuellement tu peux couper l'autre pompe si besoin aussi ici pour etre sur d'en avoir qu'une d'active a la fois.
On lance aussi le timer. Le timer devra deja etre reglé sur le temps désiré.
Regle pour l'etat 2. Idem que la precedente.
On lance aussi le timer. Le timer devra deja etre reglé sur le temps désiré.
Regle pour le timer, une fois qu'il a terminé le temps écoulé. La regle ici est simple, on incrémente simplement le statut pour passer a l'etat suivant.
Regle pour la fin, pour remetre le statut a 0. Pour qu'on puisse relancer le scénario la prochaine fois.
Voila comment il faut faire. C'est relativement simple, il faut juste comprendre la logique de base.
Oui il faut utiliser un timer, ainsi qu'une variable Interne de type entier pour savoir le "statut" de ce que tu veux faire.
Exemple:
Ajoute 1 timer (nom: timer)
Ajoute 1 variable interne Integer (nom: statut)
Ajoute 1 bouton scenario (nom: scenario_arrosage)
Voila les etats:
statut = 0 --> pas d'arrosage
statut = 1 --> arrosage en cours circuit 1
status = 2 --> arrosage en cours circuit 2
etc..
Ensuite les regles:
Cette premiere regle permet de lancer le scenario via un bouton scenario. Tu peux aussi simplement executer ce scenario depuis une autre regle avec des variable de temps (plage horaire, heure fixe, etc). On ajoute aussi le test de statut == 0 pour etre sur de lancer le scenario que si il n'est pas deja en route. Ensuite dans les actions, on mets simplement le statut a 1 (on passe a l'etat suivant qui est arrosage circuit1).
Code:
Si scenario_arrosage == true
statut == 0
Faire:
statut = 1
Regle pour l'etat 1. On active la pompe qu'on souhaite, eventuellement tu peux couper l'autre pompe si besoin aussi ici pour etre sur d'en avoir qu'une d'active a la fois.
On lance aussi le timer. Le timer devra deja etre reglé sur le temps désiré.
Code:
Si statut == 1
Faire:
Pompe1 = true
Pompe2 = false
timer = true
Regle pour l'etat 2. Idem que la precedente.
On lance aussi le timer. Le timer devra deja etre reglé sur le temps désiré.
Code:
Si statut == 2
Faire:
Pompe1 = false
Pompe2 = true
timer = true
Regle pour le timer, une fois qu'il a terminé le temps écoulé. La regle ici est simple, on incrémente simplement le statut pour passer a l'etat suivant.
Code:
Si timer == true
Faire:
statut = inc 1
Regle pour la fin, pour remetre le statut a 0. Pour qu'on puisse relancer le scénario la prochaine fois.
Code:
Si statut > 2
Faire:
statut = 0
Voila comment il faut faire. C'est relativement simple, il faut juste comprendre la logique de base.
Raoul,
Calaos Core Dev.
Calaos git sur NUC NUC5PPYH | Wago 750-849 | DALI RGB | Sondes NTC sur 750-464 | Sondes 1Wire DS18B20 avec adaptateur USB DS9490R | Nodes MySensors avec gateway USB | Ecran tactile ELO avec adaptateur USB/RS232 | Squeezebox Duet et Radio | Logitech Harmony Ultimate | Ampli Pioneer VSX921
Calaos Core Dev.
Calaos git sur NUC NUC5PPYH | Wago 750-849 | DALI RGB | Sondes NTC sur 750-464 | Sondes 1Wire DS18B20 avec adaptateur USB DS9490R | Nodes MySensors avec gateway USB | Ecran tactile ELO avec adaptateur USB/RS232 | Squeezebox Duet et Radio | Logitech Harmony Ultimate | Ampli Pioneer VSX921