Ich habe gerade versucht Logdateien aus /var/log in fhem einzubinden, etwa so
define FileLog_pacman filelog /var/log/pacman.log fakelog
Antwort von fhem:
Can't open /var/log/pacman.log: Permission denied
Mit
{`cat /var/log/pacman.log`}
bekomme ich die Daten angezeigt.
Ganz offensichtlich verlangt fakelog Schreibzugriff auf die angegebene Datei, wozu ? (Wenn die angegebene Datei nicht existiert legt fhem sie an) Das widerspricht irgendwie dem vorgeblichen Ziel von außen befüllte Dateien einzubinden. Fhem sollte nicht in fremde Dateien schreiben.
Einen Lösungsversuch habe ich unter
https://forum.fhem.de/index.php?topic=40564.0 (https://forum.fhem.de/index.php?topic=40564.0)
gefunden, der sieht aber schon sehr verwegen aus.
Einfacher wäre es auf den Schreibzugriff für über fakelog angesprochene Dateien zu verzichten, oder das wenigstens als Option vorzusehen.
mimue
ZitatEinen Lösungsversuch habe ich unter [...] gefunden, der sieht aber schon sehr verwegen aus.
Ich frage mich, warum man nicht zunaechst im commandref sucht.
Zitatdefine <name> FileLog <filename> <regexp> [readonly]
Zitat von: rudolfkoenig am 16 November 2021, 08:33:59
Ich frage mich, warum man nicht zunaechst im commandref sucht.
Tja, Rudi, gute Frage.
Vielleicht weil im commandref fakelog überhaupt nicht auftaucht ?
Klick auf Commandref, auf Seite suchen (Edge Browser) Einträge 0/0
Googeln bringt zwei Einträge im Wiki, die beide sehr oberflächlich an das Thema herangehen, plus den zitierten.
Zitat von: marvin78 am 16 November 2021, 08:40:41
Danke Marvin78,
ich hatte "fakelog" nicht wirklich als <regexp> verstanden, eher als override für <regexp>. Eigentlich ist ja fakelog überflüssig, wenn ich beliebige Dateien mit beliebigen regular expressions lesend zugreifen kann.
ZitatVielleicht weil im commandref fakelog überhaupt nicht auftaucht ?
Und warum genau ist man auf fakelog fixiert?
Hat mit dem Problem doch nichts zu tun.
fakelog war eine Weile in fhem.cfg als Regexp fuer den FileLog gewaehlt, weil ich davon ausging, dass keiner ein Geraet mit diesem Namen definiert, und Events erzeugt. Ich haette hier auch blablabla verwenden koennen.
Erst spaeter kam ein Hack dazu, wo beim fakelog Regexp die FileLog Befehle addRegexpPart etc nicht angezeigt werden.
fakelog als Regexp ist deprecated, wenn man den o.g. Hack braucht, sollte man den eigenen Namen als Regexp verwenden.
Zitat von: rudolfkoenig am 16 November 2021, 09:09:43
Und warum genau ist man auf fakelog fixiert?
Gute Frage Rudi.
Weil man sich vielleicht als Gelegenheitsnutzer an den Usancen seiner Mitstreiter orientiert ?
Im konkreten Fall bin ich in der Logdefinition von Alexa darauf gestossen, und habe einfach mal versucht zu ergründen wozu das gut sein mag, und wie ich es für meine Zwecke nutzen könnte.
Nach jetzigem Erkenntnisstand könnte man fakelog einfach aus dem reichhaltigen Fundus der Fhem-Möglichkeiten streichen, Ein
define FileLog_bla filelog /x/y/bla.log .*
tut's ja auch. Mit oder ohne Schreibzugriff.
Zitat von: mimue am 16 November 2021, 09:22:49
Nach jetzigem Erkenntnisstand könnte man fakelog einfach aus dem reichhaltigen Fundus der Fhem-Möglichkeiten streichen,
Es IST bereits aus dem Fundus gestrichen. Aus Kompatibilitätsgründen funktioniert es aktuell noch, aber vermutlich mit dem nächsten Release 6.2 könnte es komplett verschwinden.
Zitat von: rudolfkoenig am 16 November 2021, 09:09:43
fakelog als Regexp ist deprecated, wenn man den o.g. Hack braucht, sollte man den eigenen Namen als Regexp verwenden.
Zitat von: betateilchen am 16 November 2021, 09:29:50
...aber vermutlich mit dem nächsten Release 6.2 könnte es komplett verschwinden.
Danke betateilchen,
wenn es dann den Status von "könnte" zu "wird" oder sogar "ist" wechselt, denkt Ihr hoffentlich an die Mitstreiter, die das, aus welchen Gründen auch immer, in ihrer fhem.cfg stehen haben, oder gar, wie im Falle von Alexa, in einer .pm Datei ?
Übrigens, "deprecated" bedeutet nicht "gestrichen" sondern "veraltet" oder "überholt".