Programm wird doppelt ausgeführt
Moderator: Co-Administratoren
Programm wird doppelt ausgeführt
Hallo Experten,
kann mir einer erklären, warum das Programm anscheinend doppelt ausgeführt wird? Aktuell steht Variable "Beschattung_Aktiv" auf "Aktiv" und damit wird auch korrekt der "Sonst, wenn..." Teil ausgeführt. Aber laut Systemprotokoll doppelt, da ich sehe dass alle Variable in derselben Sekunde jeweils 2x auf den gewünschten Wert gesetzt werden. Es wird auch definitiv nur der "Sonst, wenn" Teil 2x durchlaufen.
Macht aktuell nichts aus da alle anderen Programme korrekt laufen, aber es wäre halt super zu wissen, warum so etwas passiert und was ich ändern muss damit das nicht passiert.
Gruß
Adrian
kann mir einer erklären, warum das Programm anscheinend doppelt ausgeführt wird? Aktuell steht Variable "Beschattung_Aktiv" auf "Aktiv" und damit wird auch korrekt der "Sonst, wenn..." Teil ausgeführt. Aber laut Systemprotokoll doppelt, da ich sehe dass alle Variable in derselben Sekunde jeweils 2x auf den gewünschten Wert gesetzt werden. Es wird auch definitiv nur der "Sonst, wenn" Teil 2x durchlaufen.
Macht aktuell nichts aus da alle anderen Programme korrekt laufen, aber es wäre halt super zu wissen, warum so etwas passiert und was ich ändern muss damit das nicht passiert.
Gruß
Adrian
- AndiN
- Beiträge: 2621
- Registriert: 10.06.2015, 08:54
- Wohnort: Hennef
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 28 Mal
Re: Programm wird doppelt ausgeführt
Hallo
Ich würde mal bei „Sonst wenn“ die Zeit auf nur „prüfen“ stellen.
Oben tiggert einmal der Zeitpunkt das Programm und führt den „Sonst wenn“ aus und dann unten nochmal der Zeitpunkt Auslöser für den zweiten Aufruf des Programms
Andi
Ich würde mal bei „Sonst wenn“ die Zeit auf nur „prüfen“ stellen.
Oben tiggert einmal der Zeitpunkt das Programm und führt den „Sonst wenn“ aus und dann unten nochmal der Zeitpunkt Auslöser für den zweiten Aufruf des Programms
Andi
Andi (Greenhorn)
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
-
- Beiträge: 3621
- Registriert: 14.07.2019, 20:49
- System: CCU
- Hat sich bedankt: 847 Mal
- Danksagung erhalten: 542 Mal
Re: Programm wird doppelt ausgeführt
Wirf mal die zweite Zeitabfrage ganz raus, sie ist eigentlich nicht notwendig. Die in der ersten Abfrage triggert das Programm zur gewünschten Zeit, danach ist nur noch der Status der Beschattung wichtig.aernst hat geschrieben: ↑23.03.2020, 20:53kann mir einer erklären, warum das Programm anscheinend doppelt ausgeführt wird? Aktuell steht Variable "Beschattung_Aktiv" auf "Aktiv" und damit wird auch korrekt der "Sonst, wenn..." Teil ausgeführt. Aber laut Systemprotokoll doppelt, da ich sehe dass alle Variable in derselben Sekunde jeweils 2x auf den gewünschten Wert gesetzt werden. Es wird auch definitiv nur der "Sonst, wenn" Teil 2x durchlaufen.
Es ginge sogar so:
Code: Alles auswählen
WENN Beschattung = inaktiv (nur prüfen) DANN ...
SONST WENN Beschattung = aktiv (nur prüfen) DANN ...
SONST WENN Zeit=07:30 (zu Zeitpunkten auslösen) DANN mach nix
Wenn der Wecker um 7:30 Uhr klingelt, muss man ja auch nicht auf's Zifferblatt schauen, um zu wissen, dass es 7:30 Uhr ist!?
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Programm wird doppelt ausgeführt
Die zweite Zeitabfrage wird interessant, wenn die CCU neu gestartet wird. Sonst müsste man den Neustart auf anderem Weg abfangen.
Gruß
Bruno
Gruß
Bruno
- AndiN
- Beiträge: 2621
- Registriert: 10.06.2015, 08:54
- Wohnort: Hennef
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 28 Mal
Re: Programm wird doppelt ausgeführt
@Bruno: genau das dachte ich mir. Darum auf prüfen. Sicher ist sicher.
Sonst halt CCU Reboot unten noch rein.
So oder so. Darum ist auf jedenfall das Programm zweimal ausgelöst wurde.
Andi
Sonst halt CCU Reboot unten noch rein.
So oder so. Darum ist auf jedenfall das Programm zweimal ausgelöst wurde.
Andi
Andi (Greenhorn)
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Re: Programm wird doppelt ausgeführt
Hallo zusammen,
und danke für die Antworten. Wenn ich das also zusammenfassend richtig verstehe, dann hätte ich also zwei mögliche Varianten um mein Programm anzupassen und damit die doppelte Ausführung sowie die Ausführung beim Neustart zu verhindern?
Bild >Ohne "CCUimReboot" Variable<
Hier einfach die Zeitsteuerung auf "Nur prüfen" umgestellt.
Bild >Mit "CCUimReboot" Variable<
Im Sonst wenn Teil die Zeitsteuerung weglassen und dafür durch die CCUimReboot Variable verhindern, dass die Variablen beim CCU Neustart gesetzt werden.
Meint ihr das so? Ich finde Variante 2 deutlich eleganter. Ich kann dann in diversen Programmen die teils mehrfache Verwendung derselben Uhrzeit auf eine reduzieren. Das macht es bei der Programmpflege dann einfacher.
Danke und Gruß
Adrian
und danke für die Antworten. Wenn ich das also zusammenfassend richtig verstehe, dann hätte ich also zwei mögliche Varianten um mein Programm anzupassen und damit die doppelte Ausführung sowie die Ausführung beim Neustart zu verhindern?
Bild >Ohne "CCUimReboot" Variable<
Hier einfach die Zeitsteuerung auf "Nur prüfen" umgestellt.
Bild >Mit "CCUimReboot" Variable<
Im Sonst wenn Teil die Zeitsteuerung weglassen und dafür durch die CCUimReboot Variable verhindern, dass die Variablen beim CCU Neustart gesetzt werden.
Meint ihr das so? Ich finde Variante 2 deutlich eleganter. Ich kann dann in diversen Programmen die teils mehrfache Verwendung derselben Uhrzeit auf eine reduzieren. Das macht es bei der Programmpflege dann einfacher.
Danke und Gruß
Adrian
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Programm wird doppelt ausgeführt
So war das gemeint, bitte aber mal probieren, ob es funktioniert. Nicht, daß der CCU einfällt, daß es bei der Prüfung schon 17:30:01 ist und dadurch der B-Teil nie ausgeführt wird.
Die Haken "Vor dem Ausführen ..." müssen rein.
Re: Programm wird doppelt ausgeführt
Hallo Gluehwurm,
also ich habe den einen Vorschlag - ohne CCUimReboot Variable - mal in nem kleinen Testprogramm laufen lassen. Da kommt er komplett durcheinander. Bei diesem Programm wird immer der Wert von "ZZTEST" auf "Wert 2" gesetzt, obwohl "Beschattung_Aktiv" auf "Aktiv" steht.
Gruß
Adrian
also ich habe den einen Vorschlag - ohne CCUimReboot Variable - mal in nem kleinen Testprogramm laufen lassen. Da kommt er komplett durcheinander. Bei diesem Programm wird immer der Wert von "ZZTEST" auf "Wert 2" gesetzt, obwohl "Beschattung_Aktiv" auf "Aktiv" steht.
Gruß
Adrian
-
- Beiträge: 5444
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 735 Mal
Re: Programm wird doppelt ausgeführt
Das kann nicht sein. Wie löst du denn das Programm zum Test aus? Hoffentlich nicht über Status -> Programme -> Start, sondern indem du auf die programmierte Uhrzeit wartest?