Autor Thema: config files in fhem editieren  (Gelesen 2093 mal)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19985
Antw:config files in fhem editieren
« Antwort #15 am: 18 Januar 2019, 18:39:14 »
Wohl nicht ganz so trivial. Nach dem Editieren wird leider nur Dateiname an FHEMWEB zurueckgeliefert, und FW_fileNameToPath entscheidet anhand Dateiendung, wo es hingehoert, mit moddir/FHEM/Dateiname, falls sonst nirgendwo passt.
Ideen?

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #16 am: 18 Januar 2019, 19:10:17 »
Wohl nicht ganz so trivial.

Stimmt :)

Ich arbeite gerade an dem Thema. Bin in den nächsten Tagen noch öfters auf Langstrecken mit der Deutschen Bahn unterwegs...
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #17 am: 20 Januar 2019, 18:21:43 »
Die Bahnfahrt heute hat sich gelohnt - und sie ist noch nicht zu Ende.

  • FHEM bekommt ein neues Verzeichnis modpath/conf
  • Die Edit Files Seite bekommt einen neuen Bereich "Config files"
  • Die Namen der config Files stehen in einem neuen hash in FHEMWEB mit dem Namen %FW_customConfFiles

Die Bearbeitung der Dateien mit dem internen Editor ist ohne weitere Besonderheiten in die vorhandene Implementierung eingebunden.

Einen ersten Patch zur Begutachtung habe ich angehängt. die beiden Beispieleinträge in den hash müssen in der Produktversion natürlich rausgenommen werden.

  • Der Wert 0 im hash hat derzeit noch keine Bedeutung, ich habe einen hash zur Ablage gewählt, um die Möglichkeit zu haben, später ggf. noch weitere Aktionen mit diesen Konfigurationsdateien ausführen zu können, an die ich jetzt noch nicht gedacht habe.
  • Aus dem gleichen Grund (evtl. spätere Erweiterung) wurde die Erzeugung der regexp für die Dateiliste in eine eigene Funktion ausgelagert.
  • Die Implementierung ist bezüglich fhem.cfg und configDB völlig transparent. Bei mir liegt die Datei "karl.august" in der configDB und "demo.conf" im Dateisystem. FHEMWEB erkennt das wie bisher automatisch, lädt die Datei von der richtigen Quelle und speichert sie auch wieder an den richtigen Speicherort ab.

Im einfachsten Fall trägt ein Modul seine eigene Konfigurationsdatei(en) einfach in den genannten hash ein, um sie in der Liste anzuzeigen. Genau so einfach wird eine Konfigurationsdatei wieder aus der Liste gelöscht, wenn sie aus dem hash entfernt wird.

Achtung: Wer testen möchte, muss darauf achten, dass die in den hash eingetragene Datei auch tatsächlich existiert, sonst wird sie in der Liste nicht angezeigt. (Diese Prüfung kommt direkt aus FHEMWEB und hat mit der jetzigen Änderung nichts zu tun)


aktualisierter patch im weiteren Verlauf des Threads
« Letzte Änderung: 20 Januar 2019, 20:03:03 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #18 am: 20 Januar 2019, 19:55:18 »
An der Möglichkeit, in den hash direkt eine regexp einzutragen, arbeite ich noch. Insbesondere wenn ein Modul mehrere Konfigurationsdateien benutzt, die sich per regexp zusammenfassen lassen, wäre das ein schönes feature.

Anzeigen in der Liste geht schon, die Auflösung von file to path fehlt noch.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #19 am: 20 Januar 2019, 20:07:20 »
An der Möglichkeit, in den hash direkt eine regexp einzutragen, ...

Anzeigen in der Liste geht schon, die Auflösung von file to path fehlt noch.

funktioniert jetzt. Siehe screenshot

$FW_customConfFiles{'.*.xy'}   = "0";
« Letzte Änderung: 21 Januar 2019, 20:01:29 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19985
Antw:config files in fhem editieren
« Antwort #20 am: 20 Januar 2019, 20:14:10 »
Jetzt fehlt nur noch die sinnvolle Bestueckung von FW_confFiles.
Nein, ich weiss nicht, was sinnvoll ist :)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #21 am: 20 Januar 2019, 20:15:10 »
Wir sind auf jeden Fall für Erweiterungen vorbereitet  8)
Falls keine Erweiterungen kommen, umso besser.

