Bonjour,
Petit souci de temporisation dans un scénario : je veux déclencher la chauffe d’un ballon d’eau chaude quand ma production photovoltaïque est suffisante.
Mais pour éviter le déclenchement sur un pic de production, je veux attendre 1 min pour voir si la production est toujours suffisante.
J’ai donc fait ça :
il faut que tu décoches les 2 petites flèches en haut à gauche de ton 1er si !
Cela permet de ne pas réutiliser ton déclencheur, une fois que tu es dans le scénario, si la condition est la même que la précédente (toi c’est ta condition de time), il reste dedans (ne relance pas le scénario) et donc fera le test du « Dans »
Edit: en fait, j’avais posé une question similaire à la tienne avec mes panneaux
C’est pas bête ça. Pour cela, je dois laisser mon scénario presque comme il est, mais enlever le « dans 1 » et la condition que j’ai du décocher ?
Mais alors, qu’est ce que je mets comme déclencheur de scenario si je l’appelle avec la valeur de l’énergie ?
Merci pour l’idée
Julien
J’avais essayé ca dans l’exemple que j’ai donné au-dessus. Ça fonctionne bien mais je voulais quelque chose de plus « intelligent » (plus de condition etc…)
Là ce que propose @agp.com, c’est directement dans la commande de ce qui te permet de récupérer ta production (donc pas de scénario du tout)
L’action sur valeur est une bonne option si le but est « juste » d’allumer un appareil par exemple.
Si quelque chose de « plus complexe », dans tous les cas c’est mieux d’éviter le DANS pour ce genre de cas, ou au moins d’être conscient de ceci: le DANS testera évidement la valeur à l’instant T et si justement tu es de nouveau dans un pic tu vas considérer que c’est ok (bon en vrai, sur 1min tu t’en fiches p-e mais c’est par principe et ca pourrait servir pour d’autres cas
Pour éviter ce problème, c’est préférable de faire un WAIT (en inversant la condition) et après le wait de tester à nouveau, en francais:
SI production > xxx, alors attendre que production soit < xxx pendant 1 min
après le wait, soit la production a diminuée soit on est arrivé au bout du timeout donc SI production > xxx alors je lance le chauffe eau
Dans ton scénario pas besoin de déclencheur « Mode du scenario = provoqué ». C’est dans le « action sur la valeur » que tu vas demander le déclenchement du scénario.
Non, c’est le action sur la valeur qui déclenche le scénario, mais il existe toujours pour tester des trucs plus complexe si besoin.
Oui, et aussi que le « DANS » (de même que le « Action sur la valeur/plus de x min ») ne vas pas vraiment attendre 60 secondes, mais lancer un CRON qui va s’exécuter au début de la prochaine minute. Donc par exemple si la condition devient valide a 12h00m55, le « DANS 1 min » s’exécutera à 12h01m01, donc quelques secondes après seulement et non pas 60 secondes.
Le WAIT proposé par @Mips sera donc plus précis.
Exact, c’est un cron, par contre en principe le scénario attendra les secondes manquantes dans ce cas (il y a un sleep)
Donc dans ton exemple la sous-tâche se lancera quelques secondes plus tard mais ensuite attendra les 55 secondes restantes avec un sleep (fonction doIn de scenario.class)
Autant pour moi, le script avec le wait semble fonctionner. Par contre toujours rien sur Action sur la valeur. C’est pas le fait qu’elle soit négative qui gêne ?
Je ne sais pas dire comme ca si le nombre négatif est un problème mais l’action sur valeur doit marcher en principe, test avec un nombre positif éventuellement?
par contre, tu as des puissances négatives toi? nouveau concept?
(j’imagine que ca exprime un rejet de production sur le réseau mais je ne pouvais pas la rater)
Si mes souvenirs sont bons, ça doit fonctionner avec une valeur négative (j’avais fait ça au début avant de passer dans un scénario)
@Mips, oui c’est qu’il doit avoir du surplus de production, j’ai exactement la même configuration . Si je renvoie trop sur le réseau et pendant plusieurs minutes, alors je mets en route quelque chose… (c’est surtout valable si pas de revente de surplus…)
Hello, je reviens vers vous car malgré le scénario et le wait, j’ai de spics d’allumage ce matin.
Pourtant si j’ai bien compris et bien écrit le scénario, je ne peux pas avoir de déclenchement si mon wout n’est pas inférieur à 600 pendant 1 min ?
Voici les courbes de ce matin :
Sur un wait le timeout est en seconde, je vous laisse calculer vous même
ca doit être visible dans le log du scénario que les commandes se sont enchainées sans attendre
Bonjour, Je ne connaissais pas les log des scénarios, c’est super pratique ! Vous allez me dire que c’est la base
Bon ça marche très bien maintenant, mais l’ « action sur la valeur toujours pas » étrange …
Je vais clore le sujet, merci à tous pour vos aides.