NEWS
[gelöst] führt Intervall im blockly immer alles innerhalb des Bausteines aus?
-
Hallo zusammen,
ich bin gerade dabei mir ein blockly zu bauen, welches meine Poolpumpe einschaltet sobald und solange der Sonnensensor mehr als 6000 Lux anzeigt. Das ganze soll nicht länger als insgesamt 3 Stunden am Tag laufen. Bei Unterbrechungen des Sonnenscheins, soll der 3 Stunden Zähler stoppen, die Pumpe ausgehen und wieder anfangen sobald die Sonne wieder scheint.
Jetzt meine Verständnisfrage: Muß ich den Baustein "steuere Poolpumpe mit wahr" vor den Intervall Baustein setzen oder in den Intervall Baustein?Würde bei Erfüllung der Bedingung Lux größer 6000 dann der Anschaltbefehl immer wieder gesendet, wenn es innerhalb des Intervalls ist?
Wenn er ausserhalb des Intervalls ist, würde dann bei der Bedingung Lux größer als 6000 UND abgelaufenem Timer die Pumpe immer erst an und gleich wieder aus gehen?
Grüße Andreas
-
Also meinen Verständnis nach, wird alles im Intervall jedesmal ausgeführt. Also ja, der Einschaltbefehl würde immer wieder gesendet werden und wenn der Count größer 180 ist auch der Abschaltbefehl gleich hinterher.
Außerdem würde bei jeder Änderung des Triggers ein zusätzlicher Intervall gestartet werden. Ich denke mal, da würde sich irgendwann etwas totlaufen.
Gruß
Mario -
@weimaraner sagte:
Muß ich den Baustein "steuere Poolpumpe mit wahr" vor den Intervall Baustein setzen oder in den Intervall Baustein?
Besser vor den Intervallbaustein.
Durch die Verknüpfung Wert UND vorheriger Wert wird das Intervall immer gestoppt, wenn nicht beide Bedingungen erfüllt sind. Es soll aber nur gestoppt werden, wenn die Sonneneinstrahlung zu gering ist. Vorschlag:
-
Das sieht super aus. Probiere ich morgen gleich aus, wenn ich vorm PC bin.
Danke und Grüße Andreas -
@paul53
Habe es jetzt erfolgreich nachgebaut. Allerdings ist mein "erhöhe Count" Baustein in einer anderen Farbe. Bei mir ist er aus der Gruppe der Mathematik Bausteine. Ich verwende Blockly Version 3.6.4. Ändert das etwas?Edit:
Bevor ich hier mit editieren des Codes im Spoiler fertig bin, schon die Antwort...
Danke! -
@weimaraner sagte:
Ändert das etwas?
Nein.
Ich sehe gerade im Javascriptcode,
count = (typeof count == 'number' ? count : 0) + 1;
dass Blockly selbst die Variable count auf 0 initialisiert, wenn es nicht bereits geschehen ist. Damit kann man sich den obersten Befehl setze count auf 0 sparen.