Timer Scheduler - Verzögerungen aus HM-Script V1.3
Moderator: Co-Administratoren
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.1
sleep wäre nicht so gut, da die rega und die script engine keine threading behersscht.
es geht heute auch schon, aber das ist nicht grad selbsterklärung und die, die es wissen wie, reden da nicht drüber. (u.a. auch wegen supportfragen, die dann zwangsweise kommen würden).
black
es geht heute auch schon, aber das ist nicht grad selbsterklärung und die, die es wissen wie, reden da nicht drüber. (u.a. auch wegen supportfragen, die dann zwangsweise kommen würden).
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
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.1
Sowas kann ich natürlich implementieren und darüber hatte ich auch schon nachgedacht. Das Problem hier ist allerdings das das ausführen eines solchen (sleep) Befehls einem kompletten Lahmlegen der ReGaHss für x Millisekunden entspricht weil alle HM-Skripte ja in ein und dem selben Thread ausgeführt werden und daher dann ein anderes Programm/Skript während eines solchen sleep() in einem anderen Programm nicht ausgeführt wird.
Praktisch kann man aber auch ohne solch eine neue sleep() Funktion in der ReGa mit folgendem system.Exec() Aufruf im Prinzip bereits jetzt das selbe erreichen:
Code: Alles auswählen
system.Exec("sleep 0.2");
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.1
naja, sleep kann es ja nicht sein.
das blockiert die ja die rega.
und wenn das aufgrund von funkhygene machen willst biste schnell bei delays von 1000- 2000ms... bei 10 Geräten in einem Gewerk schläft dann alles.
ne, das ist kein sinniger Ansatz.
Drum ja auch seinerzeit das TCL Script, welches quasi einen TCL Thread startet, der unabhängig von der Rega läuft und dort die Datenpunkte nach dem Zeitschema gesetzt werden.
Schöner wäre es natürlich, wenn du (jens) den Zugang auf den Rega Internen Scheduler durch neue (oder auch dokumentierte) alte Methoden in einer Form ermöglichst, dass nicht nur eine Hand voll Eingeweihter dort mehr oder weiniger erfolgreich derartige Umsetzungen durchführen können.
Black
Ich weiss auch, wie ich auf den Rega Scheduler einschlagen muss, muss ein Zeitevent hinzubekommen oder mit welchen methoden ich das verzögert um in Programmen aktivieren oder verändern kann. Diese Wege sind allerdings arg verschlugen und grade für Script Anfäner ein garant für ein Desaster. Ich benutz selber für Zeitabläufe meinen TCL Scheduler, vllt nicht "DIE" elegante Lösung, aber die läuft. paarZeilen Code, set it and forget it. es wird tun.
das blockiert die ja die rega.
und wenn das aufgrund von funkhygene machen willst biste schnell bei delays von 1000- 2000ms... bei 10 Geräten in einem Gewerk schläft dann alles.
ne, das ist kein sinniger Ansatz.
Drum ja auch seinerzeit das TCL Script, welches quasi einen TCL Thread startet, der unabhängig von der Rega läuft und dort die Datenpunkte nach dem Zeitschema gesetzt werden.
Schöner wäre es natürlich, wenn du (jens) den Zugang auf den Rega Internen Scheduler durch neue (oder auch dokumentierte) alte Methoden in einer Form ermöglichst, dass nicht nur eine Hand voll Eingeweihter dort mehr oder weiniger erfolgreich derartige Umsetzungen durchführen können.
Black
Ich weiss auch, wie ich auf den Rega Scheduler einschlagen muss, muss ein Zeitevent hinzubekommen oder mit welchen methoden ich das verzögert um in Programmen aktivieren oder verändern kann. Diese Wege sind allerdings arg verschlugen und grade für Script Anfäner ein garant für ein Desaster. Ich benutz selber für Zeitabläufe meinen TCL Scheduler, vllt nicht "DIE" elegante Lösung, aber die läuft. paarZeilen Code, set it and forget it. es wird tun.
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
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.1
Hallo Jens,jmaus hat geschrieben: ↑13.09.2018, 22:28Sowas kann ich natürlich implementieren und darüber hatte ich auch schon nachgedacht. Das Problem hier ist allerdings das das ausführen eines solchen (sleep) Befehls einem kompletten Lahmlegen der ReGaHss für x Millisekunden entspricht weil alle HM-Skripte ja in ein und dem selben Thread ausgeführt werden und daher dann ein anderes Programm/Skript während eines solchen sleep() in einem anderen Programm nicht ausgeführt wird.
Praktisch kann man aber auch ohne solch eine neue sleep() Funktion in der ReGa mit folgendem system.Exec() Aufruf im Prinzip bereits jetzt das selbe erreichen:
Dieser system.Exec() Aufruf führt z.B. dazu das die Abarbeitung eines Skriptes 200 Millisekunden unterbrochen wird.Code: Alles auswählen
system.Exec("sleep 0.2");
vielen Dank für die Info! Ok ich wusste nicht, dass die HM-Script-Engine nicht pro ausgeführtem Script in einem extra Thread unabhängig vom Rest durchläuft. Dies ist dann natürlich subobtimal mit sleep!
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
Version 1.3 siehe erster Post
Iteration über Gewerke, Räume und Favoriten.
Zusätzlich Option, um sowohl Level als auch State in einem Druchlauf behandeln zu können (Dimmer)
Black
Iteration über Gewerke, Räume und Favoriten.
Zusätzlich Option, um sowohl Level als auch State in einem Druchlauf behandeln zu können (Dimmer)
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
-
- Beiträge: 10659
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
Hi Black,
sag mal, wäre es auch möglich, den Scheduler dahingehend zu erweitern, dass er auch über einzelne Kanäle eines Geräts läuft? Es gibt ja z.B. einige Geräte mit 4 oder 8 Schaltkanälen. Wenn man dann damit so etwas, wie ein Lauflicht umsetzen wollte, wäre diese Option ggf. sehr hilfreich. Toll wäre es, wenn man dann optional auch noch einstellen könnte, wie lange der vorherige Kanal noch on bleibt, nachdem der nachfolgende auf on geschaltet wurde. Auch wäre es super, wenn man die Reihenfolge mit einem simplen Flag umschalten könnte und wenn man eine Gesamtdauer für Wiederholungen der Schaltfolge setzen könnte.
Nur so eine Idee.
Gruß,
Thorsten
sag mal, wäre es auch möglich, den Scheduler dahingehend zu erweitern, dass er auch über einzelne Kanäle eines Geräts läuft? Es gibt ja z.B. einige Geräte mit 4 oder 8 Schaltkanälen. Wenn man dann damit so etwas, wie ein Lauflicht umsetzen wollte, wäre diese Option ggf. sehr hilfreich. Toll wäre es, wenn man dann optional auch noch einstellen könnte, wie lange der vorherige Kanal noch on bleibt, nachdem der nachfolgende auf on geschaltet wurde. Auch wäre es super, wenn man die Reihenfolge mit einem simplen Flag umschalten könnte und wenn man eine Gesamtdauer für Wiederholungen der Schaltfolge setzen könnte.
Nur so eine Idee.
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
hi Thorsten, das geht jetzt auch schon, da musst du nur vorher mit einem HM script vorarbeit leisten.
dazu müsstest du dem Scheduler beim Aufruf die einzelnen Datenpunkte, die Verzögerung und die Einschaltdauer mitgeben, set it and forget it, dann läuft das dann im Hintergrund ab
# tclsh /usr/local/timeschedule.tcl [-c] [-d] "ID1 T1 V1 (ED)[, ID2 T2 V2 (ED2)]"
# hierbei bedeutet ID1: ID des zu setzenden Datenpunktes (es wird testet, ob der DP Systemvariable oder Datenpunkt vom Kanal ist
# T1 : Verzögerungszeit in Sekunden
# V1 : neuer Wert
# ED : optinal Einschaltdauer
# ID1 T1 und V1 jeweils getrennt durch Leerzeichen
# bei mehreren Werten, komma, dann ID2 T2 und V2 gemäß wie oben
#
greetz, Black
dazu müsstest du dem Scheduler beim Aufruf die einzelnen Datenpunkte, die Verzögerung und die Einschaltdauer mitgeben, set it and forget it, dann läuft das dann im Hintergrund ab
# tclsh /usr/local/timeschedule.tcl [-c] [-d] "ID1 T1 V1 (ED)[, ID2 T2 V2 (ED2)]"
# hierbei bedeutet ID1: ID des zu setzenden Datenpunktes (es wird testet, ob der DP Systemvariable oder Datenpunkt vom Kanal ist
# T1 : Verzögerungszeit in Sekunden
# V1 : neuer Wert
# ED : optinal Einschaltdauer
# ID1 T1 und V1 jeweils getrennt durch Leerzeichen
# bei mehreren Werten, komma, dann ID2 T2 und V2 gemäß wie oben
#
greetz, 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
-
- Beiträge: 10659
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
Sprich, ich kann dem TCL-Skript auch direkt noch mehr Datenpunkte ID3, ID4,... mitgeben?
Hintergrund meiner Frage ist, dass ich gerne mit einem 4-Kanal-Funk-Schaltaktor für Batteriebetrieb HM-LC-Sw4-Ba-PCB ein Lauflicht für unsere Treppe realisieren möchte, das mit flexiblen Laufzeiten sowohl nach oben als auch nach unten laufen kann.
Ach so, funktionieren eigentlich auch Verzögerungszeiten < 1 Sekunde?
Hintergrund meiner Frage ist, dass ich gerne mit einem 4-Kanal-Funk-Schaltaktor für Batteriebetrieb HM-LC-Sw4-Ba-PCB ein Lauflicht für unsere Treppe realisieren möchte, das mit flexiblen Laufzeiten sowohl nach oben als auch nach unten laufen kann.
Ach so, funktionieren eigentlich auch Verzögerungszeiten < 1 Sekunde?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 393
- Registriert: 25.01.2017, 10:51
- Wohnort: Bei Berlin
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 8 Mal
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
Ich hoffe, meine Frage ist hier richtig.dtp hat geschrieben: ↑24.05.2019, 10:34Sprich, ich kann dem TCL-Skript auch direkt noch mehr Datenpunkte ID3, ID4,... mitgeben?
Hintergrund meiner Frage ist, dass ich gerne mit einem 4-Kanal-Funk-Schaltaktor für Batteriebetrieb HM-LC-Sw4-Ba-PCB ein Lauflicht für unsere Treppe realisieren möchte, das mit flexiblen Laufzeiten sowohl nach oben als auch nach unten laufen kann.
Ach so, funktionieren eigentlich auch Verzögerungszeiten < 1 Sekunde?
Hi Thorsten,
könnte man das Script auch zusammen mit deinem Beschattungsscript nutzen, um die verschiedenen Rollo-Aktoren bei größeren Aktionen zeitversetzt (vielleicht 1 Sekunde) nacheinander zu schalten?
Nur so eine Idee
Gruß an Black für das Script
Martin
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200
- Black
- Beiträge: 5480
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 424 Mal
- Danksagung erhalten: 1074 Mal
- Kontaktdaten:
Re: Timer Scheduler - Verzögerungen aus HM-Script V1.3
könnte man, müsste thorsten dann aber anbinden.
Der Scheduler von mir steuert bei mir u.A. auch die Rollos, das Licht bei leaving Home bzw Coming Home , sowie einige Temperaturschaltungen im Anbau bei mir
Der Scheduler von mir steuert bei mir u.A. auch die Rollos, das Licht bei leaving Home bzw Coming Home , sowie einige Temperaturschaltungen im Anbau bei mir
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