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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #30 am: 21 Januar 2019, 11:13:10 »
warum die beschränkung auf eine?

die config files könne vom modul ja auch als liste oder regex angegeben werden
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 #31 am: 21 Januar 2019, 12:21:23 »
Zitat
die config files könne vom modul ja auch als liste oder regex angegeben werden
Stimmt, meine anderen Einwaende (keine Alternativdateien editierbar, es muss ein Modul dafuer geben) bleiben aber bestehen.
Aber: ich brauche das nicht, es ist erstmal ein Dienst fuer alexa.
D.h. wenn du darauf bestehst, kriegst Du es so. Bitte bestaetigen.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #32 am: 21 Januar 2019, 12:41:57 »
ja. es muss ein modul dafür geben

ich würde aus dem alexa modul alexa-fhem.conf und alexa-fhem.conf.previous melden. d.h. das aktuelle config file und eine potentiell vorhandene sicherheitskopie der vorherigen version. d.h. aktuelle und vorherige version.
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 PatrickR

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 618
Antw:config files in fhem editieren
« Antwort #33 am: 21 Januar 2019, 13:16:50 »
Hallo zusammen!

Mir wäre ehrlich gesagt wohl dabei, wenn es nicht für jede zu editierende Datei zwingend ein Modul geben müsste. Die Ablage in dem neuen Verzeichnis sollte ausreichen. Wir sollten nicht aus den Augen verlieren, dass FHEM maximale Freiheiten für den Nutzer (d. h. nicht nur für den Modulentwickler) bietet. Dazu gehört auch, eigene Konfigurationsdateien mit FHEM-Bezug im Dateisystem abzulegen und an zentraler Stelle editieren zu wollen.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #34 am: 21 Januar 2019, 13:20:06 »
dann würde ich dafür eine option im fhemweb vorschlagen um eigene files in die liste mit aufzunehmen. wenn man tatsächlich alles möchte trägt man da halt .* ein.

maximale freiheit heiss nicht es maximal einfach zu machen etwas kaputt zu machen. nicht alle files sollen vom anwender editiert werden.
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
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 #35 am: 21 Januar 2019, 17:10:59 »
@Rudi: ich glaube wir reden aneinander vorbei. Den Kram mit "karl.august" sollst Du doch gar nicht mit einbauen

@alle anderen: Mein vorgeschlagener patch bietet doch genau das, was Ihr haben wollt. Irgendwie verstehe ich gerade nicht, worüber hier diskutiert wird.

Ich versuche heute abend noch einmal, die Idee hinter meinem Vorschlag klarzumachen.
-----------------------
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 #36 am: 21 Januar 2019, 20:19:10 »
Schritt 1: Rudi implementiert den angehängten patch und muss sich danach nicht mehr weiter darum kümmern. In dem Patch sind auch karl august und Konsorten nicht mehr enthalten.



Danach funktioniert folgendes:

ich würde aus dem alexa modul alexa-fhem.conf und alexa-fhem.conf.previous melden.

dazu trägst Du in Deiner alexa_Initialize() folgendes ein:

$FW_customConfFiles{'alexa-fhem.conf'}   = "0";
$FW_customConfFiles{'alexa-fhem.conf.previous'}   = "0";

und schon werden diese beiden Dateien in FHEMWEB zum Editieren angeboten, vorausgesetzt, die Dateien existieren im ./conf Verzeichnis.

die config files könne vom modul ja auch als liste oder regex angegeben werden

siehe oben - Du kannst beliebig viele Dateien in die Liste eintragen.
Und auch Dein Wunsch nach der regexp würde bereits funktionieren. Anstatt die beiden Dateien einzeln zu registrieren, könntest Du auch nur folgendes angeben:

$FW_customConfFiles{'alexa-fhem\.conf.*'}   = "0";

Kommen wir zum nächsten Wunsch...

Mir wäre ehrlich gesagt wohl dabei, wenn es nicht für jede zu editierende Datei zwingend ein Modul geben müsste.

