eine Verständnisfrage zu dem Hakerl bei "Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden": Was tut dieses? Bei mir nämlich nicht das, was ich erwartet hätte...
Mein Programm - siehe Screenshot im Anhang - soll als "Fenster-Offen-Alarm" mit Verzögerung 4x melden, und zwar nach 5, 10, 20 und 40 Sekunden, sowie beim Schliessen 1x die Info "Fenster geschlossen".
Das funktioniert zwar im Prinzip, aber es werden alle verzögerten Meldungen übermittelt. Ich hätte erwartet, das beim Schliessen durch das besagte Hakerl alle Verzögerungen beendet werden, so haben es auch Forumskollegen in gleichartig aufgebauten Programmen verwendet.
D.h. die Meldungen sehen z.B. so aus:
Zeit - Aktion
0 Sek - meine Aktion: "Fenster öffnen"
5 Sek - Meldung 1: Fenster seit 5 Min. geöffnet
6 Sek - meine Aktion: "Fenster schliessen"
8 Sek - Meldung 2: Fenster geschlossen
10 Sek - Meldung 3: Fenster seit 10 Min. geöffnet
20 Sek - Meldung 4: Fenster seit 20 Min. geöffnet
40 Sek - Meldung 5: Fenster seit 12h geöffnet
Warum wird das durch "laufende Verzögerungen beenden" nicht abgebrochen, bzw. was mache ich falsch?
Die Randinfos:
Die CCU2 läuft auf YAHM mit FW 2.25.15.
"Aussentemp" ist eine Systemvariable, die alle 5 Minuten in einem anderen Skript gesetzt wird.
Bei dem Fenster ist sowohl ein optischer, als auch ein Drehgriff-Sensor im Einsatz. Ich habe das Script auch ohne den Drehgriff und nur mit dem optischen Sensor getestet, mit gleichem Effekt.
Alle im Screenshot verwendeten Skripte sind wie folgend aufgebaut, teilweise mit bzw. ohne die IF-Abfrage, und mit angepassten Temperaturwerten (4, 10, 15°C in der IF-Abfrage) bzw. unterschiedlichen Messagetexten:
Code: Alles auswählen
if( dom.GetObject("Aussentemp").Value() <= 10) {
string message = "Fenster seit 10 min offen";
string chatid = "XYZ";
string botAPI = "ABC";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid); }
Norfolk