FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: Roger am 29 Januar 2013, 19:57:33

Titel: include Dateien auch in "edit files"
Beitrag von: Roger am 29 Januar 2013, 19:57:33
Hi,
kann nicht jemand alle Dateien, die über "include" eingebunden wurden, unter "edit files" mit aufnehmen?
Ich weiß, wenn ich die Dateien ins FHEM Verzeichnis lege, so sollen sie angezeigt werden.
Aber ich will die FHEM Dateien und meine eigenen nicht mischen, sondern in verschiedenen Verzeichnissen speichern.
Somit könnte ich (und andere) einfacher alle cfg-Dateien editieren.
Dazu gibt es schon eine Diskussion/Nachfrage in den Anfängerfragen.
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: abc2006 am 01 Mai 2013, 18:19:56
Für mich bitte auch :-) Suche nämlich auch gerade nach einer Möglichkeit, meine Includes im Fhemweb anzeigen zu können.
Und das Textfeld bitte so breit wie der Browser, falls das geht :-)


lg
stephan
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: Stefan M. am 10 Mai 2013, 14:38:28
Hallo zusammen
das würde mir auch helfen.

lg
Stefan
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: Echo am 27 Mai 2013, 11:19:57
+1
René
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: kvo1 am 06 August 2013, 20:01:51
wäre eine echt gute Erweiterung.
Das aber wohl nur rudi(König) machen!?

Gruß
Klaus
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: betateilchen am 07 August 2013, 09:23:10
Funktioniert bereits jetzt ohne jegliche Programmänderung:

Ihr braucht Eure include-Dateien einfach nur im ./FHEM Verzeichnis (genauer: in dem als "Modulverzeichnis" festgelegten Verzeichnis) abzulegen und mit .cfg zu benennen.
Und schon werden sie unter "Own modules and helper files" angezeigt:

