Hauptmenü

Übergabe Datum an system

Begonnen von ernst1024, 28 Januar 2016, 12:22:54

Vorheriges Thema - Nächstes Thema

ernst1024

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

Gruß Ernst

Wzut

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. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ernst1024

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
Gruß Ernst