CUxD Timer - Befehlszeilen direkt aufrufen lassen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Sicherheitsmann
Beiträge: 8
Registriert: 31.08.2016, 14:34

CUxD Timer - Befehlszeilen direkt aufrufen lassen

Beitrag von Sicherheitsmann » 25.10.2016, 16:37

Hallo allerseits,

schlussendlich bin ich, nachdem die Zeitschaltung der CCU2 mich nur im Stich gelassen hat (habe diese ohne installiertem CUxD nicht getestet), beim CUxD Timer gelandet. Der Funktioniert auch eigentlich wunderbar.

Ich habe mir ein simples Programm erstellt, um nach Ablauf einen Tastendruck auszulösen, das mir weitere Programme und Befehle ausführt.

Zusätzlich sollte ich erwähnen, dass der Tastendruck manchmal in 4s- oder 10s-Abständen ausgeführt wird. Dies lässt sich nicht vermeiden. Und wie gesagt, reagiert der Timer auch wunderbar, ist im Log auch aufgeführt, nur der Tastendruck reagiert manchmal nicht. Wenn der Timer wiederholt wird kommt es vor, dass der Tastendruck nach mehreren Anläufen dann doch ausgelöst wird. Dh. wie schon öfters hier erwähnt, läuft die "CCU-Logikschicht" nicht so recht.

Nun bin ich auf mehrere Beiträge von uwe111 gestoßen:
...
Als Alternative kannst Du vom Timer auch direkt Befehlszeilen aufrufen lassen. Das funktioniert zuverlässig und umgeht die CCU-Logikschicht...
Ich befasse mich mit dem Thema CUxD schon etwas länger, bin jedoch etwas überfordert, was dieses direkte Aufrufen angeht.
Wenn ich das richtig verstehe, könnte ich in den Timereinstellungen in der WebUI unter "SYSTEM|CMD_EXEC " einen direkten Befehl bei Timerablauf ausführen. Ich möchte auch nur eine virtuelle Taste betätigen. Kann ich dies mit einem direkten Befehl bewerkstelligen, ohne auf irgendwelche TCL-Dateien zurückzugreifen?
Ich stelle mir das unter der Verwendung der folgenden Programmzeile vor (hab ich natürlich schon unter SYSTEM|CMD_EXEC eingefügt und funktioniert nicht :roll: ):

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:2.PRESS_LONG").State(1);
Freue mich auf Eure Antworten !

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: CUxD Timer - Befehlszeilen direkt aufrufen lassen

Beitrag von DrTob » 25.10.2016, 18:29

Alle 4s einen Tastendruck auslösen der dann weitere Programme startet wird vermutlich egal wie du es anstellst zu Problemen führen.
Du solltest evtl. mal das Ziel/den Zweck erläutern.

Sicherheitsmann
Beiträge: 8
Registriert: 31.08.2016, 14:34

Re: CUxD Timer - Befehlszeilen direkt aufrufen lassen

Beitrag von Sicherheitsmann » 26.10.2016, 08:44

Ich versuche mich seit mehreren Wochen an einer Ereigniskette, die in mehrere Stufen und Zeitintervalle eingeteilt ist.
In der ersten Stufe wird das Licht eingeschaltet, nach 4s eine MP3_1 und nach zusätzlichen 10s eine MP3_2 abspielt usw.

Ob in eine höhere/zurück in einer niedriegere Stufe gewechselt werden soll oder nicht, soll erst nach Ablauf der 4s/10s entschieden werden. Dh. innerhalb des Zeitintervalles der jeweiligen Stufe kann eine Taste betätigt werden, welche eine Systemvariable auf wahr setzt. Nach Ablauf des Zeitintervalles greift ein Programm auf diese Systemvariable zurück, entscheidet ob höher/niedriger geschaltet wird und setzt diese Variable zurück.
Um diese Kette zu ermöglichen, greife ich insgesamtauf 11 Programme und 6 Systemvariablen zurück. Nebenbei speichere ich nur noch ab und zu die DC und das Systemprotokoll ab.

Leider habe ich mir schon gedacht, dass die CCU2 bei meinen Versuchen an ihre Grenzen gebracht wird. Da mir das "Basteln" an der CCU recht viel Spaß bereitet, möchte ich trotzdem versuchen die Programme weiter zu optimieren, andere Verküpfungen/Programme auszuprobieren und die CCU2 an Ihre absolute Schmerzensgrenze bringen, wenn nötig :mrgreen: .

Kurze Frage nebenbei:
Spielt die Anordnung der Bedinungen in einem Programm eine Rolle (bezüglich der Leistung)? Sprich, ist es sinnvoller die "nur prüfen" Bedingungen vor "bei Änderung auslösen", oder umgekehrt, einzutragen? Es würde mich zwar irgendwo wundern, aber mittlerweile auch nicht wirklich überraschen...

Sicherheitsmann
Beiträge: 8
Registriert: 31.08.2016, 14:34

Re: CUxD Timer - Befehlszeilen direkt aufrufen lassen

Beitrag von Sicherheitsmann » 11.11.2016, 12:32

Vielleicht interessiert den einen oder anderen noch mein Problem bzw. ist an der Lösung interessiert:

Ich habe das Problem gelöst, indem ich auf den CUxD Timer verzichtet und mir zig Programme mit der Funktion "verzögert um" zusammengebastelt habe. Die wiederum betätigen immer wieder ein CUxD Gerät und schalten dieses ein. Die anderen Programme reagieren auf das Aktualisieren dieses Schaltzustandes und lösen mir meine ursprünglichen Aktionen (Licht und Ton) aus.

Da verursachen auch die 4 Sekunden Intervalle und die vielen Variablen (, deren ständige Rücksetzung) sowie Programme überhaupt keine Probleme.
Reagierte zuvor manchmal der Taster nach der CUxD-Timer-Auslösung nicht, oder wurde der Taster von der CCU2 einfach ignoriert, habe ich mit diesem Vorgehen keinen einzigen Aussetzer gehabt.

Antworten

Zurück zu „CUxD“