Hi,
ich versuche auch gerade mal ein tcl Script zu erstellen. Ich habe aber noch immer nicht begriffen, wie ich an die Werte der HM-Commandos komme. Egal was ich probiere es klappt nicht.
Ansonsten kann ich aber Geräte schalten Variablen setzen... Nur eben ich bekomme keine Rückmeldung.
Anbei ein Testscript:
Code: Alles auswählen
#!/bin/tclsh
load tclrega.so
array set values [rega_script {
var weck=dom.GetObject("Weckzeit").Variable();
var set_weck=dom.GetObject("Weckzeit").State(900);]
}]
set x=$values(weck)
set x=$values(set_weck)
set y 12345678
puts "Das Ergebnis"
puts "Weck = $weck"
puts "SetWeck= $set_weck"
puts "y = $y"
y wird korrekt ausgegeben. Aber die Ergebnisse der HM Befehle führen zu einem Fehler. Wenn ich dann direkt $values(weck) ausgebe erhalte ich null.
Wie sieht es denn aus, wenn ich nur einen HM Befehl habe und den per:
#!/bin/tclsh
load tclrega.so
set set_weck rega_script {var set_weck=dom.GetObject("Weckzeit").State(800);}
puts "Das Ergebnis"
puts "SetWeck= $set_weck"
puts "y = $y"
versuche das abzufragen? Hier bekomme ich den Fehler angezeigt, dass der Variablenwert fehlt. Das bedeutet wohl, dass rega_script nichts zurückliefert.
Auch wenn ich nur: set set_weck rega_script {dom.GetObject("Weckzeit").State(800);} benutze, liefert rega_script kein Ergebnis.
Dann hätte ich noch eine ganz wichtige Frage!
Ich möchte gerne das Script aufrufen und Parameter übergeben. Wie geht das und in welchen Variablen knn ich die Parameter später auslesen?
Ciao, Christoph.