FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ernst1024 am 28 Januar 2016, 12:22:54

Titel: Übergabe Datum an system
Beitrag von: ernst1024 am 28 Januar 2016, 12:22:54
Hallo zusammen,

vielleicht kann mir einer auf die Sprünge helfen. Ich habe, mehr als Übungsaufgabe ein kleines command-line tool, hilow.exe (bzw nur hilow auf dem Pi) geschrieben.
Hilow erwartet als erstes Argument den Namen eines fhem *.log files. Ausgegeben wird dann die max und die min Temperatur für den gelogten Zeitraum.
Als optionalen Parameter kann ich ein bestimmtes Datum übergeben, dann sucht hilow max und min nur für diesen Tag. Soweit so gut.

Jetzt möchte ich das Tool täglich einmal ausführen und das Ergebnis in einen file schreiben. Hier kommt der Befehl in fhem:

{system("/opt/fhem/log/./hilow /opt/fhem/log/myaf-2016-01.log 2016-01-26 >> /opt/fhem/log/test1.log")}

wobei myaf-2016-01.log  das zu durchsuchende logfile ist und das anschliessende "2016-01-26" das Suchdatum.
Das klappt auch alles wunderbar. Nun ist der logfile und das Suchdatum ja "hard-coded" und ich hätte das gerne so:

{system("/opt/fhem/log/./hilow /opt/fhem/log/myaf-%Y-%m.log %Y-%m-%d >> /opt/fhem/log/test1.log")}

Aber dann schreibt hilow die Fehlermeldung: Datei konnte nicht geöffnet werden, also hat das mit der Parameter Übergabe nicht geklappt.

Was mache ich falsch oder geht das so wie ich es vorhabe grundsätzlich so nicht?

Gruss Ernst

Titel: Antw:Übergabe Datum an system
Beitrag von: Wzut am 28 Januar 2016, 12:59:20
Um ganz sicher zu gehen welches das z.Z. aktive Logfile ist würde ich mir zuerst den Namen einfach via InternalVal("Logfile","currentlogfile",undef) holen und damit weitermachen. 
Titel: Antw:Übergabe Datum an system
Beitrag von: ernst1024 am 28 Januar 2016, 13:44:20
Zitat von: Wzut am 28 Januar 2016, 12:59:20
Um ganz sicher zu gehen welches das z.Z. aktive Logfile ist würde ich mir zuerst den Namen einfach via InternalVal("Logfile","currentlogfile",undef) holen und damit weitermachen.

Ich werde es mir mal anschauen, Danke. Aber der Name des logfiles ist klar definiert (in fhem.cfg): define FileLog_Aussen FileLog ./log/myaf-%Y-%m.log f_Aussen

was im Klartext (Januar) auf myaf-2016-01.log hinausläuft. Solange ich den Klartext übergebe läuft auch alles wie es soll. Aber im Februar heisst das log dann myaf-2016-02.log und ich müsste dann jeden Monat von Hand ändern.

Grüße Ernst