directory für sepzielle configs

Begonnen von herrmannj, 03 Mai 2015, 12:49:26

Vorheriges Thema - Nächstes Thema

herrmannj

Hi,

ich speichere für fronthem zusätzliche cfg files mit client setup.

Bisher habe ich das relativ zum base dir von fhem.pl gemacht. Jetzt hat ein user ein spezielles setup (er hat die fhem.pl unter /etc/ liegen, die module unter /share/). fhem scheint im pfad zu liegen) wo das nicht funktioniert.

Unabhängig davon vermute ich das es durchaus weitere module gibt so etwas in der art speichern.

Frage: besteht Interesse hierfür vielleicht ein gemeinsames, für alle module nutzbares dir per attrib in fhem.pl zu bestimmen ?
mMn aus user Sicht wünschenswert (Stichworte: hier musst Du fhem Schreibrechte geben, Du kannst bestimmen wo Du das hinlegst, zB bei readonly fs, include im backup etc ... )

vg
joerg

rudolfkoenig

Ich finde die Moeglichkeit, FHEM ueber das Filesystem zu verteilen schlecht, da
- je nach Plattform sind unterschiedliche Verzeichnisse fuer bestimmte Arten von Dateien (Config/Doku/Bibliothek/Log) vorgesehen.
- so eine Installation schlecht auf eine andere Plattform zu kopieren ist
- backup/restore ist aufwendiger
- Anfaenger haben keine Ahnung, wo die Dateien zu suchen sind, HOWTOs sind irrefuehrend
- mehrere FHEM-Installationen parallel zu betreiben aufwendiger ist.

Dass es moeglich ist, hat historische Gruende: ich wollte das .deb Paket perfekt bauen, und das Verteilen der Dateien war eine Voraussetzung, um keine Meldungen von "deblint" (oder wie auch immer das Programm hiess) zu bekommen. Ab FHEM 5.3 (2012-10) wird per default alles in einem Verzeichnis installiert.

Je nach Art der Datei empfehle ich das FHEM oder das log Verzeichnis, beide sollten schreibbar sein, und auch in einer verteilten Installation einfach zu finden.
Die Datei sollte man mit FileWrite/FileRead bearbeiten, dann wird es automatisch nach configdb geschrieben, falls es aktiviert ist.

herrmannj

ja, passt schon. Du wirfst die Fragen auf die ich mir auch stelle.

Ich benötige verschiedene client.cfg (pro client eine). Also erstelle ich aktuell unter fhem/www/ ein dir und packe da alles rein. Bei dem user klemmt das wegen der verteilten Installation:

Zitatfhem.pl liegt bei mir übrigens unter /usr/bin und nicht unter /var/share/fhem  - da liegt nur der andere Rest und die Module von fhem.

log würde gehen (da gibt es ja auch das passende attrib)- für cfg ist das natürlich ein klein wenig "Stilbruch".

Also kann ich jetzt ein neues dir erfinden mach ich auch wenn ich mit dem Wunsch alleine stehe. Wenn es weitere Interessenten gibt wäre mein Wunsch das abzustimmen. Im Idealfall sollten dann eben auch so exotische setup wie das oben zitierte abgedeckt werden.

vg
joerg

justme1968

wenn es dir nur um den pfad geht bietet sich das directory an in dem fhem sein state file speichert. da kommst du über $attr{global}{statefile} dran. das passt auch auf plattformen mit seltsamen pfaden und komischen aufteilungen. wenn fhem sein state file nicht schreiben kann würde auch fast nichts anderes gehen.

das ist zwar oft das gleiche wie das log directory aber von der logik entspricht es eher einem config file als einem log file :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968