Gibt es die Möglichkeit, nur die FileLogs in einem Raum zu löschen?delete room=neue-Geräte
Löscht alle Devices im Raum neue-Geräte zuverlässig. Beidelete FileLog.* room=neue-Geräte
bzw.delete room=neue-Geräte FileLog.*
passiert nichts. In commandref und WIKI habe ich keine Lösung gefunden und hoffe, Ihr könnt mir weiterhelfen.
Gruß Jens
Bitte commandref zu devspec und im speziellen FILTER lesen. Ich würde einen FILTER auf TYPE setzen.
Danke marvin78!
delete room=neue-Geräte:FILTER=TYPE=FileLog
hat's gebracht, was mich gleich zur nächsten Frage bringt.
Gibt es die Möglichkeit, mit dem delete-Aufruf, gleich die FileLog-Dateien zu löschen?
Gruß Jens
So direkt sicher nicht. Ggf. kannst du dir hierfür aber einen cmdalias bauen.
Ok, habe mir eine sub in 99_myUtils.pm eingefügt und rufe diese Funktion regelmäßig mit at auf.
sub delete_neue_Geraete{
my $Rueckgabe;
my @logs=devspec2array("room=neue-Geräte:FILTER=TYPE=FileLog");
fhem("delete room=neue-Geräte:FILTER=TYPE=SVG");
foreach my $i (@logs){
fhem("attr $i disable 1");
my $FileLogDatei = InternalVal($i,"currentlogfile","");
fhem("delete $i");
$Rueckgabe = $Rueckgabe.qx(rm -f -v $FileLogDatei);
}
return "geloeschte Dateien:\n".$Rueckgabe;
}
Nach{delete_neue_Geraete}
werden alle SVGs, FileLogs und die aktuell dazugehörigen Logdateien im Raum neue-Geräte gelöscht. Als Rückmeldung kommt folgende Ausgabe:geloeschte Dateien:
'./log/SD_WS37_TH_161-2018.log' wurde entfernt
'./log/SD_WS37_TH_852-2018.log' wurde entfernt
'./log/SD_WS_51_TH_57281-2018.log' wurde entfernt
'./log/SD_WS_51_TH_57301-2018.log' wurde entfernt
'./log/SD_WS_51_TH_57361-2018.log' wurde entfernt
'./log/SD_WS_58_TH_1173-2018.log' wurde entfernt
'./log/SD_WS_58_TH_2401-2018.log' wurde entfernt
'./log/SD_WS_58_TH_592-2018.log' wurde entfernt
'./log/THR128_02_1-2018.log' wurde entfernt
'./log/THWR288A_ee_2-2018.log' wurde entfernt
Vielleicht gehts auch einfacher aber vorerst bin ich einigen Datenmüll los.
Danke nochmals für die Hilfe!
Gruß Jens