NEWS
Zeitplan Probleme
-
@labamba
Prinzip: -
@labamba
Wenn Nachtintervall bedeutet, dass nur jeder 2. Durchlauf nötig ist:Beim Start des Script wird die Variable "flag" auf
false
gesetzt.
Ist es Nacht, wird geprüft, ob sietrue
ist. Das ist beim ersten Durchlauf nach 17 Minuten nicht der Fall. Die Variable wechselt auftrue
.
Nach weiteren 17 Minuten ist sie danntrue
. Die Funktion ""hydroNachts" wird ausgeführt.
Die Variable wechselt wieder auffalse
und der Spaß beginnt von vorne.Also ziemlich genau das was @Asgothian vorgeschlagen hat.
Alternative: Man prüft, ob die aktuelle Minute gerade oder ungerade ist. Funktioniert natürlich nur mit einem ungeraden Intervall.
-
@codierknecht
@Asgothian
Erstmal danke, für das Skript. Ich werde jetzt mal versuchen es einzubinden.
Jedoch bin ich noch im Versuchsstadium bzgl. der nächtlichen Bewässerung. Folglich kann es sein, dass ich die Zeiten noch wegen Energieeinsparung usw. verlängern muss. Das ist dann Imit diesem Skript nicht möglich oder?
Wenn ich es richtig verstanden habe ist jetzt das Intervall am Tag 17 Minuten und in der Nacht 34 min. Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten? -
@labamba sagte in Zeitplan Probleme:
Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?
Dann müsste man statt mit 'nem einfachen Flag mit einer Zählvariablen arbeiten.
Bei jedem Durchlaf hochzählen und wenn z.B. die 4 erreicht ist dann ausführen und Variable zurücksetzen.Oder aber, man setzt 2 Zeitpläne auf.
Einer morgens, der ein "IntervallTags" z.B. alle 17 Minuten startet und "IntervallNachts" löscht.
Und einer Abends, der ein "IntervallNachts" (z.B. alle 68 Minuten) startet und "IntervallTags" löscht.
Das wäre insgesamt am variabelsten, da man dann nicht auf Vielfache von Intervall1 angewiesen ist.
-
@labamba sagte: Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?
Dann nimm anstelle der Toggle-Variable eine Zählvariable und vergleiche sie zum Ausführen und Rücksetzen mit 4.
-
Ich habe es seit 1 1/2 Stunden laufen aber beim Skript passiert gar nichts. Ich überprüfe dies ja auch mit Telegramm. Vielleicht sehe ich meinen Fehler nicht.
Das Blockly Skript ist leider zu lange um es hier reinzustellen.
-
Ich habe jetzt die Alternative eingesetzt.
Bei stop zyklische Ausführung gibt es bei mir keine Wahlmöglichkeit (direkt unter Astro). Das ist nur möglich wenn ich stop einsetze! Ob es geht werde ich morgen Abend mal testen.
-
@labamba sagte in Zeitplan Probleme:
Bei stop zyklische Ausführung gibt es bei mir keine Wahlmöglichkeit
Du musst ein Intervall nehmen (alle X Minuten) - keinen Timeout (in X Minuten)!
-
Bei der zyklischen Ausführung kann ich aber nichts auswählen!
Ich habe doch gar kein Timeout. -
@labamba Es scheint du nutzt diesen Baustein:
sollst aber diesen nutzen:
Nur dadurch das du den timeout in ein Intervall umbenennst ändert sich nicht die Funktion.
A>
-
@asgothian
Stimmt!!! Im Detail liegt der Fehler. Vielen vielen Dank! Schaue jetzt mal ob es funktioniert. -
Erstmal ist das Skript nicht angelaufen. Vermutlich läuft es erst an wenn bei Astro der Sonnenuntergang +30 min stattfindet? Kann man das verhindern. Wenn ich etwas verändere muss ich ja immer warten bis die Sonne auf oder unter geht.
Da gehen ja meine Pflanzen drauf wenn sie dann im schimmsten Fall mehrere Stunden kein Wasser bekommen. -
@labamba sagte in Zeitplan Probleme:
Erstmal ist das Skript nicht angelaufen. Vermutlich läuft es erst an wenn bei Astro der Sonnenuntergang +30 min stattfindet?
Natürlich.
Kann man das verhindern. Wenn ich etwas verändere muss ich ja immer warten bis die Sonne auf oder unter geht.
Da gehen ja meine Pflanzen drauf wenn sie dann im schimmsten Fall mehrere Stunden kein Wasser bekommen.Kann man. Zum Bleistift so:
-
-
Funktioniert!! Super, vielen vielen dank!
-
@paul53
Schaut noch einfacher aus! Muss ich bei Gelegenheit mal ausprobieren. Danke! -
-
Ja.
Eine Kette von rekursiven Timeouts ist eine Alternative zu einem Intervall.
Insbesondere wenn die Aktionen je nach Situation unterschiedlich lange dauern können kann es von Vorteil sein das so zu lösen, da dadurch absolut sicher gestellt wird das der nächste Satz an Aktionen erst ausgeführt wird wenn der vorherige Satz abgeschlossen ist.Allerdings muss dann mit berücksichtigt werden das der Zeitversatz ggf. um die Zeit reduziert werden muss die die Aktionen geplant dauern. Bei dem vom OP geposteten Skript sind das alleine durch die 'pause' Bausteine 6 Minuten.
A
-
@asgothian sagte in Zeitplan Probleme:
Kette von rekursiven Timeouts
Natürlich. Hatte glatt übersehen, dass hier Timeout und nicht Intervall verwendet wurde
-
@codierknecht sagte in Zeitplan Probleme:
übersehen, dass hier Timeout und nicht Intervall
Teufel, Detail, Offene Fragen