Autor Thema: Pfad wird nicht korrekt übernommen bei editFileList  (Gelesen 2329 mal)

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Pfad wird nicht korrekt übernommen bei editFileList
« am: 12 Dezember 2016, 07:19:32 »
Hi zusammen,

um nicht zu vergessen was ich wann geänder habe, habe ich mir ein changelog angelegt.
defmod changelog_FileLog FileLog ./log/changelog-%Y.log igami.*.*
attr changelog_FileLog room changelog

defmod igami dummy
attr igami group changelog
attr igami room changelog
attr igami stateFormat {return ""}
attr igami userReadings state {delete $defs{$name}->{READINGS}{state};; return;;}
Nun wollte ich gerne das changelog auch manuell bearbeiten können und habe im FHEMWEB das Attribut editFileList vergeben
attr WEB editFileList Own modules and helper files:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|98_archetype.pm|.*cfg|.*holiday|myUtilsTemplate.pm|.*layout)$\
changelogs:"./log":^changelog.*log$\
Gplot files:$FW_gplotdir:^.*gplot$\
Styles:$FW_cssdir:^.*(css|svg|js)$\
Modules:$MW_dir:^([0-8][0-9]|9[0-9]).*.pm$\
Bei Edit files wird auch alles korrekt angezeigt. Klicke ich dann aber auf das changelog bekomme ich die Fehlermeldung "Can't open ./FHEM/changelog-2016.log: No such file or directory". Hier ist der Pfad nicht mehr "./log" sondern "./FHEM".

