Das das Verhalten so ist das ein in Perl ausgeführtes list dann
auch ins Log geschrieben wird hab ich heute gelernt.
Die Parameter von dem list werden mit ins Logfile geschrieben.
Was ich daran nicht verstehe:
Wenn ich in einem cmdalias den Übergabeparameter $EVTPART0 in einem list mit doppelten Hochkomma verwende:
defmod c_list2file cmdalias list2file .* AS {FileWrite("/opt/fhem/$EVTPART0.txt",fhem("list $EVTPART0"))}
Bekomm ich bei einem
list2file d das zurück:
2022.11.30 22:37:40 3: list d : Internals:
CFGFN
FUUID 6387ca05-f33f-78f5-7089-358fa7b6cb982ada
NAME d
NR 227739
STATE 
TYPE dummy
Attributes:
$EVTPART0 wird evaluiert, das List ausgeführt.
Verwende ich einfache Hochkomma bei dem list Befehl:
defmod c_list2file cmdalias list2file .* AS {FileWrite("/opt/fhem/$EVTPART0.txt",fhem('list $EVTPART0'))}
Bekomm ich das zurück:
2022.11.30 22:41:20 3: list $EVTPART0 : Internals:
CFGFN
FUUID 6387ca05-f33f-78f5-7089-358fa7b6cb982ada
NAME d
NR 227739
STATE 
TYPE dummy
Attributes:
Das List wird wieder ausgeführt, also $EVTPART0 wird schon evaluiert, aber nicht in der Zeile mit dem Zeitstempel.
Irgendwo passt da doch was nicht ?