fhem.config verändern (nicht per Editor editieren)

Begonnen von Berndd, 08 Dezember 2015, 23:43:46

Vorheriges Thema - Nächstes Thema

Berndd

Hallo,

in http://fhem.de/commandref.html steht

"editConfig
If this FHEMWEB attribute is set to 1, then you will be able to edit the FHEM configuration file (fhem.cfg) in the "Edit files" section. After saving this file a rereadcfg is executed automatically, which has a lot of side effects." Das ist so ziemlich das gleiche wie in der FHEM-Warnung.

Ich habe verstanden,
1. dass das Editieren im Browserfenster (FHEM 5.7)  aus Sicherheitsgründen nicht aktiviert ist.

2. Befehle kann man auch über die Befehlszeile eingeben und dann über "Sichern" abspeichern

aber nun die Frage:

Wie gibt man Kommentare ein und ordnet die Datei  - lässt sich das auch ohne den editConfig realiseren?    Ich editiere z.Zt. die Datei fhem.cfg in nano mit backup-Funktion, dh die letzte Version kann zurück geholt werden. 

Hab noch das hier gefunden : http://forum.fhem.de/index.php/topic,16905.0.html ...Da sind sich scheinbar auch Fachleute nicht einig.

Ich denke, gerade als Anfänger, der noch keine gute Struktur hat ist es sinnvoll, ab und zu die fhem.cfg aufzuräumen und zu rekapitulieren was man gemacht hat, ich brauche auch Kommentare um zu sehen was ich wann gemacht habe.

Falls das auch schon zu oft gefragt wurde, bitte nur kurz den link wo es steht. DAnke.


Bernd

P.S. die Rechtschreibprüfung des Forums kennt FHEM nicht ;-)
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Si(MO)n

Hallo Berndd,

google mal nach "fhem ordnen" da gibt es einige Vorschläge..
Komentare werden dort auch erklärt.

Berndd

Danke Si(MO)n,
was ich unter 'fhem ordnen' gefunden habe ist schon ein guter Anfang. Wie ich verstand, kann durch Gruppen, Räume und sinnvolle Namenskonventionen  ins Web-Frontend Ordnung gebracht werden. ZB ist es wesentlich angenehmer, eine Gruppe 'Steckdosen' zu haben als lauter dummies. Dann kann man durch Suchfunktionen die Elemente in der fhem.cfg leichter finden.

Meine Frage ist nun: Kann ich die Definition, die Attribute und die Kommentare z.B. von/zu Steckdose3 in der fhem.cfg so anordnen, dass ich sie alle zusammen sehe (einschliesslich von auskommentierten Varianten, die mein Fehlertracking darstellen - um die Fehler nicht zu wiederholen ;-) und sie nicht an verschiedenen Stellen - wie ich sie gerade eingegeben hatte, erscheinen
OHNE
einen Texteditor zu benutzen?

Gute Nacht wünscht,
Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

franky08

#3
Such mal im Forum nach fhem.cfg editieren, dabei wird dir auffallen das das nichts als Ärger und Fehler bringt. Fhem ist es egal wie du dort etwas ordnest oder nicht. Nimm Änderungen im Webif unter DEF vor, dass schützt dich vor Fehlern da die Syntax geprüft wird. Anfängern wird im Forum immer wieder geraten die Finger von der cfg zu lassen.
P.S. Es gibt dort auch das comment attribut für deine kommentare
VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Icinger

Für Notizen zu einem Device kann man auch das fast unbekannte ^^ Attribut "comment" nutzen :D

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

chris1284

Zitat von: franky08 am 09 Dezember 2015, 01:02:38
Fhem ist es egal wie du dort etwas ordnest oder nicht.

eben nicht! fhem interessiert sich schon für die ordnung in der cfg. wenn du deine sachen dort falsch anordnest funktioniert fhem ebend nicht mehr (oder nur teilweise / macht komische sachen).
es gibt reihenfolgen die eingehalten werden müssen (von der syntax ganz zu schweigen)! Um da nicht auf probleme zu stoßen wird empfohlen das webinterface zu nutzen statt in der cfg zu schreiben da fhem die cfg korekt aufbaut.

bau dir eine struktur im webif auf. mit group, comment, room attributen, evtl icons zur besseren auffindbarkeit. reihenfolgen der räume kannst du über attr sortRooms im WEB device erstellen, genau wie roomIcons. dort kannst du dir auch neue einträge per attr menuEntries erstellen oder räume per attr hiddenroom verstecken.

masterpete23


Berndd

DAnke für die schnellen Antworten.
Selbstverständlich hatte ich bereits nach 'fhem.cfg editieren' gesucht und viele widersprüchliche Meinungen gefunden.

Selbst die Suche nach 'comment' in der Befehlsreferenz gibt zwar 33 Fundstellen, das informativste für mich Anfänger ist noch
quote
comment
Add an arbitrary comment.

unquote

Ich habe nun folgendes verstanden
1. Wo und wie man die fhem.cfg editiert ist gleichgültig, besser nicht.
2. Auf die Anordnung der Zeilen im fhem.cfg kommt es schon an, aber das wird beim Abspeichern über die Kommandozeile des Web-Interfaces von FHEM organisiert.
3.  Das Editieren einzelner DEF - Befehle/Deklarationen (? richtige Bezeichnung) ist sicher, weil die Syntax geprüft wird.
4. Kommentare lassen sich mit Abspeichern über das 'comment' attribut - das werde ich mir ansehen...(s.u.)
5. Habe gerade probeweise im DEF-Editor-Feld eine Zeile auskommentiert (der Einfachheit halber eine Kopie der Zeile) - wird auch im Web-Interface angezeigt:
*{sunrise(0,"05:00","09:00")} set Steckdose3 on
#*{sunrise(0,"05:00","09:00")} set Steckdose3 on

