Zeitmodul: Programm nach Reboot n-Mal starten
Moderator: Co-Administratoren
Zeitmodul: Programm nach Reboot n-Mal starten
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.
-
- 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
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.
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.
Re: Zeitmodul: Programm nach Reboot n-Mal starten
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 hat geschrieben:Lasse doch nach dem Reboot ein Programm zyklisch laufen. Dort baust du eine SV "Reboot vor n Minuten" ein.
-
- 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
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
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.
Re: Zeitmodul: Programm nach Reboot n-Mal starten
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:Das Zeitmodul bietet grundsätzlich die Möglichkeit, Programme zyklisch laufen zu lassen.
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: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.
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 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.
-
- 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
Das war nicht deine Frage. Aber so what: Und nun zu deiner Frage zurück: Ausführung nach einem Reboot (1. Kriterium) nur n mal (2. Kriterium).sct hat geschrieben: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:Das Zeitmodul bietet grundsätzlich die Möglichkeit, Programme zyklisch laufen zu lassen.
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
Code: Alles auswählen
Wenn
Dann
SV Schleife_aktiv auf wahr
SV Schleife_aktiv verzögert um 11 Minuten auf falsch
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.
Re: Zeitmodul: Programm nach Reboot n-Mal starten
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:Das war nicht deine Frage. Aber so what:
"Eine Zyklische Ausführung unter allen Umständen habe ich oben aber aufgezeigt."
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.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.
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
-
- 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
Kannst du mir mal sagen (oder einen Link zum entsprechenden Thread schicken), um welchen "Bug" es da genau geht?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.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- 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
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
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
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
-
- 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
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.
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
Da sieht man mal wieder, wie man durch bestimmte Vorgaben (Betreff "Zeitmodul...") auf eine Schiene gesetzt wird und dann weder links noch rechts schaut.
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.