Bonjour,
Le problème n’est pas si simple qu’il en a l’air en fait…
Ce que j’ai compris de mon côté, et pour résumer :
- T° >= à 6°C, la prise connectée est placée sur OFF.
- T° < à 6°C, la prise est placée sur ON, mais pendant 60 minutes, puis sur OFF pendant 15 minutes, puis sur ON pendant 60 minutes, etc…, et ce tant que la T° ne repasse pas à 6°C et plus.
Et tout le problème revient à gérer ce cycle tant que la T° est inférieure à 6°C, car nativement les scénarios n’intègrent pas l’équivalent des instructions WHILE…DO (TANT QUE ceci est vrai FAIRE cela), ce qui est bien dommage d’ailleurs…
Voici une proposition qui fonctionne (testée), en utilisant deux variables et deux scénarios.
1.- Initialiser les variables
Dans ‹ Outils ›, ‹ Variables ›
Cliquer sur Ajouter
en haut à droite :
Sur la première ligne qui apparaît (vierge), mettre dans Nom
le nom de la première variable (Flag1 par exemple), et sa valeur, 0.
Cliquer ensuite sur la coche verte pour valider
(dû à un petit bug qui sera corrigé avec la prochaine version de Jeedom, la largeur des colonnes n’est pas ajustée et empêche de bien voir les noms)
Faire pareil pour la seconde variable, Flag2 par exemple.
Au final, vous devriez avoir ceci :
(
Utilisée dans
sera vide pour l’instant, contrairement à la copie d’écran ci-dessus).
Voilà pour les deux variables.
2.- Les scénarios
On va créer deux scénarios : ‹ scenario_froid › et ‹ scenario_gestion › par exemple.
Le premier scénario va donc réagir lorsque la T° est inférieure à 6°C.
Donc, dans les déclencheurs, il faut mettre :
[...][...][Température] < 6
, où […][…][Température] est la température renvoyée par le capteur. Cet équipement peut se trouver en le cherchant directement avec cette icône :
Par exemple,
Côté scénario :
J’explique.
- Je place la prise connectée sur ON (ici, simulé par une instruction log ‹ ON ›, qui va simplement mettre la chaine de caractère ON dans le log du scénario).
- Je teste si la variable Flag1 est encore à 0. Si non, j’arrête là.
- Si oui (Flag1 = 0), ALORS je la mets à 1. Puis je programme 60 minutes après l’exécution de ce bloc :
a. Je place la prise connectée sur OFF
b. Je Je teste si la variable Flag2 est encore à 0. Si non, j’arrête là.
c. Si oui (Flag2 = 0), je la mets à 1, et 15’ après, je programme un nouveau bloc :
I. Flag1 et Flag2 sont remis à 0
Dans la chronologie :
A la première exécution, Flag1 et 2 sont à 0. Dès que la T° passe à moins de 6°C (le déclencheur), j’ai donc :
Au premier test, Flag1 passe donc le test, et est mis à 1. Je programme l’arrêt de la prise dans 60’, et je termine le programme.
La T° évolue, disons de 5° à 5,5°C. Le programme est déclenché, mais la T° reste inférieure à 6°C.
Donc je remets la prise sur ON (ce qui ne change rien…), mais là, comme Flag1 est à 1, j’arrête là mon scénario. Cela évite de reprogrammer le bloc dans 60 minutes.
Et ce tant que la T° est inférieure à 6°C, même si elle évolue.
60 minutes après, Jeedom lance donc le bloc programmé (il n’y a pas de déclenchement sur une variation de température cette fois) :
Donc je passe la prise sur OFF, et je teste si Flag2 est à 0. Comme elle l’est, je la mets donc à 1 et je reprogramme dans 15 minutes le redémarrage de la prise et fin du programme.
Toujours pareil, tant que la T° est inférieure à 6°C, et même si elle évolue, comme Flag1 est toujours à 1, on ne fait rien : la prise reste sur OFF.
15 minutes après, Jeedom lance donc le bloc programmé : je repasse cette fois les variables Flag1 et 2 à 0, remet la prise sur ON, et fin du programme.
Résultat : à la prochaine variation de T°, on repart sur le même cycle, avec au départ les mêmes états qu’au début…
On a bien donc une alternance de périodes de 60 minutes sur ON, 15 minutes sur OFF, et ce indéfiniment tant que la T° reste inférieure à 6°C (même si reboot après une coupure d’alim).
Le second scénario
Celui-ci, ‹ scenario gestion ›, va casser cette boucle lorsque la T° est supérieure ou égale à 6°C.
Donc, dans les déclencheurs, il suffit de mettre cette fois :
[...][...][Température]
, où là, toute variation de la T° va déclencher ce scénario.
Et côté scénario, il est très simple :
- Je teste si la T° est supérieure ou égale à 6°C.
- Si oui : je mets la prise sur OFF, et je désactive le premier scénario. Cela aura pour conséquence d’inhiber également toutes les occurrences éventuelles déjà programmées de ce premier scénario. J’en profite pour remettre les variables Flag1 et 2 à 0, prêt ainsi à redémarrer avec les bonnes conditions initiales.
- Si non, j’active le premier scénario, qui prend donc la main à partir de ce moment.
Ainsi, dès que la T° atteint les 6° et plus, on stoppe la prise sans conditions, et on inhibe le premier scénario qui ne réagira donc plus, jusqu’à ce qu’il soit réactivé.
Ça peut paraître compliqué vu comme ça, mais la gestion des cycles n’est pas si simple avec les scénarios.
Ou alors il faudrait passer par un bloc code…
Et les chats seront au chaud… 