So können auch hier verschieden Versionen gespeichert und ausprobiert werden.
6. Im Web-Interface selber kann man Ordnung halten durch
- Raumdefinitionen, einschl.
        attr sortRooms (Sortierung)
        attr hiddenroom (Ausblenden)
        roomIcons
- Gruppendefinitionen
- attr comments (noch auszuprobieren)
- attr menuEntries (noch auszuprobieren)

Habe mich nun entschieden, die fhem.cfg als 'black box' zu betrachten, dh sie zunächst mehr oder weniger zu ignorieren, vieleicht sehe ich sie mir manchmal 'heimlich' an  ;). Falls Sich daraus viele Fragen ergeben, ist es nun nicht mehr meine Schuld wenn ich Euch nerve  ;D.

Vielleicht könnt Ihr meine Zusammenfassung oben verbessern, so dass es dann als "Alternativen zum Editieren von fhem.cfg" anderen Anfängern zur Verfügung steht. Ich musste jedenfalls ziemlich suchen ... Die (erschreckende) Warnmeldung im Web-Interface beim Versuch die fhem.cfg zu editieren verwirrt sicher Viele im ersten Moment.

Nochmals vielen Dank,
Bernd



Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

krikan

Zitat von: Berndd am 09 Dezember 2015, 09:55:21
... Die (erschreckende) Warnmeldung im Web-Interface beim Versuch die fhem.cfg zu editieren verwirrt sicher Viele im ersten Moment.
Die soll ja auch abschrecken und zum nach-/überdenken führen  ;). Warum und die verschiedenen Wege steht u.a. hier: http://www.fhemwiki.de/wiki/Konfiguration
Falls noch nicht geschehen, schalte evtl. Syntaxhighlithning,... in FHEM an. Wie und Hintergrund steht auch im oben verlinkten Wiki-Artikel.

Gruß, Christian

Berndd

Hallo Christian,
das verlinkte Wiki hätte ich schon eher finden sollen, es könnte ne Menge helfen.
ABER
nun hast du den Salat:

Das Theme "dark" kommt bei mir nicht auf den Schirm (Chromebook): Was habe ich gemacht?
Links bei 'select style' "dark" angeklickt
im Adressfenster erschien <meine IP>:8083/fhem?cmd=style%20set%20dark
jedoche kein Änderung des themes.
reload, safe config und shutdown/restart brachten keine Änderung.
in der fhem.cfg  - nur ro-Modus genutzt! ;) steht:
define WEB FHEMWEB 8083 global
attr WEB stylesheetPrefix dark


Die gute Nachricht:
Syntax highlighting funktioniert, nachdem ich
in
attr <FHEMWEB> JavaScripts codemirror/fhem_codemirror.js
<FHEMWEB> durch WEB (siehe DEF oben) ersetzt habe.

DAnke,
Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

krikan

ZitatDas Theme "dark" kommt bei mir nicht auf den Schirm (Chromebook)
Normalerweise reicht:
Klick auf "Select style"
Klick auf "dark"
Reload der Browser-Seite, so wie es FHEM anzeigt "Reload the page in the browser."
Dann SOLLTE es "dark" sein; hab es gerade mehrfach probiert

Was FHEM im Hintergrund macht (Attribute/Links), ist eigentlich für den reinen Anwender uninteressant. Sieht aber bei Dir mMn auch korrekt aus.
Nur "Save config" nicht vergessen.

Tippe bei Dir auf Browsercache (mal leeren) oder Problem mit Chromebook-Browser. Das ist aber mehr geraten, als gewusst.

Gruß, Christian

justme1968

5. geht ziemlich sicher nur weil der anfang aktiv ist und die zweite def auskommendet ist. umgekehrt geht das ziemlich sicher nicht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Auch zu 5. (und allgemein):

Dafür gibt es das attr <Device> disable 0/1 - Attribut.
Das lässt sich durchaus auch schön per FHEMWEB auswählen und einstellen und funktioniert wunderbar.

Vorteil: Der Code wird nach wie vor in FHEM angezeigt - nur nicht ausgeführt - und kann weiterhin bearbeitet werden.
Weiters lässt sich dieses Attribut auch aus einem anderen Code heraus setzen was mit einem # in der Konfig mWn nicht geht.
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.

Berndd

Zitat von: justme1968 am 09 Dezember 2015, 13:09:32
5. geht ziemlich sicher nur weil der anfang aktiv ist und die zweite def auskommendet ist. umgekehrt geht das ziemlich sicher nicht.

Hallo justme1968 - danke für die Info, das ist ja wirklich wichtig. Wenn man unbedingt de Kommenmtar vorher haben wollte, könnte man z.B. mit
attr comment "das isrtein Kommentar"
arbeiten?

Gruss,Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Berndd

Zitat von: Puschel74 am 09 Dezember 2015, 18:44:43
Auch zu 5. (und allgemein):

Dafür gibt es das attr <Device> disable 0/1 - Attribut.
Das lässt sich durchaus auch schön per FHEMWEB auswählen und einstellen und funktioniert wunderbar.

Vorteil: Der Code wird nach wie vor in FHEM angezeigt - nur nicht ausgeführt - und kann weiterhin bearbeitet werden.
Weiters lässt sich dieses Attribut auch aus einem anderen Code heraus setzen was mit einem # in der Konfig mWn nicht geht.

Ach ein guter Tipp!
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor