Calaos, Home Automation Forum

Full Version: Arrosage automatique
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Bonjour à tous,

Les beaux jours arrivants, je me penche sur la configuration de mon arrosage automatique.

Je souhaite créer un scénario qui me permette d'activer mes 2 circuits l'un après l'autre. Par exemple, à l'activation du scénario, le circuit 1 arrose 10 minutes puis 11 minutes plus tard, le circuit 2 arrose 10 minutes.

Je dois faire fonctionner mes 2 circuits d'arrosage automatique tour à tour car le débit d'eau ne me permet pas de les faire fonctionner en même temps.

Comment faire une (ou des) règle au plus simple avec Calaos Installer? J'imagine qu'il faut utiliser un Timer mais ce n'est pas très clair pour moi...

Merci pour votre aide! Les tomates vous remercieront!  Big Grin
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).
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.
Bonjour,

J'ai programmé mon arrosage suivant la programmation :
1) Le scénario se lance et fonctionne jusqu’à la troisième zone, mais cela ne s’arrête pas. (prog ci joint).
Avez-vous une idée de mon erreur?
2) Le souhaiterais ajouter une condition du pluviomètre, comment faut-il le programmer?
3) en parallèle du scénario je souhaiterais lancer le scénario sur date et heure, comment faire?

Merci pour vos retours
Hello,

Je n'ai pas analysé ta programmation, par contre penses à vérifier l'uptime du service quand cela ne s'arrête pas:

Par exemple:
root@intel-corei7-64:~# date; systemctl status calaos-server
Mon Jan 4 14:08:16 CET 2021
● calaos-server.service - Calaos home automation server service
Loaded: loaded (/lib/systemd/system/calaos-server.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-01-04 13:58:35 CET; 9min ago
Process: 4810 ExecStartPre=/bin/mkdir -p /home/root/.cache/calaos /etc/calaos (code=exited, status=0/SUCCESS)
Main PID: 4811 (calaos_server)
Tasks: 3 (limit: 4915)
Memory: 11.1M
CGroup: /system.slice/calaos-server.service
├─4811 /usr/bin/calaos_server --config /etc/calaos --cache /home/root/.cache/calaos
└─4813 /usr/bin/calaos_wago --socket /tmp/calaos_proc_08d45529-3ba3-e270-b706-a90eae452050_wago_4811 --namespace wago 192.168.0.1 502

Ici j'ai un problème de crash et relance du calaos-server qui lui fait "oublier" qu'il a lancé un timer. Je me suis retrouvé plusieurs fois avec un arrosage de 2h automatique la nuit qui ne se termine jamais. Cela a vidé toutes mes cuves de récupération d'eau de pluie et une fois cela a fait bruler la pompe qui elle aussi a trouvé le moyen de ne pas s'arrêter alors qu'il n'y avait plus d'eau (détecteur de fin d'eau qui n'a pas fait son travail!).

Du coup maintenant je lance les timer que quand je suis présent pour vérifier.