Gelöst: fhem.cfg Editor / editieren / Transfer

Begonnen von Neo, 21 Januar 2017, 19:15:54

Vorheriges Thema - Nächstes Thema

Neo

Möchte "fhem.cfg" per hand zu editieren und frage mich wie Ihr das macht.
Transfer zum PC, Editieren, zurück oder kann man auch direkt auf dem Raspberry-Pi arbeiten (... aber bitte nicht mit VI :-))?
Welche Tools benutzt Ihr dabei?

Viele Grüße,
Neo

Icinger

Gar keine Tools......
Es gibt eigentlich NICHTS, was du nicht leichter und fehlerfreier über die Weboberfläche machen könntest.

Habe seit grob geschätzt 2-3 Jahren schon nicht mehr in meine Config-Datei reingeschaut.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Puschel74

#2
Gar keine Tools - ich weiß nichtmal wie es in meiner fhem.cfg aussieht weil es mir egal ist.
FHEM muss sie schreiben und lesen können und den Rest mache ich über das Frontend.

Codes für notifys oder meine 99_myCodes.pm erstelle ich mit Notepad++ und kopiere die Daten
bei notify lege ich das define über die Befehlszeile an und kopiere den Rest in das DEF
bei 99_myCodes.pm kopiere ich die Datei mit WinSCP vom Cubie auf mein NAS
- hole sie von dort in Notepad++
- erweitere die Datei um meinen Code
- speicher sie am NAS ab
- kopiere sie per WinSCP wieder auf meinen Cubie
- führe in FHEM ein reload 99_myCodes aus
- und das war es

Edith: Ja ich weiß der Teil mit der 99_myCodes geht auch über FHEM aber ich mach das eben "umständlich" weil es mir lieber ist.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Bracew

#3
Hallo Neo,

ich arbeite mit dem FHEM eigenen integrierten Editor in der Weboberfläche: "Edit Files" - "fhem.cfg"
Vorher über die Suchfunktion in diesem Forum nach "editConfig" oder "attr WEB editConfig 1" suchen um den Weg für das Editieren in FHEM einschalten zu finden.

Ich persönlich habe noch nie etwas über die Weboberfläche gemacht (grob geschätzt auch schon 2-3 Jahre).
Dies ist aber innerhalb dieses Forums eine "Riesen Diskussion" der Befürworter und der Gegner beider Methoden.
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

Neo

Bin Neuling und deswegen traue ich mich gar nicht zu widersprechen, trotzdem liste ich ein paar Sachen, die viel einfacher mit einer Text-datei wären.

  • Search&Replace : Mit Vorsicht kann man vieles auf einem Schlag ändern
  • Schnelleres Copy&Paste
  • Löschen von Entwicklungsversuchen, besonders die vielen Try&Errors von Neulingen ;-)
  • Kommentare einfügen
Ich selbst programmiere sehr viel, da ist das arbeiten mit dem Editor Standard ... da weiss und sehe ich direkt was ich tue und getan habe.

... ich lese gerade die mittlerweile mehreren Beiträge, und verstehe, dass es ein kleiner Glaubenskrieg ist, den ich hier nicht weiter einheizen möchte ... ich glaube ich halte mich an Bracew :-)

Daher werde ich das Thema unmittelbar schliessen.

Vielen Dank Euch,
Neo


marvin78

Es ist kein Glaubenskrieg. Es wird empfohlen, die Config nicht direkt zu editieren, da das den Supportaufwand, gerade bei Anfängern, extrem erhöht. Es gab hier Zeiten, da musste man in jedem zweiten Beitrag, nach einigem hin und her, feststellen, dass das Problem nur aus dem direkten Editieren der Config entstanden ist.