Das ist bestimmt nicht so gewollt.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20012
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #1 am: 12 Dezember 2016, 13:23:19 »
Zitat
Das ist bestimmt nicht so gewollt.
Das ist diskussionswuerdig. Aus Sicherheitsgruenden werden fuer die Anzeige/Bearbeitung
- *.js/*.css/*_defs.svg Dateien aus www/pgm2
- *.png/*.svg aus www/images
- *.gplot aus www/gplot
- alles andere aus dem FHEM
Verzeichnis genommen. Dass auch die Auflistung diese Regel folgen sollte, ist eine andere Baustelle.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #2 am: 13 Dezember 2016, 06:05:14 »
Dann eine andere Frage:
Wofür ist das Attribut dann gedacht, wenn ich nur eine Liste bekomme die Dateien aber weder einsehen, noch bearbeiten kann?
Den Pfad gebe ich ja mit an.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20012
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #3 am: 13 Dezember 2016, 09:12:40 »
Zitat
Wofür ist das Attribut dann gedacht, wenn ich nur eine Liste bekomme die Dateien aber weder einsehen, noch bearbeiten kann?
Um die Default-Liste kuerzen zu koennen.
Dass jemand Log-Dateien editieren will, daran habe ich nicht gedacht.

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #4 am: 13 Dezember 2016, 12:50:35 »
Spricht denn etwas dagegen das so zu bauen, dass es auch für neue Pfade möglich ist? Gibt hier ja auch einige Threads wo user gerne die Dateien für die Tablet UI direkt aus FHEM heraus bearbeiten möchten, das wäre damit ja dann möglich.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20012
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #5 am: 13 Dezember 2016, 14:59:14 »
Habe keine konkrete Idee, wie ich das etwas an Sicherheit mit Flexibilitaet verbinden soll.
Kannst du mal ein Patch dafuer bauen?

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #6 am: 13 Dezember 2016, 17:08:48 »
Ich kann mal schauen ob ich eine Idee habe, aber einen patch kann ich nicht erstellen, da ich mit SVN nicht umgehen kann.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3531
    • _.:|:._

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #8 am: 13 Dezember 2016, 17:44:03 »
Danke, das kannte ich noch nicht, ist ja wirklich einfach :)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1499
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #9 am: 13 Dezember 2016, 17:49:39 »
Spricht denn etwas dagegen das so zu bauen, dass es auch für neue Pfade möglich ist? Gibt hier ja auch einige Threads wo user gerne die Dateien für die Tablet UI direkt aus FHEM heraus bearbeiten möchten, das wäre damit ja dann möglich.

Ich schließe mich dem an, vorallem ftui-Konrigurationsseiten wären schön, wenn man auch am Handy kleinere Änderungen vornehmen könnte.

Die Sicherheitsaspekte teile ich nur bedingt: Ich kann mit fhem so viel sicherheitsrelevanten Quatsch machen, dass es auf diese Stelle meiner Meinung nach nicht ankommt....
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Offline Rampler

  • Sr. Member
  • ****
  • Beiträge: 659
  • Experience is what causes you to make new mistakes
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #10 am: 07 Januar 2017, 08:30:57 »
Hallo zusammen,
gibts da schon was neues ? Hätte da auch Interesse....
Log Dateien, aber auch meine tempList in /opt/FHEM/hminfo/ wären nett.

Merkwürdig ist, angelistet werden die Dateien, jedoch editieren oder ansehen geht nicht...
Temperatur Liste:"./hminfo":^tempList$
Log Files:"./log":^.*log$

bis die Tage
  Klaus

EDIT:
tempList habe ich mit einem smybolic link gelöst, bei den log's fällt mir leider nix ein ..
ln -s /opt/fhem/hminfo/tempList /opt/fhem/FHEM/tempList
« Letzte Änderung: 07 Januar 2017, 10:50:30 von Rampler »
3 HMUART, 1 DUOFERN, 7 ESP8266, RPI (Wheezy), und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15544
  • s/fhem\.cfg/configDB/g
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #11 am: 07 Januar 2017, 15:15:10 »
spätestens wenn jemand mit configDB arbeitet, wird das Ganze höchstwahrscheinlich scheitern... (ohne das jetzt geprüft zu haben)
-----------------------
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 JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1499
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #12 am: 07 Januar 2017, 22:26:57 »
... ein Nachteil von ConfigDB.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15544
  • s/fhem\.cfg/configDB/g
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #13 am: 08 Januar 2017, 12:01:22 »
Quatsch. Das ist doch kein ursächliches Problem der eingesetzten Speichervariante.

« Letzte Änderung: 08 Januar 2017, 12:05:35 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 nicht Gefällt mir nicht x 1 Liste anzeigen

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #14 am: 27 Januar 2017, 23:00:21 »
Mit dem Attribut editFileList kann man bestimmen was im Menü unter "Edit files" angezeigt werden soll. Der zweite Parameter pro Block/Zeile ist der Dateipfad. In der commandref sind drei Beispiele genannt, etwa $MW_dir. Ich bekomme es aber nicht hin Dateien anzuzeigen, die in /opt/fhem/FHEM/rivescript/ liegen. Also beim folgenden Inhalt des Attributes editFileList funktionieren die Zeilen 1 und 3 bis 5, aber nicht die Zeile 2 (der Block wird angezeigt, aber er ist immer leer und das liegt nicht am regulären Ausdruck im dritten Parameter und auch nicht an den Dateirechten)

Konfiguration:$MW_dir:^(.*cfg)$
Chatbot:/opt/fhem/FHEM/rivescript/:^(.*rive|.*rs)$
Hilfsdateien:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|.*holiday|myUtilsTemplate.pm|.*layout)$
Diagramme:$FW_gplotdir:^.*gplot$
Formatvorlagen:$FW_cssdir:^.*(css|svg)$

Ich habe ohne Erfolg als Pfadangabe im zweiten Parameter folgendes versucht
/opt/fhem/FHEM/rivescript
/opt/fhem/FHEM/rivescript/
rivescript
$MW_dir/rivescript
$MW_dir/rivescript/

Wie muss der Pfad spezifiziert werden?

igami hat mich darauf aufmerksam gemacht, dass das Thema bereits hier diskutiert wird. Ich habe meine Rivescript-Konfigurationsdateien in einem Unterverzeichnis von FHEM abgelegt (FHEM/rivescript). Da ich an diesen Dateien ständig arbeite (Chatbot-Dialog) möchte ich sie gerne über "Edit files" erreichen. Schaffe es aber noch nicht einmal, dass die Dateien in diesem Unterverzeichnis sichtbar werden. Ein Sicherheitsproblem kann ich hier nicht erkennen. Warum funktioniert das Attribut nicht so wie es in der commandref beschrieben ist?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20012
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #15 am: 28 Januar 2017, 21:08:53 »
Zitat
Warum funktioniert das Attribut nicht so wie es in der commandref beschrieben ist?
Na explizit zugesichert ist diese Eigenschaft nicht, mann kann es aber natuerlich so interpretieren.

Meine Antwort #1 (vom 12 Dezember) gilt immer noch, mein Kommentar laut SVN war:
Zitat
r2029 | rudolfkoenig | 2012-10-28 09:10:25 +0100 (Sun, 28 Oct 2012) | 4 lines

removed the possibility to show or edit arbitrary files on the system.
Only some fhem related files can be edited
Man kann natuerlich darueber diskutieren, ob diese Einschraenkung notwendig ist, oder nicht, eine Umstellung ist trotzdem aufwendig. Falls jemand einen Patch baut....

Workaround: Die Dateien im FHEM Verzeichnis ablegen.

Offline hartenthaler

  • Full Member
  • ***
  • Beiträge: 264
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #16 am: 28 Januar 2017, 22:25:38 »
Na explizit zugesichert ist diese Eigenschaft nicht, mann kann es aber natuerlich so interpretieren.
Gut, dann fände ich aber folgende Ergänzung in der commandref sinnvoll, damit der Interpretationsspielraum kleiner wird: "Andere Pfade, als die in der Voreinstellung verwendeten, werden nicht unterstützt." Das häte mir einiges Probieren erspart.

Zitat
Workaround: Die Dateien im FHEM Verzeichnis ablegen.
Eigentlich wollte ich die Dateien lieber getrennt halten, aber gut so funktioniert es.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20012
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #17 am: 29 Januar 2017, 12:08:38 »
Habe die Doku ergaenzt.

Offline Raemsna

  • New Member
  • *
  • Beiträge: 42
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #18 am: 29 Dezember 2018, 19:12:40 »
Hi zusammen,

um nicht zu vergessen was ich wann geänder habe, habe ich mir ein changelog angelegt.
defmod changelog_FileLog FileLog ./log/changelog-%Y.log igami.*.*
attr changelog_FileLog room changelog

defmod igami dummy
attr igami group changelog
attr igami room changelog
attr igami stateFormat {return ""}
attr igami userReadings state {delete $defs{$name}->{READINGS}{state};; return;;}
Nun wollte ich gerne das changelog auch manuell bearbeiten können und habe im FHEMWEB das Attribut editFileList vergeben
attr WEB editFileList Own modules and helper files:$MW_dir:^(.*sh|[0-9][0-9].*Util.*pm|98_archetype.pm|.*cfg|.*holiday|myUtilsTemplate.pm|.*layout)$\
changelogs:"./log":^changelog.*log$\
Gplot files:$FW_gplotdir:^.*gplot$\
Styles:$FW_cssdir:^.*(css|svg|js)$\
Modules:$MW_dir:^([0-8][0-9]|9[0-9]).*.pm$\
Bei Edit files wird auch alles korrekt angezeigt. Klicke ich dann aber auf das changelog bekomme ich die Fehlermeldung "Can't open ./FHEM/changelog-2016.log: No such file or directory". Hier ist der Pfad nicht mehr "./log" sondern "./FHEM".

Das ist bestimmt nicht so gewollt.

Grüße
igami


Hallo zusammen,

ich weiß, dass dieser Thread eigentlich um ein anderes Thema geht, aber ich wollte das changelog von igami nachbauen und bekomme aber leider keine Ergebnisse. Vielleicht kann mich jemand ein bisschen anschupsen :)

Letztendlich habe ich den Code von igami übernommen in ein eigenes Device. Hier das List:

Internals:
   CFGFN     
   NAME       changeLog
   NR         57917
   STATE     
   TYPE       dummy
   READINGS:
Attributes:
   DbLogExclude .*
   group      changelog
   room       Informationen
   stateFormat {return ""}
   userReadings state {delete $defs{$name}->{READINGS}{state}; return;}

Das zugehörige FileLog zeichnet aber nichts auf (da sich am Device selber auch nichts ändert).

Braucht dieses changelog noch ein notify o.Ä.?

Vielen herzlichen Dank (wie immer :) )

Grüße
Raemsna

Offline igami

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2597
  • RTFM
    • commandref
Antw:Pfad wird nicht korrekt übernommen bei editFileList
« Antwort #19 am: 30 Dezember 2018, 16:20:24 »
Vielleicht kann mich jemand ein bisschen anschupsen :)
Hier geht es weiter
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2019.

MAINTAINER: archetype, Heating_Control, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap, RandomTimer, WeekdayTimer
ToDo: adb, FluxLED

 

decade-submarginal