Zeitmodul: Programm nach Reboot n-Mal starten

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
sct
Beiträge: 139
Registriert: 02.03.2016, 15:12
Hat sich bedankt: 1 Mal

Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von sct » 14.01.2018, 22:38

Aufgrund des Bugs mit dem CCU_Status bei CCU's mit zu wenig angemeldeten Geräten hier mal die Frage ob es mit dem Zeitmodul möglich ist ein Programm x-Mal nach einem Rebot zu starten. Ich habe es mit dem Zeitmodul probiert mit "ganztägig", "Zeitintervall alle 1 Minuten", "ab 1.1.2018", "endet nach 5Terminen". Scheinbar habe ich da noch einen Denkfeher in der Nutzung des Zeitmoduls. :roll:

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von manfredh » 15.01.2018, 10:21

Lasse doch nach dem Reboot ein Programm zyklisch laufen. Dort baust du eine SV "Reboot vor n Minuten" ein.

Diese SV lässt du n Minuten nach dem Reboot wahr werden, was die Bedingung des zyklischen Programmes unerfüllt lässt.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

sct
Beiträge: 139
Registriert: 02.03.2016, 15:12
Hat sich bedankt: 1 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von sct » 15.01.2018, 11:36

manfredh hat geschrieben:Lasse doch nach dem Reboot ein Programm zyklisch laufen. Dort baust du eine SV "Reboot vor n Minuten" ein.
Das ist ja gerade meine Frage, wie man ein Programm "zyklisch" laufen lassen kann. Nach meinem Verständnis werden alle Programme nach einem Reset nur genau *einmal* ausgeführt, aber leider eben nicht öfter.

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von manfredh » 15.01.2018, 11:54

Das Zeitmodul bietet grundsätzlich die Möglichkeit, Programme zyklisch laufen zu lassen.

In einem Programm kann man dann aber auch noch zusätzliche Bedingungen einbauen, die unter gegebenen Umständen den Programmlauf verhindern.

Und für den "gegebenen Umstand" n mal nach Reboot habe ich einen Lösungsweg aufgezeigt. Der Zählt halt nicht von 0 bis n hoch, sondern geht davon aus, dass man ausrechnen kann, wie lange man den Zyklus erlaubt.

Mir ist klar, dass das nicht die Antwort auf die Frage nach der "endet nach x Terminen"-Option im Zeitmodul ist. Ein Workaround ist es allemal.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

sct
Beiträge: 139
Registriert: 02.03.2016, 15:12
Hat sich bedankt: 1 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von sct » 15.01.2018, 12:43

manfredh hat geschrieben:Das Zeitmodul bietet grundsätzlich die Möglichkeit, Programme zyklisch laufen zu lassen.
Also ich habe das Gefühl dass wir einander vorbei reden. Aber genau das ist ja meine Frage: Was muß ich im Zeitmodul einstellen um ein Programm zyklisch laufen zu lassen? Das was ich da eingestellt habe scheint dafür nicht geeignet zu sein.
manfredh hat geschrieben:In einem Programm kann man dann aber auch noch zusätzliche Bedingungen einbauen, die unter gegebenen Umständen den Programmlauf verhindern.

Und für den "gegebenen Umstand" n mal nach Reboot habe ich einen Lösungsweg aufgezeigt. Der Zählt halt nicht von 0 bis n hoch, sondern geht davon aus, dass man ausrechnen kann, wie lange man den Zyklus erlaubt.
Wärst du so freundlich ein Beispielprogramm dafür zu posten damit (mir) das deutlich wird? Ich habe deinen Lösungsweg nicht verstanden.
manfredh hat geschrieben:Mir ist klar, dass das nicht die Antwort auf die Frage nach der "endet nach x Terminen"-Option im Zeitmodul ist. Ein Workaround ist es allemal.
Ich bin mir sicher dass ich diese "endet nach x Terminen"-Option im Zeitmodul nicht verstanden habe. Das gilt wahrscheinlich nur bei konkret terminierten Triggerpunkten.

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von manfredh » 15.01.2018, 15:49

sct hat geschrieben:
manfredh hat geschrieben:Das Zeitmodul bietet grundsätzlich die Möglichkeit, Programme zyklisch laufen zu lassen.
Also ich habe das Gefühl dass wir einander vorbei reden. Aber genau das ist ja meine Frage: Was muß ich im Zeitmodul einstellen um ein Programm zyklisch laufen zu lassen? Das was ich da eingestellt habe scheint dafür nicht geeignet zu sein.
Das war nicht deine Frage. Aber so what:
Clipboard01.jpg
Und nun zu deiner Frage zurück: Ausführung nach einem Reboot (1. Kriterium) nur n mal (2. Kriterium).