(http://up.picr.de/15422708fh.png)

ZitatIch weiß, wenn ich die Dateien ins FHEM Verzeichnis lege, so sollen sie angezeigt werden.
Aber ich will die FHEM Dateien und meine eigenen nicht mischen, sondern in verschiedenen Verzeichnissen speichern.

Naja, aber das MW_dir ist eigentlich genau dafür gedacht.


use vars qw($MW_dir);     # moddir (./FHEM), needed by edit Files in new
                          # structure
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: betateilchen am 07 August 2013, 09:48:01
Rudi könnte natürlich auch folgende zwei Patches einbauen:


Index: fhem.pl
===================================================================
--- fhem.pl (Revision 3599)
+++ fhem.pl (Arbeitskopie)
@@ -204,7 +204,7 @@
 $modules{Global}{LOADED} = 1;
 $modules{Global}{AttrList} =
   "archivecmd apiversion archivedir configfile lastinclude logfile " .
-  "modpath nrarchive pidfilename port statefile title userattr " .
+  "modpath nrarchive owncfgpath pidfilename port statefile title userattr " .
   "verbose:1,2,3,4,5 mseclog:1,0 version nofork:1,0 logdir holiday2we " .
   "autoload_undefined_devices:1,0 dupTimeout latitude longitude altitude " .
   "backupcmd backupdir backupsymlink backup_before_update " .

Index: 01_FHEMWEB.pm
===================================================================
--- 01_FHEMWEB.pm (Revision 3599)
+++ 01_FHEMWEB.pm (Arbeitskopie)
@@ -56,6 +56,7 @@
                           # available from $FW_dir/gplot,$FW_dir
 use vars qw($MW_dir);     # moddir (./FHEM), needed by edit Files in new
                           # structure
+use vars qw($OC_dir);  # includedir (./include) from global attr owncfgpath
 use vars qw($FW_ME);      # webname (default is fhem), used by 97_GROUP/weblink
 use vars qw($FW_ss);      # is smallscreen, needed by 97_GROUP/95_VIEW
 use vars qw($FW_tp);      # is touchpad (iPad / etc)
@@ -377,6 +378,7 @@
   $FW_ME = "/" . AttrVal($FW_wname, "webname", "fhem");
 
   $MW_dir = "$attr{global}{modpath}/FHEM";
+  $OC_dir = "$attr{global}{owncfgpath}";
   $FW_sp = AttrVal($FW_wname, "stylesheetPrefix", "");
   $FW_ss = ($FW_sp =~ m/smallscreen/);
   $FW_tp = ($FW_sp =~ m/smallscreen|touchpad/);
@@ -1889,6 +1891,8 @@
     $attr{global}{configfile} =~ m,([^/]*)$,;
     my $cfgFileName = $1;
     FW_displayFileList("config file", $cfgFileName);
+    FW_displayFileList("Own config files",
+        FW_fileList("$OC_dir/^(.*cfg|.*holiday)\$"));
     FW_displayFileList("Own modules and helper files",
         FW_fileList("$MW_dir/^(.*sh|[0-9][0-9].*Util.*pm|.*cfg|.*holiday)\$"));
     FW_displayFileList("styles",


dann würden alle .cfg und .holiday Dateien aus dem Verzeichnis fhem/include anstatt fhem/FHEM in einem eigenen Bereich "Own config files" aufgelistet.

(http://up.picr.de/15423001xm.png)

Das Verzeichnis selbst kann als globales Attribut angegeben werden:

attr global owncfgpath ./include

Aber das muss Rudi entscheiden! Es ist nur ein Lösungsvorschlag.
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: fhemHolli am 12 September 2013, 23:25:44
...wo doch jetzt das Release fhem 5.5 so kurz vor der Tür steht, währe eine Änderung für die eigenen .cfg Dateien doch ein schönes neues feature...
oder nicht?

Würde mich und so manch Anderen echt freuen.

Gruß Uwe
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: Markus am 14 September 2013, 23:49:29
was hält rudi davon? hat er den post überhaupt gelesen?

Grüße Markus
Titel: Aw: include Dateien auch in "edit files"
Beitrag von: fhemHolli am 15 September 2013, 19:58:41
Hallo,

selbst auf die Gefahr hin das alle Anderen jetzt entsetzt aufschreien...

...also mir würde es schon reichen, wenn einfach alle .cfg Dateien mit gelistet werden die im selben Verzeichnis wie die fhem.cfg stehen.
Das macht auch das schreiben der include Anweisung schön einfach...

Gruß Uwe

Titel: Antw:include Dateien auch in "edit files"
Beitrag von: rebs88 am 04 Dezember 2013, 21:50:34
Hi,
wie wird denn nun eine .cfg Datei im FHEM angezeigt?
Ich habe die Datei Rolladen.cfg folgendermaßen eingebunden:
In fhem.cfg die Zeile
include /opt/fhem/Rolladen.cfg
eingefügt

Wäre über Hilfe sehr dankbar
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: ph1959de am 05 Dezember 2013, 06:54:07
Zitat von: rebs88 am 04 Dezember 2013, 21:50:34
wie wird denn nun eine .cfg Datei im FHEM angezeigt?
...
include /opt/fhem/Rolladen.cfg
... wenn Du sie in /opt/fhem/FHEM ablegst (und die Zugriffsberechtigungen müssen natürlich auch stimmen).

Gruß, Peter
Titel: Antw:Aw: include Dateien auch in "edit files"
Beitrag von: fhainz am 07 Dezember 2013, 23:19:22
Zitat von: betateilchen am 07 August 2013, 09:48:01
Rudi könnte natürlich auch folgende zwei Patches einbauen:


Index: fhem.pl
===================================================================
--- fhem.pl (Revision 3599)
+++ fhem.pl (Arbeitskopie)
@@ -204,7 +204,7 @@
$modules{Global}{LOADED} = 1;
$modules{Global}{AttrList} =
   "archivecmd apiversion archivedir configfile lastinclude logfile " .
-  "modpath nrarchive pidfilename port statefile title userattr " .
+  "modpath nrarchive owncfgpath pidfilename port statefile title userattr " .
   "verbose:1,2,3,4,5 mseclog:1,0 version nofork:1,0 logdir holiday2we " .
   "autoload_undefined_devices:1,0 dupTimeout latitude longitude altitude " .
   "backupcmd backupdir backupsymlink backup_before_update " .

Index: 01_FHEMWEB.pm
===================================================================
--- 01_FHEMWEB.pm (Revision 3599)
+++ 01_FHEMWEB.pm (Arbeitskopie)
@@ -56,6 +56,7 @@
                           # available from $FW_dir/gplot,$FW_dir
use vars qw($MW_dir);     # moddir (./FHEM), needed by edit Files in new
                           # structure
+use vars qw($OC_dir);   # includedir (./include) from global attr owncfgpath
use vars qw($FW_ME);      # webname (default is fhem), used by 97_GROUP/weblink
use vars qw($FW_ss);      # is smallscreen, needed by 97_GROUP/95_VIEW
use vars qw($FW_tp);      # is touchpad (iPad / etc)
@@ -377,6 +378,7 @@
   $FW_ME = "/" . AttrVal($FW_wname, "webname", "fhem");

   $MW_dir = "$attr{global}{modpath}/FHEM";
+  $OC_dir = "$attr{global}{owncfgpath}";
   $FW_sp = AttrVal($FW_wname, "stylesheetPrefix", "");
   $FW_ss = ($FW_sp =~ m/smallscreen/);
   $FW_tp = ($FW_sp =~ m/smallscreen|touchpad/);
@@ -1889,6 +1891,8 @@
     $attr{global}{configfile} =~ m,([^/]*)$,;
     my $cfgFileName = $1;
     FW_displayFileList("config file", $cfgFileName);
+    FW_displayFileList("Own config files",
+        FW_fileList("$OC_dir/^(.*cfg|.*holiday)\$"));
     FW_displayFileList("Own modules and helper files",
         FW_fileList("$MW_dir/^(.*sh|[0-9][0-9].*Util.*pm|.*cfg|.*holiday)\$"));
     FW_displayFileList("styles",


dann würden alle .cfg und .holiday Dateien aus dem Verzeichnis fhem/include anstatt fhem/FHEM in einem eigenen Bereich "Own config files" aufgelistet.

(http://up.picr.de/15423001xm.png)

Das Verzeichnis selbst kann als globales Attribut angegeben werden:

attr global owncfgpath ./include

Aber das muss Rudi entscheiden! Es ist nur ein Lösungsvorschlag.

Find ich super!
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: rebs88 am 13 Dezember 2013, 23:37:12
@ Peter:
Super DANKE  :)
Die .cfg Datei muss in opt/fhem/FHEM liegen.

Das Ändern des Pfades mit
"attr global owncfgpath ./include"
geht noch nicht, oder?

Titel: Antw:include Dateien auch in "edit files"
Beitrag von: b4r7 am 18 Mai 2014, 12:03:26
ist das hier noch Aktuell?
Ich finde nirgends die Möglichkeit eigene CFGs in die "edit files" Ansicht zu packen
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: betateilchen am 18 Mai 2014, 23:20:18
wenn die Datei mit .cfg endet und in ./FHEM liegt, wird sie auch unter edit files angezeigt.

Aber wer braucht schon Konfigurationsdateien...
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: b4r7 am 24 Mai 2014, 23:42:33
Zitat von: betateilchen am 18 Mai 2014, 23:20:18
Aber wer braucht schon Konfigurationsdateien...

Was meinst du damit?
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: marvin78 am 25 Mai 2014, 07:59:19
Zum einen ist das Editieren der Config-Dateien nicht notwendig. Man kann zu 99,9% alles über das Frontend steuern und einstellen, was sogar deutlich einfacher ist. Also muss man auch keine Ordnung in die Configs bringen (FHEM weiß, wo es steht), was das include auch überflüssig macht.

Zum anderen gibt es über configDB (siehe commandref) die Möglichkeit, die Konfiguration und vieles mehr in einer Datenbank unter zu bringen. Dann benötigt man die Dateien überhaupt nicht mehr.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: Benni am 25 Mai 2014, 08:07:57
Wie wäre es denn alternativ mit einem edit-Befehl?

Wenn ich doch sowieso genau weiß, was ich editieren möchte und in welchem Verzeichnis es zu finden ist, dann könnte ich es doch direkt aufrufen, am besten mit einer Pfadangabe, relativ zum fhem-Verzeichnis, also beispielsweise:

edit FHEM/99_Meinzeug.pm

oder

edit www/pgm2/mywebstyle.css

Damit könnte man die Liste(n) unter Edit-Files auch wieder etwas reduzieren.

Den edit-Befehl müsste man bei configDB evtl. noch um einen Schalter erweitern, der angibt, ob die Datei aus der Datenbank oder dem Filesystem editiert werden soll, sofern beides vorhanden sein sollte.

Titel: Antw:include Dateien auch in "edit files"
Beitrag von: betateilchen am 26 Mai 2014, 17:43:25
Zitat von: ediik am 24 Mai 2014, 23:42:33
Was meinst du damit?

Ich meine damit, dass Konfigurationsdateien genau so überflüssig sind wie Fusspilz.

Und die Einführung eines allgemeinen Edit-Befehles wäre der Tag, an dem ich mich aus fhem verabschiede. Alles was Sinn macht, geht jetzt schon mit der eingebauten Edit-Funktion des fhem-Frontends. Mehr braucht es wirklich nicht.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: JoWiemann am 26 Mai 2014, 19:49:42
Schade, dass diese Diskussion so ideologisch engstirnig geführt wird. Was ist daran zu verteufeln, dass es Nutzer gibt, die gerne mit Include-Dateien arbeiten und diese über ein Frontend-Edit pflegen möchten. Das der Eine alles in eine Datenbank packen möchte, gerne, soll er tun. Das der Andere alles in eine fhem.cfg packt, auch, gerne. Deswegen ist weder der Eine noch der Andere, oder der Include-Nutzer dumm, doof, unmodern oder was auch immer. Schade, Schade, Schade

Grüße Jörg
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: betateilchen am 26 Mai 2014, 21:46:25
Ich weiss nicht, was Du nimmst, um überhaupt auf solch eine absurde Aussage zu kommen, aber nimm nicht mehr so viel davon.

Zitat von: JoWiemann am 26 Mai 2014, 19:49:42
Deswegen ist weder der Eine noch der Andere, oder der Include-Nutzer dumm, doof, unmodern oder was auch immer.

Hier wurde niemand als dumm, doof, oder unmodern bezeichnet. Ausser von Dir.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: kvo1 am 27 Mai 2014, 07:49:07
Hallo Zusammen,

"betateilchen" hat da schon recht , mehr braucht es einfach nicht !

Klaus
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: Bennemannc am 27 Mai 2014, 09:15:08
Hallo,

ich würde auch gerne alle meine cfg Dateien sehen - aber zur Not komme ich ja auch anders dran (externer Editor). Ich finde es schon gut, wenn fhem Änderungen automatisch in die "richtige" cfg schreibt. Mit der Datenbank - das hat sicherlich was für sich, allerdings hatte ich letzens wieder den Fall, das ein delete ... nicht alle Informationen aus der cfg gelöscht hat. Da habe ich dann doch noch lieber eine Textdatei, bei der ich das händisch ändern kann.

Gruß Christoph
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: marvin78 am 27 Mai 2014, 09:36:35
Auch wenn du nicht configDB benutzt, gibt es keinen Grund, die Config Dateien manuell zu ändern. Es geht alles über das Frontend und das hat, wenn man es richtig macht, eine Struktur. Welchen Sinn machen dann include Dateien und eine Struktur in der Config? FHEM weiß, wo alles steht. Dass eventuell bei  einem delete gewisse Dinge nicht gelöscht werden, kann eigentlich auch nur an einer erzwungenen Strukturierung liegen, die FHEM nicht benötigt. Hat man alles in einer Config-Datei und bedient man FHEM nur über das Frontend, dann kommt so etwas nicht vor.

Ich habe über 400 Entities und meine config sieht sicher nicht schön aus. Aber ich weiß es nicht, da ich sie trotz intensiver Konfigurationswut nie anfassen muss.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: Bennemannc am 27 Mai 2014, 10:13:30
Hallo,

das war ein "readingsHistory" device. Der war über die Befehlszeile angelegt worden, und ist auch darüber gelöscht worden. Nach einem SaveConfig stand er aber immer noch in der fhem.cfg. Das habe ich auch schon mal bei anderen Einträgen gehabt. Normalerweise bearbeite ich die cfg auch nicht manuell sondern mache alles über das WebIf - aber wenn etwas nicht funktioniert oder um anderen Beispiele zu posten, gehe ich in die fhem.cfg und kopiere da was raus.
Da ich dabei nicht so viel scrollen möchte, habe ich die Devices, an denen keine größeren Veränderungen mehr vorgenommen werden, ausgelagert und mit INCLUDE eingebunden.

Gruß Christoph
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: JoWiemann am 27 Mai 2014, 10:22:00
Zitat von: betateilchen am 26 Mai 2014, 21:46:25
Ich weiss nicht, was Du nimmst, um überhaupt auf solch eine absurde Aussage zu kommen, aber nimm nicht mehr so viel davon.

Hier wurde niemand als dumm, doof, oder unmodern bezeichnet. Ausser von Dir.

Das habe ich auch nicht geschrieben, sondern, dass man weder dumm noch doof ist, wenn man etwas tut was du als (und jetzt überspitzt) Fußpilz bezeichnest. Aber hier sind wir beim Sender / Empfänger-Problem, und das habe ich versucht sichtbar zu machen. Du hast gelesen, dass ich Andere als dumm bezeichne, ich habe Deinen Beitrag als Abqualifizierung gelesen - vor allem da Du ja das Forum verlassen möchtest, wenn es für verteilte cfg-Dateien eine Editiermöglichkeit gibt - , von daher plädiere ich für Sachlichkeit. Ironie, Überzeichnung und was auch immer sollte als solche gekennzeichnet werden. Und die Sinnfrage stellt sich für jeden anders. Jedenfalls meine Meinung.

Grüße Jörg


Titel: Antw:include Dateien auch in "edit files"
Beitrag von: betateilchen am 27 Mai 2014, 11:56:20
Zitat von: JoWiemann am 27 Mai 2014, 10:22:00
vor allem da Du ja das Forum verlassen möchtest, wenn es für verteilte cfg-Dateien eine Editiermöglichkeit gibt

Völliger Quatsch. Merkst Du eigentlich, welchen Unfug Du von Dir gibst? Erstens habe ich von "verteilten cfg-Dateien" überhaupt nichts in diesem Zusammenhang geschrieben, zweitens kann man verteilte cfg-Dateien auch jetzt schon in fhem editieren (sofern sie in ./FHEM liegen).

Over & Out.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: b4r7 am 29 Mai 2014, 09:39:56
Es ist doch jedem selbst überlassen wie er sein FHEM konfiguriert. War ja nur ein Wunsch. Wenn das so nicht gemacht wird ist doch auch Okay. Kein Grund sich an die Gurgel zu gehen ;)

Gesendet von meinem Nexus 7 mit Tapatalk

Titel: Antw:include Dateien auch in "edit files"
Beitrag von: no_Legend am 27 Juni 2014, 10:42:04
Mit würde es auch gefallen, wenn die configs die ich per include inbau einen eigenen Edit Button bekommen.
Mir ist auch bewusst dass die Editierung per WebGui erfolgen soll/kann.
Allerdings bin ich ein Freund von Struktur und diese sehe ich in einer einzigen Config Datei mit bald 250 Zeilen (bei gerade 10 devices) echt nicht.

Ich finde es auch überaus verwirrend das FHEM die Zeilen direkt auf eine Device die zeile vom nächsten folgt.
Mit fehlt da ein CR.

Edit: Kurz um ich bin für den Patch.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: marvin78 am 27 Juni 2014, 10:48:02
Zitat von: no_Legend am 27 Juni 2014, 10:42:04

Allerdings bin ich ein Freund von Struktur und diese sehe ich in einer einzigen Config Datei mit bald 250 Zeilen (bei gerade 10 devices) echt nicht.

Ich finde es auch überaus verwirrend das FHEM die Zeilen direkt auf eine Device die zeile vom nächsten folgt.
Mit fehlt da ein CR.


Wofür soll denn die Struktur gut sein, wenn man ohnehin nicht in die Config schauen muss, weil ALLES über das Webfrontend geht? FHEM weiß auch ohne Struktur, wo alles steht. Schaust du bei einem Buchhaltungsprogramm (hier kann jedes beliebige Programm eingesetzt werden) auch immer direkt in die konfigurationsdateien oder machst du die Config über die GUI?

Ganz abgesehen davon ist ein Patch nicht notwendig, weil man die include Dateien sehr wohl jetzt schon über edit files ändern kann, wenn sie nur im richtigen Verzeichnis liegen, wie betateilchen oben schon geschrieben hat.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: no_Legend am 27 Juni 2014, 10:52:09
Hi Marvin,

deine Meinung kann ich nachvollziehen, allerdings schaue ich auch gerne mal unter die haube.
Ich arbeite gerne mit Config Dateien und diese habe ich in einem Extra Ordner.

Ob du so arbeitest oder nicht bleibt ja auch dir dadruch immernoch überlassen.
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: Xguide am 14 September 2016, 12:29:33
Ziemlich verfahrene Diskussion hier und ich versuche sie jetzt auch noch einmal aufzuwärmen  ;) Ich hoffe die Gemüter haben sich beruhigt.

Also ich gehöre auch zu den include-Freunden, ich habe da meine Struktur und will die nicht über den Haufen werfen. Um nur einen Vorteil zu nennen, wenn ich neue Funktionen auf meinem Testsystem freigebe, kann ich einen ganzen Block (mehre Dummies oder was auch immer benötigt wird) auf einen Rutsch in das nächste Verzeichnis kopieren.

Ich habe meine cfg's, weil es ja auch nicht anders geht unter fhem/FHEM liegen, somit habe ich sie unter "edit files" im Zugriff. Nun kommt aber der negative Punkt an der von euch empfohlenen Methode und zwar werden diese Dateien im Backup nicht richtig gesichert. Verweis auf Thread: https://forum.fhem.de/index.php?topic=19029.0 (https://forum.fhem.de/index.php?topic=19029.0)

Für mich stellt es sich so dar, wenn ich funktionierende Backups haben will, dann lege ich mir ein CFG-Verzeichnis außerhalb von FHEM an, kann dann aber die Files nicht mehr in FHEMWEB editieren, oder habe ich etwas grundlegendes verpennt? So ist es zumindest seit Jahren bei mir und ich lebe mit den defekten Backups und sicher per at täglich selbst, was ich nicht wirklich schön finde, es aber schön lange nach hinten angestellt habe. Getrau dem Motto, nichts hält länger als ein Provisorium.....

Sonnige Grüße aus Bochum,

Marcel
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: marvin78 am 14 September 2016, 12:35:46
Das Backup kann auch eigene Skripts ausführen (siehe commandref zu global - backupcmd). So kannst du sichern, was du möchtest
Titel: Antw:include Dateien auch in "edit files"
Beitrag von: Xguide am 14 September 2016, 12:55:15
danke, werde es mal versuchen...