NEWS
Mindespause zum Skriptaufruf
-
@homoran sagte: braucht nicht mal eine Variable
Doch: Die Timer-Variable
timeout
, die nach Ablauf der 2 Minuten automatisch auf null gesetzt wird (seit JS-Version 7.0.5). -
@paul53 also so?
-
@accu sagte: also so?
Passt.
-
@paul53 glaube es passt noch nicht ganz.
ich will ja vermeiden, dass wenn der Zweig mit: Steuere Schalter = Wahr ausgelöst hat, dass dann mind. 2 min pause ist, bis er das wieder auslösen kann.
müsste doch dann so sein oder:
-
@accu sagte: ausgelöst hat, dass dann mind. 2 min pause ist, bis er das wieder auslösen kann.
Genau das macht die Sperre mit
timeout
. -
@paul53 aber ist es dann nicht so, dass er beim Ausführen des Triggers schaut ob ein Timeout da ist und dann erst wenn keins da ist den Wert größer bzw. kleiner prüft?
ich finde es günstiger das Time out direkt zu setzen nachdem der Schalter mal ausgelöst hat. oder habe ich einen Denkfehler?
-
@accu sagte: müsste doch dann so sein oder:
Du möchtest nach dem Schalten des Aktors für 2 Minuten sperren? Dann so:
-
@paul53 was ist denn an der Lösung falsch?
würde hier nicht das Timeout jedesmal gesetzt nachdem der Schalter positiv ausgelöst hatte und ein Wiedereinschalten unter 2min verhindert? oder habe ich einen Denkfehler? Wie gesagt ich will verhindern dass der Schalter sich innerhalb von 2 min wieder einschaltet wenn er schon einmal ausgelöst hatte.
-
@accu sagte: will verhindern dass der Schalter sich innerhalb von 2 min wieder einschaltet wenn er schon einmal ausgelöst hatte.
Und was ist mit dem Ausschalten?
Die gezeigte Lösung sperrt nach jedem Schalten für 2 Minuten und verhindert gleichzeitig ein unnötiges Senden, wenn nicht geschaltet werden soll. -
@paul53 sagte:
Und was ist mit dem Ausschalten?
Ich nehme an, dass nur das erneute Einschalten für 2 Minuten blockiert werden soll, aber nicht das Ausschalten.
Das Ausschalten soll nach Vorgabe erfolgen.Dann wäre allerdings diese Formulierung
@accu sagte in Mindespause zum Skriptaufruf:dass mein Blockly nach ausführung mindestens 2min wartet bis es neu ausgeführt werden kann?
nicht korrekt
-
@homoran sagte: nur das erneute Einschalten für 2 Minuten blockiert werden soll
Es ist lediglich eine Sende-Sperre für 2 Minuten, nachdem eingeschaltet wurde.
-
@paul53 aber das schließt doch auch ein Ausschalten innerhalb von 2 Minuten aus.
Die Formulierung scheint heissen zu müssen
@accu sagte in Mindespause zum Skriptaufruf:
dass mein Blockly nach ausführung mindestens 2min wartet bis es den Schalter neu einschalten kann?
ist aber im Moment Glaskugelbefragung und Kaffeesatz lesen.
@Accu sollte das mal präzisieren
-
also - hinter dem Skript hängt eine Pumpe.
Ich will vermeiden dass die Pumpe aus irgendwelchen gründen eingeschaltet bleibt und trocken läuft.D.h. das Ausschalten soll nach Logik immer möglich sein.
Nur ein erneutes Einschalten innerhalb der 2min Zeitgrenze will ich vermeiden.
Hintergrund. Der Verbaute Lidar Sensor ist nicht 100% fehlerfrei und hatte neulich dazu geführt dass die Pumpe lfd in kurzen Abständen wieder eingeschaltet wurde. Daher soll eine 2 min Einschaltsperre realisiert werden. -
Also ist mein letztes Skript dann ok? oder habe ich irgendwas nicht bedacht?
-
@accu sagte: ist mein letztes Skript dann ok?
Ja, aber es wird auch dann gesendet, wenn es nicht notwendig ist, was gegenseitige Störungen verursachen kann. Besser so:
-
@paul53 verstehe ich nicht. Der Schalter ist ja TRUE / FALSE wie kann dann der Aktor den Wert vom Schalter einnehmen?
Verstehe denn Sinn der letzten Ungleich Bedingung nicht. -
@accu sagte in Mindespause zum Skriptaufruf:
wie kann dann der Aktor den Wert vom Schalter einnehmen?
nicht der Aktor selbst!
die Variable "aktor"die letzte Ungleichung sorgt dafür, dass nur gesendet wird, wenn auch geschaltet werden muss. Also z.B. nicht auf true, wenn schon true ist...
-
@homoran aber der schaltet doch ohnehin nur TRUE wenn der wert größer 69 ist. Sonst macht der doch nix.
-
@accu sagte in Mindespause zum Skriptaufruf:
@homoran aber der schaltet doch ohnehin nur TRUE wenn der wert größer 69 ist. Sonst macht der doch nix.
und wenn er 71 ist... und bei 73, und bei 74......
-
@homoran das wird er aber nicht erreichen.
Der wert wird 69, dann schaltet er und die Pumpe geht an. Via Lidar Sensor wird sofort der via MQTT der neue Wasserstand bzw. die Untergrenze mitgeteilt, die dann kleiner 39 ist und die Pumpe geht wieder aus.