Das ist nicht notwendig und würde für mich auch wenig Sinn machen.

Dazu gehört auch, eigene Konfigurationsdateien mit FHEM-Bezug im Dateisystem abzulegen und an zentraler Stelle editieren zu wollen.

Auch das geht bereits. Du kannst eine beliebige Datei in das Verzeichnis ./conf legen und musst nur dafür sorgen, dass sie FHEMWEB bekannt gemacht wird, z.B. über einen Eintrag in der myUtils_Initialize() Deiner 99_myUtils.pm

Bei mir habe ich die Konfigurationsdatei für DbLog in das Verzeichnis gelegt und die Datei in der 99_myUtils.pm an FHEMWEB registriert mit

$FW_customConfFiles{'myDbLog.conf'}   = "0";

Das Modul 93_DbLog.pm könnte beispielsweise auch die im DEF eines dblog-devices genannte Konfigurationsdatei automatisch bei FHEMWEB registrieren, um sie zum Editieren anzubieten.

Und auch das hier

und man dann auch jedes modul über sein config file informieren kann.

Das funktioniert schon lange, das habe ich bereits gestern hier im Thread beschrieben und Rudi hat das heute auch nochmal bestätigt. Du musst in der NotifyFN() Deines Moduls nur auf global:FILEWRITE triggern und prüfen, ob dabei eine "Deiner" Dateien geschrieben wurde.



Hoffentlich wird jetzt klarer, dass ich versucht habe, alle Wünsche zu berücksichtigen.
-----------------------
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 3 Liste anzeigen

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18385
Antw:config files in fhem editieren
« Antwort #37 am: 21 Januar 2019, 20:25:18 »
So habe ich es mir vorgestellt. Dann weiß ich jetzt auch endlich wie ich meine templisten editieren kann. Danke Dir Udo.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18657
Antw:config files in fhem editieren
« Antwort #38 am: 21 Januar 2019, 20:28:50 »
das klingt wunderbar. sehr schön.

test folgt sobald ich dazu komme.
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 #39 am: 21 Januar 2019, 21:09:45 »
Gerade habe ich grade festgestellt, dass ich mir die file2path Auflösung nochmal vornehmen muss. Momentan kann ich ausschließlich die Dateien im conf Verzeichnis editieren, offenbar funktioniert das doch nicht so elegant, wie ich mir das gestern ausgedacht und nachträglich geändert habe :)



Edit: so klappts, und so hatte ich das ja gestern auch zuerst implementiert.

