Programm wird doppelt ausgeführt

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

aernst
Beiträge: 44
Registriert: 09.06.2017, 14:14
Danksagung erhalten: 1 Mal

Programm wird doppelt ausgeführt

Beitrag von aernst » 23.03.2020, 20:53

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
Dateianhänge
Anhang.PNG

Benutzeravatar
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

Beitrag von AndiN » 23.03.2020, 21:50

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
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

frd030
Beiträge: 3611
Registriert: 14.07.2019, 20:49
System: CCU
Hat sich bedankt: 843 Mal
Danksagung erhalten: 539 Mal

Re: Programm wird doppelt ausgeführt

Beitrag von frd030 » 24.03.2020, 08:40

aernst hat geschrieben:
23.03.2020, 20:53
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.
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.

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
Die letzte Abfrage triggert das Programm, dass immer (!) von oben nach unten abgearbeitet wird und so den Status der Beschattung prüft, die richtige Aktion ausführt und sich dann beendet. Die Zeitabfrage wird aber nie "geprüft". Warum auch?!
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!?

Gluehwurm
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

Beitrag von Gluehwurm » 24.03.2020, 13:05

Die zweite Zeitabfrage wird interessant, wenn die CCU neu gestartet wird. Sonst müsste man den Neustart auf anderem Weg abfangen. :wink:

Gruß
Bruno

Benutzeravatar
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

Beitrag von AndiN » 24.03.2020, 17:13

@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
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

aernst
Beiträge: 44
Registriert: 09.06.2017, 14:14
Danksagung erhalten: 1 Mal

Re: Programm wird doppelt ausgeführt

Beitrag von aernst » 25.03.2020, 12:23

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
Dateianhänge
Anhang2.PNG
Mit "CCUimReboot" Variable
Anhang.PNG
Ohne "CCUimReboot" Variable

Gluehwurm
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

Beitrag von Gluehwurm » 25.03.2020, 13:14

aernst hat geschrieben:
25.03.2020, 12:23
... finde Variante 2 deutlich eleganter ...
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. :wink:

Die Haken "Vor dem Ausführen ..." müssen rein.

aernst
Beiträge: 44
Registriert: 09.06.2017, 14:14
Danksagung erhalten: 1 Mal

Re: Programm wird doppelt ausgeführt

Beitrag von aernst » 25.03.2020, 15:26

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
Dateianhänge
Unbenannt.PNG

Matsch
Beiträge: 5426
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 734 Mal

Re: Programm wird doppelt ausgeführt

Beitrag von Matsch » 25.03.2020, 15:54

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?

aernst
Beiträge: 44
Registriert: 09.06.2017, 14:14
Danksagung erhalten: 1 Mal

Re: Programm wird doppelt ausgeführt

Beitrag von aernst » 25.03.2020, 16:05

@Matsch,
ich setze die Uhrzeit und warte, dass diese eintritt.

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“