Es gibt keinen guten Grund, die Config direkt zu editieren, übrigens auch nicht Copy und Paste oder Search and Replace. Dafür gibt es devspec. Zudem ist gerade dieses Copy und Paste eines der Dinge, was viele Probleme verursachen kann. Kommentare sind gar nicht notwendig, wenn man die Config nicht direkt editiert. Man schaut ja nicht rein (ich persönlich habe das seit Jahren nicht getan, ich weiß aber, dass ich mehr als 10000 Zeilen drin habe. FHEM hat die Übersicht weil ich sie längst verloren hätte). Um Devices zu erklären, gibt es das comment Attribut, längeren Code lagert man in eine myUtils aus, da kann man dann kommentieren, wie man lustig ist. All diese vermeintlichen Vorteile, die du aufgelistet hat sind keine, wenn man weiß, womit man es hier zu tun hat und wenn man von den korrekten Voraussetzungen ausgeht.

Trotzdem bleibt: Die Config nicht zu editieren ist eine klare Empfehlung und es verursache keinen Glaubenskrieg. Von mir bekommt jedoch z.B. niemand jemals Code für die Config, sondern immer für das DEF. Einfach, weil der Support dann einfacher ist.

Zrrronggg!

Ich editiere die cfg direkt mit BBEdit und paste die dann rein. Und zwar aus genau den Gründen die Neo genannt hat. Das ist nach wie vor meine bevorzugte Methode.
ZitatIch persönlich habe noch nie etwas über die Weboberfläche gemacht.
dito.
FHEM selbst erzeugt bei mir nur Code wenn ich mal bei HM Devices Autocreate benutze, das sonst bei mir immer aus ist.

Wenn was schief gehen sollte habe ich dir vorherige Version, paste die rein, fertig.


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Wenn der User weiß was er macht ist das ja ok  ;)
Wenn jemand aber Hilfe zu einem Code will dann halte ich das so wie marvin
ZitatVon mir bekommt jedoch z.B. niemand jemals Code für die Config, sondern immer für das DEF.
Was der User dann draus macht ist mir egal.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Neo

Hallo alle,

habe zwar das Thema als "gelöst" markiert, muss aber doch nochmal was sagen.

Ich habe es so gehandhabt wie Bracew vorgeschlagen und habe seit gestern auschließlich so gearbeitet:

  • "fhem.cfg" aus dem Webinterface nach Notepad++ kopiert,
  • In Notepad++ eine Sicherheitskopie, dann dort meine Änderungen gemacht,
  • Copy&Paste zurück ins "fhem.cfg" + "save".
    Achtung: Unter Umständen berichtet das Web-Interface Fehler, das etwas nicht definiert ist, was aber nicht stimmen muss,
  • Bin ich zufrieden dann, kommt das aktuelle "cfg" unter Konfikontrolle (bei mir SVN).
Ich muss sagen, das Arbeiten so ist eine echte Wohltat für mich und ich fühle mich in FHEM mehr zu Hause als über das Webinterface. Ich habe

  • die ganze Datei strukturiert,
  • einige Leichen entfernt - teilweise konnte ich mich erinnern, dass sie durch Versuche entstanden sind,
  • einige Namensinkonsistenzen entfernt,
  • einiges umbenannt,
  • viele Kommentarzeilen eingefügt, nicht nur bei einzelnen Befehlen, sondern auch in den einzelnen Abschnitten. Auch meine Abkürzungsliste und meine "Regeln" sind nun in der Datei.
Ich verstehe nun FHEM auch besser.

Generell möchte ich aber auch denen zustimmen, die Anfänger das abraten. Es ist sehr wichtig vorsichtig und sorgfältig zu sein und Programmiererfahrung ist sehr hilfreich. Z.B. ist es einem Programmierer klar, das ich vorher eine Variable deklarieren muss, bevor ich sie nutze. Und so ist es auch mit einem "define". Und ich versteh auch und kann das nur unterstreichen, das es nervig und auch etwas "undankbar" ist, Fehler in einer "cfg" zu debuggen.

Vielen Dank nochmal und viele Grüße,
Neo

Bracew

Hallo Neo,

nur als Tip, Sicherheitskopie der fhem.cfg mache ich auch innerhalb von FHEM.