Ob und wie man das in der Zeitbedingung unter "Endet nach <Eingabefeld – Anzahl> Terminen" machen kann, habe ich auch durch Versuche nicht herausfinden können.

Eine Zyklische Ausführung unter allen Umständen habe ich oben aber aufgezeigt. Gehen wir mal davon aus, dass ein Programm nach dem Reboot 5 mal im Abstand von zwei Minuten ausgeführt werden soll:

Wenn du nun dein Programm so aufbaust:

Code: Alles auswählen

Wenn
- Zeitbedingung (ganztägig alle 2 Minuten)
und
- SV Schleife_aktiv auf wahr
Dann
- FühreAusWasDuWillst
musst du doch nur noch dafür sorgen, dass die SV Schleife_aktiv nach einem Reboot auf wahr und dann nach ca. 11 Minuten auf falsch geht:

Code: Alles auswählen

Wenn
Dann
SV Schleife_aktiv auf wahr
SV Schleife_aktiv verzögert um 11 Minuten auf falsch
Dabei macht sich dieses zweite Programm zu nutze, dass nach einem Reboot ALLE Programme getriggert werden.

Schon wird das Programm nach einem Reboot zyklisch ausgeführt, die Bedingung ist aber nach 11 Minuten nicht mehr wahr.

Ein anderes Thema ist die Frage, ob man so kurze zyklisch laufende Programme überhaupt machen sollte. Das Programm wird nämlich ewig getriggert, führt halt nach 11 Minuten nie mehr was aus.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

sct
Beiträge: 139
Registriert: 02.03.2016, 15:12
Hat sich bedankt: 1 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von sct » 16.01.2018, 09:50

manfredh hat geschrieben:Das war nicht deine Frage. Aber so what:
"Eine Zyklische Ausführung unter allen Umständen habe ich oben aber aufgezeigt."
Doch, doch das war schon die Frage. Vielen Dank für die Antwort. Das funktioniert bei mir soweit ganz gut. Leider halt eben unendlich lang...
manfredh hat geschrieben:Ob und wie man das in der Zeitbedingung unter "Endet nach <Eingabefeld – Anzahl> Terminen" machen kann, habe ich auch durch Versuche nicht herausfinden können.
Jch leider auch nicht, obwohl ich diese Option genau so interpretieren würde. Was macht diese Option denn wirklich? Bei mir ist es so, dass bei Aktivierung der Option Zeitbedingung unter "Endet nach <Eingabefeld – Anzahl> Terminen" das Programm gar nicht mehr getriggert wird.

Auch wenn das Programm ewig getriggert wird, halte ich diese Lösung als Workarround für den Bug zum Setzen des CCU_States auf 'running' nach einem Reset für vertretbar.

Ciao und Danke
SCT

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von manfredh » 16.01.2018, 11:29

sct hat geschrieben:...halte ich diese Lösung als Workarround für den Bug zum Setzen des CCU_States auf 'running' nach einem Reset für vertretbar.
Kannst du mir mal sagen (oder einen Link zum entsprechenden Thread schicken), um welchen "Bug" es da genau geht?

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1499 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von Xel66 » 16.01.2018, 11:31

Wozu muss das Programm "ewig" laufen? Für ein paar Wiederholungen reicht ein zeitverzögertes Umschalten einer Systemvariable im Programmverlauf, die als verODERter Trigger das Programm selbst wieder startet, bis die Statusvariable den Sollzustand hat. Dazu ist im WENN ein verODERter Block zu hinterlegen, der die Triggervariable bei WAHR (bei Änderung) verUNDet mit der Statusvariable nicht in Soll (nur prüfen) enthält.

Im SONST wird die Triggervariable zeitverzögert auf WAHR geschaltet. Und mit ein paar weiteren Sekunden auf FALSCH. Der Wechsel auf WAHR triggert dann das Programm immer wieder, bis die Statusvariable im Sollzustand ist.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: Zeitmodul: Programm nach Reboot n-Mal starten

Beitrag von manfredh » 16.01.2018, 11:53

Stimmt. :)

Da sieht man mal wieder, wie man durch bestimmte Vorgaben (Betreff "Zeitmodul...") auf eine Schiene gesetzt wird und dann weder links noch rechts schaut. :shock:

Dazu kommt, dass ich erst jetzt den entsprechenden Thread gelesen habe, und begreife, dass es um den Ersatz der CCU_Status Variable "Anwesenheit" geht.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Antworten

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