NEWS
Wie Blockly besser organisieren, schreibt mir Protokoll voll
-
@wotan2005 sagte: Das Blockly wird dann aber trotzdem immer ausgeführt oder nur zu den Zeitplänen?
Das Blockly wird immer ausgeführt. Es enthält 5 Trigger: 3 Zeitpläne und zwei Trigger auf Wertänderung. Das Setzen der Variable ventil01 außerhalb der Trigger wird nur einmal bei Skriptstart ausgeführt.
Ich habe den Überlauftrigger noch um eine Uhrzeitprüfung ergänzt:
-
@wotan2005 sagte in Wie Blockly besser organisieren, schreibt mir Protokoll voll:
Das Blockly wird dann aber trotzdem immer ausgeführt oder nur zu den Zeitplänen?
Ein Script in ioB - egal ob JS oder Blockly (was ja unter der Haub auch nur JS generiert) wird grundsätzlich 1x gestartet und "läuft" dann bis zum Sanktnimmerleinstag.
Das Ganze ist Ereignisgesteuert. Beim Start werden Ereignisse (Trigger) und Zeitpläne "registriert".
Tritt nun ein Ereignis ein oder ist der Zeitpunkt des Zeitplans gekommen, wird der dort hinterlegte Code ausgeführt. Ansonsten "schläft" das Script und wartet. -
-
@wotan2005 sagte: Logikfehlern
Die Pumpe darf nur im Trigger für die beiden Ventile geschaltet werden.
Der Vergleich für "Ventil 00 aus" ist falsch herum.
In einem Skript nur einen Trigger pro Datenpunkt ("Spannung 100") verwenden (Ressourcen).Der kurze Timeout dient dazu, dass um 6:15 Uhr die Pumpe nicht kurz aus- und gleich wieder einschaltet.
-
@paul53
in deinem Zeitplan setzt du einmal bewaessern01 auf wahr.
und im zweiten Zeitplan gleich aus false.
Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird? -
@paul53
Ventil01 ist aber auch der gleiche Ring für die normale Bewässerung.Ventil01 soll geöffnet werden als Überlauf. und eben täglich als Beetbewässerung.
-
@wotan2005 sagte: Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird?
Nein, "Entwässern" steuert nur Ventil 01. Die Variable bewaessern01 soll nur verhindern, dass das Ventil 01 zwischen 6:00 und 6:15 Uhr geschlossen wird.
-
@paul53
igendwie bin ich beim lesen deines Blockly gerade durch den Wind.Linker Teil ist soweit klar, das ist die Bewässerung mit starten der Regenpumpe.
Im Rechten Teil sehe ich zwar die Ventile zum entwässern und befüllen. Aber zum entwässern fehlt noch die Regenpumpe, oder überlese ich das jetzt gerade?
-
@wotan2005 sagte: zum entwässern fehlt noch die Regenpumpe, oder überlese ich das jetzt gerade?
Wenn zum Entwässern das Ventil 01 geöffnet wird, startet die Pumpe per Trigger, denn es wird auf Ventil 01 und Ventil 02 getriggert.
-
@paul53
Danke, auch für die immer wieder kehrenden Erklärungen.Die Zeitpläne kann ich ohne Problem erweiteren, ich sollte nur aufpassen, das wenn ich Ventil01 benutze, ich dann auch die Variable mit setzte, richtig?
-
@paul53 sagte: Sollte das nicht erst auf false gesetzt werden, wenn das letzte Ventil geschlossen wird?
Es ist vielleicht die bessere Lösung, die Entwässerungssteuerung während der normalen Bewässerung zu blockieren:
-
@wotan2005 sagte: aufpassen, das wenn ich Ventil01 benutze, ich dann auch die Variable mit setzte, richtig?
Wenn eine Hysterese verwendet wird, müssen die Regler-Variablen bei Skriptstart initialisiert werden, da sie sonst innerhalb der Hysterese bei Skriptstart den Wert undefined behalten.
-
Nochmal kurz ein Bilck drauf werfen, danke.
-
@wotan2005 sagte: Nochmal kurz ein Bilck drauf werfen
Ist nicht zu entziffern, da zu klein.
-
-
-
@wotan2005
Setze die Variable bewaessern zu Beginn (6:00, 21:00 Uhr) jeder Bewässerung auf wahr und zum Ende (6:30, 21:15 Uhr) auf falsch, da sonst beide Ventile gleichzeitig geöffnet werden könnten.Das korrigiere:
und auch den Vergleich:
-
So nun aber:
-
@wotan2005 sagte: So nun aber:
Passt.
Wenn der Entwässerungsfall eintritt, regnet es dann nicht gerade? Soll dann die normale Bewässerung laufen?
-
@paul53
Wenn es regent kann es ruhig bewässert werden, das entleert ja auch die 1600Liter Zysterne.Ich habe ein Satteldach, was 24m² überdeckt. Und wir haben in den letzten Regenwochen hier schon dreimal die Zysterne vollständig überfüllt gehabt.
Das Entwässern soll nur verhindern, das das Wasser aus dem Dohnschacht rauskommt, ob das hilft, dasnur das Ventil01 zu öffnen, muss sich noch zeigen.@paul53 ich danke dir vielmals für deine Geduld und Ausdauer. Und wünsche dir noch einen schönen sonnigen Nachmittag, vielleicht mit einer kalten Hopfenschale.