Hallo meine AddLog definitionen funktionieren nicht.
Ich habe die AddLog Routine aus dem Wiki in die 99_myUtils.pm Datei eingefügt.
Diese wurde auch geladen, denn andere Routinen von hier funktionieren.
Außerdem wurde fhem schon mehrmals total neu gestart, seit dem Einfügen.
Im Log komme immer die Meldung: ...Unknown command addLog, try help
Hier ein List eines addLog aufrufs:
Internals:
COMMAND addLog {addLog("Raspberry_Ventilator","state")}
DEF +*00:10 addLog {addLog("Raspberry_Ventilator","state")}
NAME Update_Raspberry_Ventilator
NR 257
NTM 19:37:47
PERIODIC yes
RELATIVE yes
REP -1
STATE Next: 19:37:47
TIMESPEC 00:10
TRIGGERTIME 1536946667.58296
TRIGGERTIME_FMT 2018-09-14 19:37:47
TYPE at
READINGS:
2018-09-14 19:27:47 state Next: 19:37:47
Attributes:
DbLogExclude .*
group Update Plots
room 9.01_Logging
Was kann die Ursache sein?
Muß vorausschicken dass ich DbLog nutze und kein FileLog
Das DEF ist nicht richtig. Die Routine in 99_myUtils.pm must du als reine Perl-Routine aufrufen.
Also in dieser Form:
+*00:10 {addLog("Raspberry_Ventilator","state")}
Aber da du DbLog einsetzt, kannst du es dir einfacher machen und den im DbLog eingebauten addLog Befehl nutzen.
Das wäre dann in einem at-Device ein solcher Aufruf:
+*00:10 set <DbLOg-Device> addLog Raspberry_Ventilator:state
In der DbLog-Commandref steht einiges zum addLog-Befehl. Der kann zum Beispiel auch mit devspecs umgehen.
Eine Routine in 99_myUtils.pm brauchst du in diesem Fall nicht.
Grüße
Heiko
Danke,
werde mir das ansehen und dann berichten.
Update: (22:24 Uhr)
Habe die addLog nun mit DbLog umgesetzt. Es funktioniert! Ich muss nur darauf achten dass die Devices wo ich das machen, dass ich den generellen DbLogExclude .* hier rausnehme und den Exclude nur auf Readings setze, die ich nicht will.