NEWS
[gelöst] Zeitverzögerung und Timer
-
ich beginne mit dem verzögerten setzen einer Variable, ist das OK ?
-
setzen und löschen der Variable
als nächstes würde ich eine parallel Abarbeitung mit der Variable machen
30s Ausgang aktivieren, 5min warten -
@Humidor
gib mir 20 Minuten.. Dein Ansatz kann so nicht gehen.Alternativ - teamspeak und anydesk.
A.
-
Versuch mal so.
Da ich die entsprechenden Datenpunkte nicht habe hab ich die nicht ausgewählt.Funktionsweise:
ein Trigger auf den Türkontakt überwacht diesen. Bei Tür auf werden die Timeouts zum abschalten der Pumpe angehalten - nicht aber das Intervall das die 5 min. Wiederholung durchführt. Dieses wird automatisch beim überschreiten der Grenze deaktiviert.
Der Trigger auf den Feuchtewert reagiert auf Wertänderungen.
Ist der Wert unter dem Schwellwert werden sowohl die 30 s Verzögerung für die Pumpe als auch das 5 min. Intervall gelöscht.
Ist der Wert über dem Schwellwert, dann wird zunächst geschaut ob der vorherige wert darunter war (dann läuft aktuell nichts). Wenn ja, dann wird der Pumpenablauf gestartet.A.
(hinterm spoiler auch als XML zum import)
-
@Asgothian
Danke!!
schön langsam verstehe ich dein Blocky, beim unteren Kommentar hat mich der Text verwirrt (copy-paste) -
(bei mir is Deutsch), stimmt das für die Feuchtigkeit?
-
@Humidor sagte:
stimmt das für die Feuchtigkeit?
Nein, so ist die Bedingung für Befeuchten nie erfüllt. Außerdem darf man timeAktiv nicht stoppen, weil dann das Ausschalten verhindert wird. Die erste Verzögerung beträgt 6 Minuten (1 + 5 Minuten).
Versuche es mal so: -
@paul53
Danke!wie kann ich den Export hier runterladen?
was ich nciht verstehe ist, wie ich im Blocky den "Wert" (rot), "Tür_offen" (rot) und "timeout" (rot) so auswählen kann ??
und was bewirkt "timeout" im sonst falls Zweig? -
@Humidor sagte:
"Wert" (rot), "Tür_offen" (rot) und "timeout" (rot)
Wert findet man unter "Trigger"
Tuer_offen ist eine selbst erstellte Variable
timeout ist eine Variable, die mit "Ausführen timeout" erstellt wird.@Humidor sagte in Zeitverzögerung und Timer:
was bewirkt "timeout" im sonst falls Zweig?
Es verhindert, dass weitere Timer gestartet werden, wenn bei Wertänderungen unter 68 erneut getriggert wird.
@Humidor sagte in Zeitverzögerung und Timer:
wie kann ich den Export hier runterladen?
Copy (^C) aus dem Forum & Paste (^V) in den Blockly-Import.
-
@paul53 sagte in Zeitverzögerung und Timer:
@Humidor sagte:
"Wert" (rot), "Tür_offen" (rot) und "timeout" (rot)
Wert findet man unter "Trigger"
Tuer_offen ist eine selbst erstellte Variable
timeout ist eine Variable, die mit "Ausführen timeout" erstellt wird.@Humidor sagte in Zeitverzögerung und Timer:
was bewirkt "timeout" im sonst falls Zweig?
Es verhindert, dass weitere Timer gestartet werden, wenn bei Wertänderungen unter 68 erneut getriggert wird.
@Humidor sagte in Zeitverzögerung und Timer:
wie kann ich den Export hier runterladen?
Copy (^C) aus dem Forum & Paste (^V) in den Blockly-Import.
gefunden!
ist im falls wenn der Timeout bei 0 erfüllt oder bei einem Wert?
-
@Humidor sagte:
gefunden!
Der untere Trigger-Datenpunkt ist falsch: Es muss die Tür sein.
@Humidor sagte in Zeitverzögerung und Timer:
wenn der Timeout bei 0 erfüllt oder bei einem Wert?
nicht timeout ist erfüllt, wenn timeout den Wert null (wird bei stop timeout gesetzt) oder den Wert undefined (wird bei Scriptstart gesetzt) enthält. Wenn der Timer gestartet ist, enthält die Variable timeout ein Timer-Objekt.
Anmerkung: Anstelle von nicht timeout könnte man auch auf vorheriger Wert > 68 prüfen, so wie es @Asgothian vorgesehen hatte.
-
so richtig ?
-
@Humidor sagte:
so richtig ?
Der Trigger ja, die Abfrage nicht: vorheriger Wert > 68 (vorheriger Wert unter "Trigger").
Die Bedingung Wert <= 68 ist bereits im sonst enthalten. -
@paul53
das mit dem "vorherigen Wert" verstehe ich nicht, soll das eine Zwischenvariable sein? -
@Humidor sagte:
das mit dem "vorherigen Wert" verstehe ich nicht, soll das eine Zwischenvariable sein?
Nein, das ist eine Eigenschaft des Trigger-Datenpunktes (deshalb unter Blöcke "Trigger")
-
@paul53
das hab ich nicht ?
-
-
@paul53
gefunden, danke!aber kapier ich nicht was der vorherige Wert mit der Abfrage zu tun hat?
-
-
@Humidor sagte:
aber kapier ich nicht was der vorherige Wert mit der Abfrage zu tun hat?
Es soll die Verzögerung nur gestartet werden, wenn
- der Wert <= 68 ist (sonst)
- der vorherige Wert > 68 ist
- die Tür geschlossen ist
Die Prüfung auf vorheriger Wert > 68 verhindert, dass ein weiterer Timer gestartet wird, wenn sich der Wert z.B. von 68 auf 67 ändert.