ich bin absoluter Neuling und bekomme exakt einen Fehler, der auch im Eingangspost genannt ist (habs offen gestanden schon in einem anderen Post gemeldet, aber da scheinen nicht mehr so viele mitzulesen):
Code: Alles auswählen
syntax error in expression "int(null)"
while executing
"expr int($remote_counter)"
invoked from within
"set remote_counter [ expr int($remote_counter)]"
(file "/usr/local/addons/rollo/somfy.tcl" line 21)
Habe die Parameter
Code: Alles auswählen
TTYPARAM=ttyUSB0:38400:8N1
TTYASSIGN=ttyUSB0:CUX
Code: Alles auswählen
Dec 25 20:28:44 ccu3-webui daemon.info cuxd[655]: USB(1-1.5/ttyUSB0) NANO CUL connect(38400:8N1)
Code: Alles auswählen
Dec 25 21:07:57 ccu3-webui local0.err ReGaHss: ERROR: ScriptRuntimeError: var remote_counter = dom.GetObject("Somfy").Value(); [ExecError():iseESPexec.cpp:12798]
Code: Alles auswählen
#!/bin/tclsh
#tclsh /usr/local/addons/rollo/somfy.tcl CUX2801004:1 Somfy STOP A0 AA0001
#tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 AA0001
load tclrega.so
#set device_name "CUX4000001"
set device_name [lindex $argv 0]
set device_sysvar_name [lindex $argv 1]
set device_cmd [lindex $argv 2]
set device_remote_enc [lindex $argv 3]
set device_remote_id [lindex $argv 4]
# command-line for reading rolling counter sysvar
set cmd "var remote_counter = dom.GetObject(\"$device_sysvar_name\").Value();"
# read sysvar
array set values [rega_script $cmd ]
set remote_counter $values(remote_counter)
# convert to integer
set remote_counter [ expr int($remote_counter)]
#puts $remote_counter
# convert to HEX
set remote_counter_hex [ format %04X $remote_counter ]
#puts $remote_counter_hex
switch $device_cmd {
"OPEN" { set device_cmd_hex "20" }
"1000" { set device_cmd_hex "20" }
"CLOSE" { set device_cmd_hex "40" }
"0" { set device_cmd_hex "40" }
"PROG" { set device_cmd_hex "80" }
"MY" { set device_cmd_hex "10" }
"500" { set device_cmd_hex "10" }
"STOP" { set device_cmd_hex "11" }
default { puts "WRONG SOMFY COMMAND" }
}
set somfy_cmd "\"Ys$device_remote_enc$device_cmd_hex$remote_counter_hex$device_remote_id\""
puts $somfy_cmd
set cmd "dom.GetObject(\"CUxD.$device_name.SEND_CMD\").State($somfy_cmd);"
puts $cmd
#array set values [ rega_script $cmd ]
rega_script $cmd
#rega_script { dom.GetObject("CUxD.CUX4000001:1.SEND_CMD").State("YsA0200018ABCDEF");}
set remote_counter [ expr $remote_counter + 1 ]
puts $remote_counter
set cmd ""
append cmd "var i = dom.GetObject('$device_sysvar_name');"
append cmd "i.State('$remote_counter');"
array set values [rega_script $cmd ]