ich bekomme das nicht zu laufen.
Ich habe das hier zuletzt veröffentlichte Script genommen und bekomme eine Fehlermeldung.
CCU 3.67.10
PS das Script von Jens von der ersten Seite bringt die gleiche Fehlermeldung.
Code: Alles auswählen
# /tmp/HMIP_check.tcl
Start
000EDD89B3A016
bad option "unset": must be anymore, donesearch, exists, get, names, nextelement, set, size, or startsearch
while executing
"array unset paramsetDesc"
("foreach" body line 7)
invoked from within
"foreach _device $devices {
array set device $_device
set address $device(ADDRESS)
set paramsets $device(PARAMSETS)
if {[string first M..."
invoked from within
"if {$devicesFound == 0} {
# iterate over all devices returned by listDevices
foreach _device $devices {
array set device $_device
set addr..."
(file "/tmp/HMIP_check.tcl" line 8)
#
Code: Alles auswählen
#!/bin/tclsh
load tclrpc.so
puts "Start"
set url "http://127.0.0.1:2010/"
set devicesFound [catch {set devices [xmlrpc $url listDevices]}]
if {$devicesFound == 0} {
# iterate over all devices returned by listDevices
foreach _device $devices {
array set device $_device
set address $device(ADDRESS)
set paramsets $device(PARAMSETS)
if {[string first MASTER $paramsets] != -1 } {
puts $device(ADDRESS)
array unset paramsetDesc
set paramsetDescFound [catch {array set paramsetDesc [xmlrpc $url getParamsetDescription [list string $address] [list string "MASTER"]]}]
if {$paramsetDescFound == 0 && [array size paramsetDesc] > 0} {
array unset paramset
set paramsetFound [catch {array set paramset [xmlrpc $url getParamset [list string $address] [list string "MASTER"]]}]
if {$paramsetFound == 0} {
# iterate over all paramsetDesc
foreach desc [array names paramsetDesc] {
# and search in paramset if it is present
if {[info exists paramset($desc)] == 0} {
puts "$address|$device(PARENT_TYPE) = $desc"
}
}
}
}
}
}
} else {
puts "ERROR: no devices found"
}