FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: JensS am 13 Februar 2018, 10:13:12

Titel: [gelöst]delete Syntax
Beitrag von: JensS am 13 Februar 2018, 10:13:12
Gibt es die Möglichkeit, nur die FileLogs in einem Raum zu löschen?delete room=neue-GeräteLöscht alle Devices im Raum neue-Geräte zuverlässig. Beidelete FileLog.* room=neue-Gerätebzw.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
Titel: Antw:delete Syntax
Beitrag von: marvin78 am 13 Februar 2018, 10:14:22
Bitte commandref zu devspec und im speziellen FILTER lesen.  Ich würde einen FILTER auf TYPE setzen.
Titel: Antw:delete Syntax
Beitrag von: JensS am 13 Februar 2018, 10:27:44
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
Titel: Antw:delete Syntax
Beitrag von: marvin78 am 13 Februar 2018, 11:06:56
So direkt sicher nicht. Ggf. kannst du dir hierfür aber einen cmdalias bauen.
Titel: [gelöst]delete Syntax
Beitrag von: JensS am 13 Februar 2018, 12:37:32
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