Hallo,
irgendwie habe ich ein Verständnisproblem beim CUXD-Timer.
Was möchte ich erreichen?
Ich habe einen Sensor im Brieflasten, der meldet, wenn die Klappe geöffnet wird (es wird die Systemvariable "SV_Briefkasten" von "keine Post" auf "Post" geändert). Diese Änderung der Systemvariablen ändert meine LED16-Anzeige und versendet eine Pushnachricht "Es ist Post im Briefkasten". Das funktioniert auch problemlos, aber ich möchte noch ein bisschen mehr. Wenn die Klappe länger als 60 Sekunden offen ist, soll "SV_Briefkasten" von "Post" auf den Wert "überfüllt" gesetzt und wiederum eine neue Pushnachricht mit dem Text "Der Briefkasten ist überfüllt" gesendet werden. Der Timer soll dann gestoppt werden, denn diese Meldung soll bis zur Leerung nur ein einziges Mal kommen.
Hier hakt es aber, denn stattdessen bekomme ich nun alle 60 Sekunden "Es ist Post im Briefkasten" gesendet und die Systemvariable bleibt auf "Post".
Hier das Programm:
Wo ist mein (Denk-)Fehler?
Verständnisproblem beim CUXD-Timer
Moderator: Co-Administratoren
-
- Beiträge: 3083
- Registriert: 23.08.2015, 11:06
- System: CCU
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 111 Mal
Re: Verständnisproblem beim CUXD-Timer
Hallo,
Du hast die Logik der CCU-Programme noch nicht verstanden.
das Programm verhält sich so, wie Du es programmiert hast:
Es wird Post eingeworfen, der Kontakt öffnet
Das 1. DANN wird ausgeführt und der CUxD-Timer auf 60 Sekunden gesetzt
Bleibt der Kontakt offen und der Timerevent tritt nach 60Sekunden ein, so triggert der CUxD-Timer im SONSTWENN Dein Programm und dieses ...
Programm wird von oben nach unten neu abgearbeitet.
Das 1. WENN ist wahr und somit wird
das 1.DANN ausgeführt
Daraus resultierend erhälst Du die Mail "Es ist Post im Briefkasten
... usw.
LG
Stefan
Re: Verständnisproblem beim CUXD-Timer
Danke für die Antwort, ich dachte, dass das WENN beim erneuten Abarbeiten ja nicht gültig ist, da ich ja "bei Änderung" angegeben habe und sich der Zustand des Sensors (offen) nicht geändert hatte.
Ich probiere es mal mit zwei getrennten Programmen...
EDIT:
So funktioniert es wie gewollt...
Ich probiere es mal mit zwei getrennten Programmen...
EDIT:
So funktioniert es wie gewollt...