Statt den Button "Save fhem.cfg" benutze ich den Button "Save as" mit einem Namen zum Beispiel "fhem-2016-01-22.cfg". Die neue Sicherheitskopie-Datei erscheint im Anschluß auch in der Weboberfläche mit diesem Namen unter "Edit Files" und man könnte durch Copy&Paste wieder einen alten Stand in die "fhem.cfg" reinkopieren oder in der FHEM-Dateistruktur umbennen.

Ansonsten stimme ich Dir zu. Mir geht es auch so, dass ich lieber den Code vor mir sehe, als etwas imaginäres unter dem Webinterface zusammen zu klicken. Leider wird dies von den führenden Köpfen dieses Forums nur ungern und nicht gleichberechtigt gesehen.

Lieber Grüße und viel Spaß
Bracew
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

Neo

Hallo Bracew,

das wusste ich nicht, ein toller Tipp, ein gutes Feature von FHEM! Danke!

Oh ja, den habe ich, FHEM macht Spaß :-) ... liebe Grüße zurück,
Neo

Benni

Zitat von: Bracew am 22 Januar 2017, 11:42:24
dass ich lieber den Code vor mir sehe, als etwas imaginäres unter dem Webinterface zusammen zu klicken.

Imaginär?   :-\
Eher "What you see is what you get!"   ;D

Außerdem würde ich die fhem.cfg nicht als Code bezeichnen wollen; es ist und bleibt ein Config-File, in dem zugegebenermaßen auch Code enthalten sein kann.


Zitat von: Neo am 22 Januar 2017, 11:17:55
Ich verstehe nun FHEM auch besser.

Durch das manuelle Bearbeiten der fhem.cfg?  :o
Das glaube ich nicht!

SCNR

Zrrronggg!

ZitatDurch das manuelle Bearbeiten der fhem.cfg?  :o
Das glaube ich nicht!

Hm. Ich schon. Wenn man Sachen "zu Fuss" machen muss ist es umständlicher aber man weiss hinterher auch besser was alles unbedingt muss und was nur nice to have ist.

Man kann z.b. gefahrlos die Hälfte allen Krams der Autocreate so erzeugt weglassen. Und ICH weiss auch welchen Hälfte, weil ich das alles per Hand mache (na gut - HM nicht)

So oder so: Jeder denkt eben anders. Ich sehe da nicht so das Problem.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

marvin78

Warum weißt du das, weil du es alles per Hand machst? Das ist überhaupt keine logische Folge. Dann könnte ich schreiben, ich weiß, was ich weglassen kann, weil ich es alles per Weboberfläche entferne und die Aussage wäre genau so wahr oder falsch.

Es ist ja auch ok, dass es jeder anders sieht. Unsere Bitte ist lediglich, dass man die Config nur dann direkt editiert, wenn man sich wirklich richtig gut auskennt und weiß, was man tut. Oft genug ist eben genau das nicht so. Deshalb geht an jeden Anfänger und auch Fortgeschrittenen, den Weg über das Frontend zu gehen, welcher im Übrigen mit Nichten dazu führt, dass man weniger über FHEM lernt. Es gibt keinen guten objektiven Grund, die Config direkt zu editieren, es hat keine Vorteile auf technischer Ebene. Persönliche Vorlieben spielen da nur für jeden Einzelnen eine Rolle.

Zrrronggg!

ZitatWarum weißt du das, weil du es alles per Hand machst?
Weil Menschen in letzten 20.000 Jahren am besten durch Fehler lernen, die sie selber mal gemacht haben.


Eingabe per Webinterface macht weniger Fehler.
Vorteil: Weniger Fehler.
Nachteil: Weniger gelernt.


Aber was wir hier tun ist wieder das gleiche: Wir argumentieren über etwas, was sachlichen Argumenten wenig zugänglich ist, weil es Geschmackssache ist.

"Es gibt keinen guten objektiven Grund, nur das Webinterface zu verwenden, es hat keine Vorteile auf technischer Ebene."

Also: Mach du mit Webinterface, ich mach mit .cfg editieren. Beides hat Vor- und Nachteile. Kein Problem.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL