Hallo Zusammen,
nachdem ich weekprofile auf FileRead und FileWrite umgestellt habe, kommen vermehrt Probleme von Usern beim Versuch aus ./log zu lesen
Can't open ./log/weekprofile_xyz.cfg
Meine Vermutung ist, dass sich das Verhalten bei relativen Pfaden damit geändert hat.
Gibt es eine Möglichkeit den FHEM-Startpfad zu ermitteln bzw. aus der Relativangabe einen absoluten Pfad zu machen?
logdir ist nicht gesetzt. ResolveDateWildcards wird bereits verwendet.
Danke.
Risiko.
FielRead aendert das filename Attribut nicht.
Konvertierung von relativ nach absolut geht meist schief, und ist mAn selten noetig: das log Verzeichnis ist
AttrVal("global", "logdir", AttrVal("global","modpath","")."/log")
Ok.
Da ich es auch nicht nachstellen kann, liegt es ggf. doch auf User Seite.
Noch was zum Log-Verzeichnis.
Gibt es eine Möglichkeit das Logverzeichnis über eine Funktion abzufragen?
Wenn logdir nicht gesetzt ist, wird %L in ResolveDateWildcards nicht ersetzt.
Wäre es denn nicht sinnvoller %L trotzdem zu ersetzen (mit AttrVal("global","modpath","")."/log") ?
ZitatGibt es eine Möglichkeit das Logverzeichnis über eine Funktion abzufragen?
Habs doch oben gezeigt. (?)
ZitatWäre es denn nicht sinnvoller %L trotzdem zu ersetzen (mit AttrVal("global","modpath","")."/log") ?
Ja, das waere konsequent, habs auch eingebaut und eingecheckt.
Auch wenn die %L Nutzer vermutlich an einem Hand abzaehlbar sind.
Du könntest die Änderung auch noch in der 01_FHEMWEB.pm FW_fileList(() nachziehen
Aktuell steht dort:
$fname =~ s/%L/$attr{global}{logdir}/g
(in FileLog existiert ein ähnliches Konstrukt)
Und ich denke, ein paar mehr als fünf User wird es schon geben, die %L kennen und benutzen :)
Na gut, ich habe jetzt Logdir() in fhem.pl eingebaut, und sie in FHEMWEB.pm verwendet.
Damit sollten die 7 Benutzer von %L jetzt aber alle gluecklich sein :)
Supi.
Danke.
Hallo,
"modpath" ist aber weiterhin kein optimaler Ort zur Ablage persistenter Daten.
Ich empfehle die Einführung eines neuen Attributes "persistentpath" in global.
z.B.:
Starten von FHEM.pl zwingend mit 2 Argumenten, den Attributen configfile und persistentpath,
und ausrollen von persistentpath, zunächst mindestens in in FHEM.pl: persistentpath/configfile, persistentpath/%L/logfile und persistentpath/statefile
Dann setzen "modpath" über "configfile", wie gehabt.
Natürlich sollte in dem persistentpath auch eine standardisierte Ordnerstruktur vereinbart werden (log/, archive/ ...).
Es könne für einen Übergangszeitraum auch mit "persistentpath"="modpath" gestartet werden, um die Einführung zu erleichtern.
Mfg