es gibt ja das unter TIPS&TRICKS seinerzeit von owagner programmierte Skript, um die alten Raumthermostat in der Betriebsart umzuschalten. Dieses:
Code: Alles auswählen
# Aufruf für ein putParamset (z.B. via system.Exec)
# =================================================
# tclsh setparam <addresse> <item> <datentyp> <wert>
# z.B.
# tclsh setparam GEQ004711:2 MODE_TEMPERATUR_REGULATOR int 1
# Diese Version ist fuer Funk. Fuer Wired muss unten der Port von 2001 auf 2000 geaendert werden.
#
load tclrpc.so
set item [lindex $argv 1]
set datatype [lindex $argv 2]
set val [lindex $argv 3]
set cmd "{$item {$datatype $val}}"
xmlrpc http://127.0.0.1:2001/ putParamset [list string [lindex $argv 0]] [list string "MASTER"] [list struct $cmd]
Code: Alles auswählen
var stdout;
var stderr;
addr=dom.GetObject("VJ.Raumthermostat").Address();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl "+addr+":2 MODE_TEMPERATUR_REGULATOR int 2");
diesen Fehler:
Code: Alles auswählen
Error 1 at row 5 col 149 near ^+":2 MODE_TEMPERATUR_REGULATOR int 2");
Parse following code failed:
var stdout;
var stderr;
addr=dom.GetObject("VJ.Raumthermostat").Address();
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/setparam.tcl "+addr+":2 MODE_TEMPERATUR_REGULATOR int 2");
Das CuxD-Gerät ist auf der raspimatic angelegt.
addr ist richtig befüllt, das habe ich mit einem WriteLine getestet.
Danke für die Hilfe!