FW_fileNameToPath($)
{
  my $name = shift;

  my @f = sort keys %FW_customConfFiles;
  return "$FW_confdir/$name" if ( map { $name =~ $_ } @f );

...
« Letzte Änderung: 21 Januar 2019, 21:17:47 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 #40 am: 21 Januar 2019, 21:55:29 »
Wer testen möchte, findet eine entsprechend gepatchte 01_FHEMWEB.pm unter ./contrib/betateilchen im SVN.

Einen Nachtrag habe ich noch zum Thema "eigene Dateien ohne zugehöriges Modul". Der vorgeschlagene Weg, diese Dateien in der myUtils_Initialize() zu registrieren, war kein guter Tipp. Die 99_myUtils.pm wird sehr viel früher geladen als die 01_FHEMWEB.pm, deshalb gibt es den entsprechenden hash zum Eintragen zu diesem Zeitpunkt noch gar nicht.

Besser wäre, solche modulunabhängigen conf-Dateien in einer Funktion der 99_myUtils.pm zu registrieren, die erst ausgeführt wird, wenn der FHEM Start ausgeführt ist, z.B. per notify auf global:INITIALIZED

Ein ähnliches Problem könnte auftreten, wenn in einer FHEM Installation ein Modul versucht, Dateien zu registrieren, bevor das Modul 01_FHEMWEB geladen ist. Das sollte zwar selten vorkommen, ist aber nicht auszuschließen.
-----------------------
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 #41 am: 21 Januar 2019, 22:29:27 »
Ich bin zwar von der Loesung, dass andere Module FHEMWEB-Variablen aendern, nicht sehr angetan, aber ich finde das Nutzen/Kosten fuer weiter zu diskutieren nicht ausreichend, insofern habe ich den Patch eingecheckt.

Bemerkungen:
- patch hat was von "patch unexpectedly ends in middle of line" gemeldet, bitte pruefen, ob nicht was schiefgegangen ist.
- ich habe die Aenderung aus dem vorletzten Beitrag auch eingebaut.
- ich habe die Ueberschrift in "Config files for external Programs" geaendert.
- ein Abschnitt wird nicht angezeigt, falls kein Inhalt da ist (der Abschnitt ist fuer 99% der FHEM-Benutzer sinnlos, da leer).

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15519
  • s/fhem\.cfg/configDB/g
Antw:config files in fhem editieren
« Antwort #42 am: 22 Januar 2019, 05:07:33 »
Ich bin zwar von der Loesung, dass andere Module FHEMWEB-Variablen aendern, nicht sehr angetan,

ich auch nicht, insbsondere aufgrund der oben erwähnten Reihenfolge-Problematik beim Laden der Module.
Die einfachste Lösung zur Lösung des Reihenfolgeproblems wäre, den hash in fhem.pl zu definieren anstatt in FHEMWEB.

- ein Abschnitt wird nicht angezeigt, falls kein Inhalt da ist (der Abschnitt ist fuer 99% der FHEM-Benutzer sinnlos, da leer).

Das stand noch auf meiner ToDo Liste. Danke, dass Du mir die Arbeit abgenommen hast :)

Jetzt müsste man nur noch dafür sorgen, dass das Verzeichnis ./conf in FHEM mit ausgeliefert wird und prüfen, ob das Verzeichnis auch bei einem backup berücksichtigt wird.
« Letzte Änderung: 22 Januar 2019, 08:49:18 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 #43 am: 22 Januar 2019, 08:53:18 »
Bemerkungen:
- patch hat was von "patch unexpectedly ends in middle of line" gemeldet, bitte pruefen, ob nicht was schiefgegangen ist.

Scheint alles gutgegangen zu sein.

Ich bin zwar von der Loesung, dass andere Module FHEMWEB-Variablen aendern, nicht sehr angetan,

Spräche aus Deiner Sicht etwas dagegen, anstatt %FW_customConfFiles in FHEMWEB den bereits vorhandenen %data aus fhem.pl dafür zu verwenden? Ich würde dann meine Implementierung nochmal auf $data{confFiles} umbauen und einen entsprechenden patch liefern. Jetzt wäre noch ein Zeitpunkt, wo man das relativ problemlos umstricken könnte, wenn die Funktionalität erstmal etabliert ist, wäre eine Änderung schwierig.

Die Verwendung von %data würde auch das Reihenfolgeproblem lösen.

insofern habe ich den Patch eingecheckt.

Danke für Deine Unterstützung.
-----------------------
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 #44 am: 22 Januar 2019, 12:03:56 »
Zitat
Spräche aus Deiner Sicht etwas dagegen, anstatt %FW_customConfFiles in FHEMWEB den bereits vorhandenen %data aus fhem.pl dafür zu verwenden?
Nein, ich finde %data auch besser.

Zitat
Jetzt müsste man nur noch dafür sorgen, dass das Verzeichnis ./conf in FHEM mit ausgeliefert wird [...]
Warum? Ich meine das kann auch von den Modulen/Personen, die es verwenden wollen, angelegt werden.
Habe sonst die Befuerchtung, dass es fuer eine Ablage von fhem.cfg benutzt wird.

Zitat
und prüfen, ob das Verzeichnis auch bei einem backup berücksichtigt wird.
Backup fuegt automatisch alle Verzeichnisse aus modpath hinzu, bis auf dem Backup-Verzeichnis selbst.

 

decade-submarginal