Du fragst zudem, warum ich nicht das mache, was Du mir geraten hast. Schlicht und ergreifend, weil ich nicht verstanden habe, was Du mit "genauso machen wie in der Anleitung" meintest. Ich habe kein "Arbeitszimmer Deckenlicht" und keinen "Innensensor". Ich wollte den DutyCycle-Wert jede halbe Stunde wegschreiben. Deshalb habe ich einen eigenen Aufruf der TCL-Datei gemacht.
Du kannst Dir sicher sein, dass kein böser Wille dabei war und ich wollte Dich auch nicht ärgern. Ich habe es "missverstanden" und dafür entschuldige ich mich.
Inzwischen habe ich einiges dazugelernt, nicht nur was Du gemeint hast, sondern auch den Umgang mit dem Forum. Ich hoffe, dass ich jetzt besser kommunizieren kann.
Also vorweg genommen, genau nach Deiner Anleitung funktioniert es. Als TCL-Datei habe ich
Code: Alles auswählen
#!/bin/tclsh
file mkdir "/usr/local/addons/log2file"
set datum [clock format [clock seconds] -format {%Y-%m}]
set filename "/usr/local/addons/log2file/log2file_$datum.csv"
set args [join $argv " "]
set fileId [open $filename "a+"]
puts $fileId $args
close $fileId
Code: Alles auswählen
! Programmauslösende Systemvariable (jedes Types) oder Kanalnamen (soweit ich es überblicken kann) und auch das Zeitmodul ermitteln und...
! by Alchy 0.2a gekürzt
! +++++++++++++++++
string slist = "Fehler";
object src = dom.GetObject("$src$");
if (src){
if (src.TypeName() == "HSSDP") {
slist = system.Date("%d.%m.%y,%H:%M")#","#dom.GetObject(((dom.GetObject(src)).Channel())).Name()#","#src.Value();
} else {
slist = system.Date("%d.%m.%y,%H:%M")#","#src.Name()#","#src.Value().ToString(3)#","#src.ValueUnit() ;
}
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/log2file/log2file.tcl " # slist);
}
Ich freue mich über jede Hilfe.
Viele Grüße
Dirk