Hallo,
@urpils. Du hast recht. In Deiner Anleitung wird der Timer-String nur im aufrufenden HM-Prg übergeben und so funktioniert das auch. Ich habe deine Anleitung und die CUxD-Dok zusammengewürfelt, daher das Missverständnis.
@uwe111. Das Rätsel der verschwundenen Parameter ist auch gelöst. Es liegt an der Verwendung von Anführungszeichen bei CMD_EXEC statt deren Ersatz durch "~22". Beispiel:
Code: Alles auswählen
CUX2800001:7 state(0) timer(2040s) set(300r19*300/300r19*300):0 repeat CMD.system(60s,extra/timer.tcl "IO712_5:16.R33-GaubeSued" $STATE$)
CUX2800001:8 state(1) timer(3240s) set(400r19*300/400r19*400):1 repeat CMD.system(60s,extra/timer.tcl IO712_5:17.R34-SchieneL1 $STATE$)
Der ersten Zeile entspricht in WebUI bei den Timer-Eigenschaften der Anzeige
(ab dem Anführungszeichen leer, funktioniert aber trotzdem)
Die zweite Zeile entspricht der Anzeige
Code: Alles auswählen
SYSTEM|CMD_EXEC extra/timer.tcl IO712_5:17.R34-SchieneL1 $STATE$
(also alles, wie es sein soll.)
Mit einfachen Anführungszeichen tritt das Problem nicht auf.
Jetzt geht im Prinzip alles, ein paar Fragen habe ich aber noch.
* CMD_EXEX über die Seriennummer kriege ich nicht zum Laufen. Der Eintrag
"extra/timer.tcl BidCos-Wired.JEQ0713135:17.STATE $STATE$" führt im Syslog zur Fehlermeldung
"Error: IseESP::ScriptRuntimeError: dom.GetObject("BidCos-RF.JEQ0713135:17.STATE").State("1");var ret = 1; [iseESPexec.cpp:12575]"
Wenn ich ".STATE" weglasse, geht auch nichts. Fehlermeldung:
"Error: IseESP::ScriptRuntimeError: dom.GetObject("BidCos-Wired.JEQ0713135:17").State("1");var ret = 1; [iseESPexec.cpp:12575]"
Über den Aufruf mit den Kanalnamen geht es aber, also ist das jetzt eher eine Frage der Neugier als der Funktion.
* Um die Dinge übersichtlicher zu gestalten, würde ich Geräteverknüpfungen und Timerstrings gerne in einem kommentierten Skript versammeln und dazu dem Timer den Inhalt von CMD_EXEC aus einem Skript zuweisen. Mit zum Beispiel
Code: Alles auswählen
domGetObject("CUxD.CUX2800001:1.CMD_EXEC").State(300r19*300/300r19*300)
geht das schon mal nicht. Das kommt ja bei der Auflistung der DPs des Kanltys SYSTEM in der CUxD auch nicht vor. Aber lässt sich das anders bewerkstelligen?
Grüße, EckartS