Hauptmenü

DOIF Zwangspause

Begonnen von z0lt1, 07 Juni 2018, 21:42:42

Vorheriges Thema - Nächstes Thema

z0lt1

Hallo Zusammen,

ich habe folgenden Code (vereinfacht):
DOIF ([temp.Puffer_Unten:temperature] > 60)
(set Gastherme Raumtemperatur_Soll 37, ...)
DOELSE
(set Gastherme Raumtemperatur_Soll 24, ...)


Nun soll nach dem Eintreten des DOIF-Falls der DOELSE Fall erst nach einer definierten Zeit ausgeführt werden, auch wenn er vorher schon wahr wird. Es hab mir schon den cmdpause angeschaut, aber der gilt nur für die Wiederholung des bereits ausgeführten CMDs oder?

wendeling

Versuche es mal mit wait.
Zb. wait 200:400

Gruß
Wendelin

z0lt1

Das löst mein Problem leider nicht, denn ich will ja dass der Doelse-Fall dann nach dem verstreichen der Zeit nur dann ausgeführt wird wenn dann die Bedingungen noch zutreffen.

amenomade

#3
Tatsächlich. Ich war auch am Schreiben, dass es das Problem nicht löst, da
Zitat von: CommandRefEine bereits ausgelöste Verzögerung wird zurückgesetzt, wenn während der Wartezeit ein Kommando eines anderen DO-Falls, ausgelöst durch ein neues Ereignis, ausgeführt werden soll.

Lass mich mal überlegen... Ich glaube, cmdpause ist doch das richtige.

ZitatMit dem Attribut cmdpause <Sekunden für cmd_1>:<Sekunden für cmd_2>:... wird die Zeitspanne in Sekunden angegeben für eine Zwangspause seit der letzten Zustandsänderung. In der angegebenen Zeitspanne wird ein Kommando nicht ausgeführt, auch wenn die dazugehörige Bedingung wahr wird.

cmdpause 0:200
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus