Timer mit Verzögerung um mehr als 24h
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 315
- Registriert: 25.11.2016, 19:52
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 20 Mal
Timer mit Verzögerung um mehr als 24h
Hallo, die Frage ist:
Kann man in der RaspberryMatic im Zeitmodul eine grössere Auslöse-Verzögerung als 24 Stunden einstellen?
Gruss AF
Edit: Bin im falschen Forumsbereich gelandet, bitte um Verschiebung.
Kann man in der RaspberryMatic im Zeitmodul eine grössere Auslöse-Verzögerung als 24 Stunden einstellen?
Gruss AF
Edit: Bin im falschen Forumsbereich gelandet, bitte um Verschiebung.
Zuletzt geändert von Roland M. am 16.01.2022, 11:19, insgesamt 1-mal geändert.
Grund: Thema verschoben
Grund: Thema verschoben
-
- 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: Timer mit Verzögerung um mehr als 24h
Sag uns doch mal, was du erreichen möchtest.
Ereignisse in der ferneren Zukunft lassen sich evtl. leichter und sicherer mit einer gesetzten Systemvariable triggern.
Ereignisse in der ferneren Zukunft lassen sich evtl. leichter und sicherer mit einer gesetzten Systemvariable triggern.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 315
- Registriert: 25.11.2016, 19:52
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 20 Mal
Re: Timer mit Verzögerung um mehr als 24h
Hallo, zum Jahresbeginn erhalte ich immer Termine, an denen unser Mistentsorger kommt.
Zu diesen Zeitpunkten wird durch ein Programm unsere Torsteuerung in den "Entsorgermodus" versetzt,
um ungehinderten Zugang zum Grundstück zu gewähren.
Diese Termine pflege ich von Hand ein und schicke in einem gesonderten Programm drei Tage vor dem
nächsten anstehendenTermin eine Nachricht an alle "Betroffenen".
Nun war mein Gedanke, in einem Programm erst hinweisen zu lassen und dann mit drei Tagen Verzögerung den o.g. Modus zu aktivieren.
Im Moment sind das zwei Programme mit zwei Terminlisten.
Das dieses Verfahren Fallstricke wie z.Bsp. einen zwischenzeitlichen Reboot ist mir schon bewusst. Ist erstmal eine grundsätzlichen Frage.
MfG AF
Zu diesen Zeitpunkten wird durch ein Programm unsere Torsteuerung in den "Entsorgermodus" versetzt,
um ungehinderten Zugang zum Grundstück zu gewähren.
Diese Termine pflege ich von Hand ein und schicke in einem gesonderten Programm drei Tage vor dem
nächsten anstehendenTermin eine Nachricht an alle "Betroffenen".
Nun war mein Gedanke, in einem Programm erst hinweisen zu lassen und dann mit drei Tagen Verzögerung den o.g. Modus zu aktivieren.
Im Moment sind das zwei Programme mit zwei Terminlisten.
Das dieses Verfahren Fallstricke wie z.Bsp. einen zwischenzeitlichen Reboot ist mir schon bewusst. Ist erstmal eine grundsätzlichen Frage.
MfG AF
Zuletzt geändert von AF-Mobil am 16.01.2022, 11:56, insgesamt 1-mal geändert.
- Black
- Beiträge: 5460
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 417 Mal
- Danksagung erhalten: 1069 Mal
- Kontaktdaten:
Re: Timer mit Verzögerung um mehr als 24h
Was ginge, wenn du mit 2 Programmen arbeitest:
Ist:
Programm 1 wird 72 Stunden vor Programm 2 aufgerufen.
Programm 1 wird aus einer ZeitTabelle bedient
Ich würde das ist so lassen, aber:
in Programm 1 nimmst du den Aktuellen Istzeitpunkt, Addierst dort 72 Stunden dazu, und lädst mit diesem Wert das auslösende Zeitmodul von Programm2,welches dir dann brav 3 Tage später triggern wird und die Aktion auslösen wird.
ein Neustart zwischen den 3 Tagen wäre kein Problem, weil zum Zeitpunkt 1 wäre ja der zeitpunkt 2 absolut berechnet worden.
EIn Ansatz, wie es geht, steht in meiner SIg mit dem AstroZeitmodul, da benutze ich das gleiche Prinzip
Black
Ist:
Programm 1 wird 72 Stunden vor Programm 2 aufgerufen.
Programm 1 wird aus einer ZeitTabelle bedient
Ich würde das ist so lassen, aber:
in Programm 1 nimmst du den Aktuellen Istzeitpunkt, Addierst dort 72 Stunden dazu, und lädst mit diesem Wert das auslösende Zeitmodul von Programm2,welches dir dann brav 3 Tage später triggern wird und die Aktion auslösen wird.
ein Neustart zwischen den 3 Tagen wäre kein Problem, weil zum Zeitpunkt 1 wäre ja der zeitpunkt 2 absolut berechnet worden.
EIn Ansatz, wie es geht, steht in meiner SIg mit dem AstroZeitmodul, da benutze ich das gleiche Prinzip
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
- Black
- Beiträge: 5460
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 417 Mal
- Danksagung erhalten: 1069 Mal
- Kontaktdaten:
Re: Timer mit Verzögerung um mehr als 24h
Da es ja abgewandelt auch von allgemeinem Interesse ist, mal einen schnellen dokumentierten Lösungsanatz von mir, sollte so Nachvollziehbar sein und auch für eigene Anwendungen abwandelbar.
Fangen wir an wie in dem Rolladen Astroscript auch: ein Programm 2, von mir in dem Fall genannt: PRG2_Delay3Tage, wird der Name geändert, muss natürlich auch das Script später auf den Namen angepasst werden.
EIn primitiv Programm, wichtig ist, das Zeitmodul muss GANZ OBEN stehen, also Rule0, Condition0 und SInglecondition0.
ich habs mal angelegt als Zeitspanne zwischen 9 und 17.00 Uhr, ist für die Manipulation nachher aber irrelevant, Zeitpuntkt und konkrete Uhrzeit geht genauso. WIchtig ist nur das : einmalig am mit Datum
Beim Triggern würde das Programm dann das Script: TUE ETWAS auslösen, den AUsführungsteil natürlich auch mit eigenem Code versehen
Das Programm also ganz normal in der WEB-UI anlegen.
Nun ist allerdings ein Editor und Inspektor ausserhalb der Möglichkeiten der WebUI wesentlich hilfreicher.
Schnell das Zeitmodul kontrolliert, der Auslösezeitpunkt wäre heute 17:00 Uhr. Klar, ich habs heute kurz vor eins angelegt.
Nun brauchen wir ein Script, welches uns nun das Zeitmodul, welches eigentlich statisch ist, ein bisschen dynamisch modifiziert. Geht alles mit bisschen scripten.
Angepasst werden sollte natürlich:
Der Programmname des Programms mit dem Zeitmodul (hier PRG2_Delay3Tage)
und die gewünschte Verzögerung in Tagen in der Zeitle (86400*3) siehe auch der KOmmentar
Aufgerufen werden müsste das Script dann in dem Programm 1, welches dir die Erinnerung schickt und von dem Calender bedient wird.
Nach erfolgreichen durchlauf (hier im Scripteditor)
sollte das Zeitmodul nun geändert sein und wenn alles richtig ist, auf dem 19.01.2022 auf 09:00 stehen:
Blick im SDV verrät, hat geklappt:
in der WebUI ist das Zeitmodul nun auch mit dem neuen Auslösezeitpunkt sichtbar:
Black
Fangen wir an wie in dem Rolladen Astroscript auch: ein Programm 2, von mir in dem Fall genannt: PRG2_Delay3Tage, wird der Name geändert, muss natürlich auch das Script später auf den Namen angepasst werden.
EIn primitiv Programm, wichtig ist, das Zeitmodul muss GANZ OBEN stehen, also Rule0, Condition0 und SInglecondition0.
ich habs mal angelegt als Zeitspanne zwischen 9 und 17.00 Uhr, ist für die Manipulation nachher aber irrelevant, Zeitpuntkt und konkrete Uhrzeit geht genauso. WIchtig ist nur das : einmalig am mit Datum
Beim Triggern würde das Programm dann das Script: TUE ETWAS auslösen, den AUsführungsteil natürlich auch mit eigenem Code versehen
Das Programm also ganz normal in der WEB-UI anlegen.
Nun ist allerdings ein Editor und Inspektor ausserhalb der Möglichkeiten der WebUI wesentlich hilfreicher.
Schnell das Zeitmodul kontrolliert, der Auslösezeitpunkt wäre heute 17:00 Uhr. Klar, ich habs heute kurz vor eins angelegt.
Nun brauchen wir ein Script, welches uns nun das Zeitmodul, welches eigentlich statisch ist, ein bisschen dynamisch modifiziert. Geht alles mit bisschen scripten.
Code: Alles auswählen
!DemoScript Zeitmodul Ändern für AF-Mobil
! by Black 2022
object oPRG=dom.GetObject(ID_PROGRAMS).Get("PRG2_Delay3Tage");
if (oPRG) {
object oSCND= oPRG.Rule().RuleConditions().GetAt(0).CndSingleConditions().GetAt(0);
if (oSCND.LeftValType()==ivtCurrentDate) { !Das Zeitmodul steht an der richtigen Stelle
object oCalDP= dom.GetObject(oSCND.RightVal1());
if (oCalDP) {
if (oCalDP.Type()==OT_CALENDARDP) {
! Das *3 ist die Verzögerung in Tagen zum jetzigen Zeitpunkt
time Later= ((localtime+(86400*3)).Format("%Y-%m-%d 00:00:00")).ToTime();
oCalDP.CalRepeatTime(Later);
dom.RTUpdate(2);
WriteLine ("Erfolgreich um 3 Tage versetzt angelegt");
}
}
}
}
Der Programmname des Programms mit dem Zeitmodul (hier PRG2_Delay3Tage)
und die gewünschte Verzögerung in Tagen in der Zeitle (86400*3) siehe auch der KOmmentar
Aufgerufen werden müsste das Script dann in dem Programm 1, welches dir die Erinnerung schickt und von dem Calender bedient wird.
Nach erfolgreichen durchlauf (hier im Scripteditor)
sollte das Zeitmodul nun geändert sein und wenn alles richtig ist, auf dem 19.01.2022 auf 09:00 stehen:
Blick im SDV verrät, hat geklappt:
in der WebUI ist das Zeitmodul nun auch mit dem neuen Auslösezeitpunkt sichtbar:
Black
Zuletzt geändert von Black am 16.01.2022, 22:29, insgesamt 1-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 331
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 23 Mal
Re: Timer mit Verzögerung um mehr als 24h
HI
viewtopic.php?f=31&t=31640
Eine Termiliste und 1 Prog.
Prog:
Thomas
Geht einfach mit dem Kalenderscript ohne HandstandAF-Mobil hat geschrieben: ↑16.01.2022, 11:03Diese Termine pflege ich von Hand ein und schicke in einem gesonderten Programm drei Tage vor dem
nächsten anstehendenTermin eine Nachricht an alle "Betroffenen".
Nun war mein Gedanke, in einem Programm erst hinweisen zu lassen und dann mit drei Tagen Verzögerung den o.g. Modus zu aktivieren.
Im Moment sind das zwei Programme mit zwei Terminlisten.
viewtopic.php?f=31&t=31640
Eine Termiliste und 1 Prog.
Prog:
Code: Alles auswählen
WENN
IST-Abfall-Sonstiges-Tage = 3
DANN
Nachricht
SONST WENN
IST-Abfall-Sonstiges-HEUTE = WAHR
DANN
Tor auf
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
-
- Beiträge: 9534
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 692 Mal
- Danksagung erhalten: 1604 Mal
Re: Timer mit Verzögerung um mehr als 24h
Naja, nicht jeder setzt gerne Skripte ein, die er nicht versteht - und 470 Systemvariablen zu bedienen - im Ernst WER braucht sowas?
Ich bevorzuge da auch lieber überschaubare Lösungen, die ich auch selber warten und anpassen kann. Geht evt. dem einen oder anderen auch so.
Ich bevorzuge da auch lieber überschaubare Lösungen, die ich auch selber warten und anpassen kann. Geht evt. dem einen oder anderen auch so.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 331
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 23 Mal
Re: Timer mit Verzögerung um mehr als 24h
Hi
Brauchst ja nicht alle anlegen sondern nur wo du brauchen tust.
470 ist ja kein muss sondern ein kann.
Brauchst ja nicht alle anlegen sondern nur wo du brauchen tust.
Thomaskomplett flexibel
alle Einstellungen können per Systemvariablen durchgeführt werden
es müssen nur die Systemvariabeln angelegt werden, welche man selbst auch tatsächlich benötigt
bedient bis zu 451 Systemvariabeln in einem Aufwasch
Flexibilität benötigt keine Änderungen am Skript selbst.
Benutzer kann den Typ der Systemvariabeln für Ein- und Ausgaben in den meisten Fällen selbst festlegen
Namen der Systemvariabeln bei Bedarf frei wählbar
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
-
- Beiträge: 315
- Registriert: 25.11.2016, 19:52
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 20 Mal
Re: Timer mit Verzögerung um mehr als 24h
Hallo und danke für die umfangreiche Hilfe, heute komme ich leider nicht mehr dazu, die Lösung zu übernehmen bzw. anzupassen.
Die Tage wird's bei mir ruhiger, dann probier ich's mal aus.
Ist also anzunehmen, dass die RaspberryMatic sich in dem Fall wie das Zeitmodul der CCU... verhält?!
Danke und einen schönen Sonntag noch, AF
Die Tage wird's bei mir ruhiger, dann probier ich's mal aus.
Ist also anzunehmen, dass die RaspberryMatic sich in dem Fall wie das Zeitmodul der CCU... verhält?!
Danke und einen schönen Sonntag noch, AF
-
- 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: Timer mit Verzögerung um mehr als 24h
Pragmatischste Lösung:
Für jeden Termin ein(zwei) Programm(e) mit Trigger "Zeitsteuerung - einmalig am..."
Für jeden Termin ein(zwei) Programm(e) mit Trigger "Zeitsteuerung - einmalig am..."
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.