Hallo zusammen,
ich habe eine Frage bezüglich des Löschens von Logdateien im Logverzeichnis von fhem.
Wenn ich durch Module automatisch angelegte FileLog- Devices lösche, bleiben bei mir die dazu angelegten Dateien im Logverzeichnis erhalten.
Wie kann ich das ändern?
Ich habe wirklich lange gesucht, aber keine Lösung gefunden. Da ich mir nicht vorstellen kann, dass diese Datenmüllsammlung gewollt ist, gibt es sicher eine Einstellung o.ä. die ich nicht finde.
Hintergrund: Ich möchte in naher Zukunft mein System neu aufsetzen und räume fhem ein bisschen auf. Dabei bin ich auf dieses Verzeichnis gestoßen, wo sich bei mir in sechs Jahren eine große Menge dieser Dateien angesammelt hat. Meist durch Sensoren aus der Nachbarschaft und MQTT2- Devices usw.
Ich habe das letztes Wochenende per Hand bereinigt. Mittlerweile sind schon wieder zwei auf Ignore gesetzte Geräte mit ihren Dateien dazu gekommen.
Wie gesagt ich wäre für einen Tipp dankbar!
Gruß
Hi,
es gibt 4 Attribute für das FileLog Device, die "archive" im Namen tragen. Mit denen kannst Du die Sache zusätzlich administrieren.
mit set clear kann man das aktuelle File leeren.
Einen Automatismus die Log Dateien zusammen mit der Definition zu löschen gibt es mW nicht.
Gruß Otto
Die Attribute kenne und benutze ich für meine gewollten Devices. ;)
set clear, kannte ich noch nicht. Wieder was gelernt. :)
Schon komisch, dass es beim meinem eigentlichen Problem keine Lösung geben soll. Ich lösche ja FileLog Devices die ich entweder nicht mehr brauch oder nicht haben will. Sollten dann nicht automatisch die dadurch erzeugten Dateien nicht gleich mit entsorgt werden?! Wenn dem so ist, gibt es einen Grund dafür?
Mir fällt nämlich keiner ein...
Gruß
Eventuell doch vorhanden
;)
https://forum.fhem.de/index.php/topic,41896.msg341454.html#msg341454
Ja, und das ist eigentlich auch gut so.
Zitat von: Otto123 am 23 November 2022, 17:39:57
Eventuell doch vorhanden
;)
https://forum.fhem.de/index.php/topic,41896.msg341454.html#msg341454
Mist... dadurch weiß ich jetzt, dass ich die gplot Dateien auch noch entmüllen muss. Diese werden ja auch durch einige Module wild angelegt :-\
Zitat von: betateilchen am 23 November 2022, 17:47:30
Ja, und das ist eigentlich auch gut so.
Und warum? Weil jemand, trotz nachfrage zum löschen, ja gesagt hat? ;D
Zitat von: kabanett am 23 November 2022, 17:54:08
Weil jemand, trotz nachfrage ja gesagt hat?
Wieviele Scheidungen gibt es?
Bei den Leuten wurden auch nachgefragt und BEIDE hatten ja gesagt ...
Zitat von: kabanett am 23 November 2022, 17:54:08
dass ich die gplot Dateien auch noch entmüllen muss. Diese werden ja auch durch einige Module wild angelegt
Bei mir nicht. Bekämpfe doch die Ursache, nicht die Auswirkung.
Zitat von: betateilchen am 23 November 2022, 17:55:38
Wieviele Scheidungen gibt es?
Bei den Leuten wurden auch nachgefragt und BEIDE hatten ja gesagt ...
Ja, aber dann ist das halt so!!! :)
OK, es soll also, aus welchen Gründen auch immer, so bleiben. (Sorry, mir fehlt das Verständnis dafür)
Zitat von: betateilchen am 23 November 2022, 17:56:28
Bei mir nicht. Bekämpfe doch die Ursache, nicht die Auswirkung.
Und wie kann ich diese Vermüllung verhindern? Kann ich den Modulen die Möglichkeit entziehen, eigenständig FileLog`s und gplot`s anzulegen?
Zitat von: kabanett am 23 November 2022, 18:09:53
Kann ich den Modulen die Möglichkeit entziehen, eigenständig FileLog`s und gplot`s anzulegen?
"help autocreate"
Zitat von: betateilchen am 23 November 2022, 18:13:01
"help autocreate"
Schaue ich mir an! Danke!
Wurde bei den fhem Entwicklern eigendlich schon mal darüber nachgedacht, so etwas wie einen Mülleimer zu implementieren?
Also ein Bereich wohin solche Dateien verschoben werden. Um sie ggf wieder zurück zu holen oder komplett zu löschen.
Zitat von: kabanett am 23 November 2022, 18:09:53
OK, es soll also, aus welchen Gründen auch immer, so bleiben.
Das hat ja niemand gesagt.
Weil bald Weihnachten ist:
https://forum.fhem.de/index.php/topic,130492.0.html
Ui, na mal schauen, ob da wirklich der Weihnachtsmann kommt. :)
Danke!
Dann Wünsche ich mir gleich noch etwas:
1. Meinen letzten Vorschlag zu berücksichtigen
2. autocreate nur noch Devices ohne FileLog und Plots anlegen zu lassen
3. In den Devices, ausser FileLog und SVG, einen Link (wie im FileLog mit create SVG) create FileLog
Die folge wäre sicher für viele Anfänger ein intuitiver Umgang mit fhem und ganz viele Nachfragen, die nicht gestellt werden ;)
So viel zu Wünsch Dir was...
Und nun schauen, was "so ist es" macht ;)
Zitat von: kabanett am 23 November 2022, 20:54:15
2. autocreate nur noch Devices ohne FileLog und Plots anlegen zu lassen
Das ist doch Quatsch - Du kannst das doch per Attribut einfach abschalten, wenn Du es nicht brauchst.
Viele Leute benutzen das und sind froh darüber, dass sie sich darum nicht kümmern müssen, insbesondere, wenn man die dahinterliegenden Mechanismen, gerade als Anfänger, noch nicht verstanden hat.
Bei mir gibt es gar kein autocreate device in der FHEM Installation. Das device lege ich tatsächlich nur temporär an, wenn ich mal ein neues Homematic Gerät in mein FHEM integrieren muss. FHEM funktioniert auch perfekt komplett ohne autocreate. Man hat doch nicht jeden Tag 10 neue Geräte...
--
Das man autocreate abschalten kann ist mir bekannt.
Ich habe hier einige Beiträge verfolgt, wo eindringlich davon abgeraten wurde. Sogar vom Chef selbst meine ich. Finde die gerade nicht.
Was die Gründe dafür waren, weiß ich leider nicht mehr so genau. Zumindest sollte man lieber mit ignore arbeiten usw..
Selbst im WIKI wird eher davon abgeraten.
https://wiki.fhem.de/wiki/Fremdger%C3%A4te_ignorieren (https://wiki.fhem.de/wiki/Fremdger%C3%A4te_ignorieren)
Ich nutze eine sub, welche alle 5 min per at aufgerufen wird. Alle neu gefundenen Geräte werden im Raum neue-Geräte angelegt.
Das ist zwar rudimentär und auf Linux beschränkt - hat für meinen Bedarf aber völlig genügt.
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";
}
Das eigentlich Device bleit erhalten und kann per Hand gelöscht werden.
Zitat von: kabanett am 24 November 2022, 07:30:46
Das man autocreate abschalten kann ist mir bekannt.
Du hast meine Antwort immer noch nicht richtig gelesen oder nicht verstanden.
Man muss nicht autocreate abschalten, man kann autocreate aber per Attribut so konfigurieren, dass es eben keine FileLog oder SVG anlegt.
Das wäre doch dann genau das Ergebnis, das Du haben möchtest, oder nicht?
Zitat von: kabanett am 24 November 2022, 07:30:46
Selbst im WIKI wird eher davon abgeraten.
Das ist ja nun mal überhaupt nicht maßgeblich.
Zitat von: betateilchen am 24 November 2022, 12:00:47
Du hast meine Antwort immer noch nicht richtig gelesen oder nicht verstanden.
Doch schon! Das ist mir natürlich auch bekannt. Dann kann ich, jedesmal wenn ich einen dieser Geräte haben möchte die Attribute ändern. Kann man machen...
Zitat von: betateilchen am 24 November 2022, 12:00:47
Das ist ja nun mal überhaupt nicht maßgeblich.
Wenn ein Wiki nicht mehr maßgeblich ist, dann weiß ich auch nicht mehr :o
Zitat von: kabanett am 24 November 2022, 12:18:43
Dann kann ich, jedesmal wenn ich einen dieser Geräte haben möchte die Attribute ändern.
Nein, Du hast es immer noch nicht verstanden.
Ist mir jetzt aber auch wurscht.
Zitat von: kabanett am 24 November 2022, 12:18:43
Wenn ein Wiki nicht mehr maßgeblich ist, dann weiß ich auch nicht mehr :o
Das Wiki war (für mich) noch nie maßgeblich.
Die einzige maßgebliche Dokumentation ist für mich die commandref, das ist auch die einzige Doku, die ich als Entwicker selbst pflege und von der ich weiß, dass sie stimmen sollte.
Zitat von: betateilchen am 24 November 2022, 12:00:47
Du hast meine Antwort immer noch nicht richtig gelesen oder nicht verstanden.
Man muss nicht autocreate abschalten, man kann autocreate aber per Attribut so konfigurieren, dass es eben keine FileLog oder SVG anlegt.
Das wäre doch dann genau das Ergebnis, das Du haben möchtest, oder nicht?
Zitat von: betateilchen am 24 November 2022, 13:23:10
Nein, Du hast es immer noch nicht verstanden.
Ist mir jetzt aber auch wurscht.
Da hast Du offensichtlich recht. Ich verstehe es nicht. Nach deiner Attribut- Aussage war ich schnell bei "disable" und "ignoreTypes".
Momentan schaut mein autocreate so aus.
Internals:
FUUID 5c433009-f33f-0fc8-b59c-ac7e3f6f9d1d8ca7
NAME autocreate
NOTIFYDEV global
NR 14
NTFY_ORDER 50-autocreate
STATE active
TYPE autocreate
READINGS:
Attributes:
disable 0
room System
Dann gibt es noch das Attribut "autocreateThreshold" welches erst nach einer zu bestimmenden Anzahl von Events, in einer zu bestimmenden Zeit, Devices anlegt mit der Vorgabe des Types. Wie ich das Sinnvoll verwenden könnte, weiß ich nicht.
Die Attribute autosave, device_- und weblink_room sind sicher auch nicht hilfreich. filelog und weblink schliesse ich aus, da durch setzen dieser, wohl immer FileLogs und svg`s erzeugt werden.
Wenn du willst, verrat es mir. Wenn nicht, ists wie du schon sagtest, wurscht. Denn das ist schon so weit weg vom eigentlichen Thema ;)