Mein Hauptgedanke bei der Umsetzung war, erstmal möglichst wenig invasiv in FHEMWEB zu arbeiten und möglichst vieles zu verwenden, was an Funktionalität vorhanden und bewährt ist.
« Letzte Änderung: 20 Januar 2019, 20:17:03 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #22 am: 20 Januar 2019, 20:34:10 »
Jetzt fehlt nur noch die sinnvolle Bestueckung von FW_confFiles.

Bevor jetzt jemand auf die Idee kommt "man könnte ja den Modulnamen eintragen, um das Modul über Änderungen an "seiner" Konfigurationsdatei zu informieren" - das funktioniert auch heute schon. Beispiele sind 02_RSS.pm und 55_InfoPanel.pm, die nach Änderungen an einer Layoutdatei im Editor diese Layoutdatei automatisch neu einlesen um sie zu verwenden.

Für jede Datei, die über den Editor geändert und gespeichert wird, wird ein event global:FILEWRITE <fileName> erzeugt.
« Letzte Änderung: 20 Januar 2019, 20:37:40 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #23 am: 20 Januar 2019, 20:51:32 »
Die Auflösung in file2path geht noch eleganter:

nein, doch nicht...
« Letzte Änderung: 21 Januar 2019, 21:10:26 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19985
Antw:config files in fhem editieren
« Antwort #24 am: 21 Januar 2019, 09:52:47 »
Ich finde es ungluecklich, dass ich fuer jedes Projekt, was Konfigurationsdateien in diesem Ordner speichern will, FHEMWEB anpassen muss, alternativ faellt mir kein Regexp ein, was alle Projekte gluecklich macht und keine sonstigen FHEM Dateien matcht.
Wie waere es mit "alle Dateien" aus FW_confDir?


Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #25 am: 21 Januar 2019, 09:59:38 »
ich denke die liste der konfiguration files sollte nicht fest sein sondern dynamisch aus den modul und device hashes zusammen gesucht werden. also z.b. alle $hash->{FW_configFiles} zusammen suchen. darüber hat man dann auch umgekehrt die zuordnung welches file zu welchem modul gehört
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #26 am: 21 Januar 2019, 10:12:37 »
Ich finde es ungluecklich, dass ich fuer jedes Projekt, was Konfigurationsdateien in diesem Ordner speichern will, FHEMWEB anpassen muss,

Das verstehe ich nicht: "dass ich fuer jedes Projekt, was Konfigurationsdateien in diesem Ordner speichern will, FHEMWEB anpassen muss"

Wieso musst Du FHEMWEB anpassen? Die Liste ist doch komplett dynamisch und FHEMWEB muss sich um keine regexp kümmern.

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 22.03.2019 - 18:30 Uhr im Baseler Hof

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19985
Antw:config files in fhem editieren
« Antwort #27 am: 21 Januar 2019, 10:22:00 »
@justme1968: Wozu braucht man diese Zuordnung?
@betateilchen: Wenn ich deinen Patch, so wie er ist (mit karl.august & co), einchecke, gehe ich davon aus, dass nicht alle zufrieden sind.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #28 am: 21 Januar 2019, 10:59:45 »
weil jedes modul selber sagen soll welche config files editierbar sein sollen und man dann auch jedes modul über sein config file informieren kann.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19985
Antw:config files in fhem editieren
« Antwort #29 am: 21 Januar 2019, 11:11:41 »
Zitat
weil jedes modul selber sagen soll welche config files editierbar sein sollen
D.h. FW_confdir ist nicht noetig, und jedes Modul kann _eine_ Datei beliebig spezifizieren. Der Benutzer kann nicht alternative oder alte Konfigrationen anschauen, und fuer eine Konfigurationsdatei muss zwingend eine FHEM-Geraete-Instanz angelegt sein.
Ich bin immer noch fuer "FHEM/conf/*", ohne Modul-Mitwirkung :)

Zitat
und man dann auch jedes modul über sein config file informieren kann.
Das gibt es jetzt schon per global:FILEWRITE.

 

decade-submarginal