Hallo zusammen,
ich habe mir im Wiki unter dem Absatz "Wie fange ich an?" mal alles durchgelesen und hab da eine Frage zum strukturieren bzw. erweitern der fhem.cfg
Ich kann ja alles in die fhem.cfg schreiben wie z.B. define SatReceiver1 ENIGMA2 192.168.10.38
, usw. usf. auch alle "set" usw. Einträge, alles untereinander in die cfg. Dadurch wird die fhem.cfg nach ein paar Einträgen schon sehr überladen und schwer zu fixen, wenn man sich mal wo vertippt hat oder sonstige Probleme auftauchen.
Wenn ich die Howtos und Anleitungen richtig verstanden habe, kann ich für jeden Raum, Stockwerk oder auch jedes Gerät, Sensor, Aktor usw. eine eigene .cfg anlegen und mittels include /Pfad/zur/.cfg
in der fhem.cfg einbinden, oder?
Gibt es ein Limit für include Einträge?
Muss ich für die ausgelagerten .cfg's etwas spezielles beachten?
Wie habt ihr das Problem einer überfrachteten fhem.cfg gelöst?
Erstellt ihr für jedes Gerät eine .cfg, oder für jeden Raum? Welche Struktur hat sich bei euch bewährt?
Danke und einen schönen Abend wünsche ich euch!
Klaus
Eine einzige fhem.cfg um deren Inhalt und Struktur ich mich in keinster Weise kümmere, da ich diese niemals von Hand bearbeite. Von daher ist es mir schnurzpiepegal, wie es in der Datei aussieht.
Anfaenger sollten fhem.cfg aus mehreren Gruenden nicht editieren, selbst erfahrene Benutzer machen das nicht (s.o).
Wer trotzdem editiert, sollte damit rechnen, dass ein save (was auch von autocreate ausgeloest wird!) die Struktur modifiziert, d.h.: Zeilen umsortiert, Befehle ausser define/attr entfernt, usw.
Nach Editieren erfolgt ueblicherweise ein rereadcfg, sonst kriegt FHEM die Aenderungen nicht mit. rereadcfg hat aber Seiteneffekte, wie z.Bsp. verpasste Nachrichten.
Falls man notify/at im Detailfenster editiert, dann kann man \ und ;; sparen, im fhem.cfg nicht. Wenn man Attribute per dropdown auswaehlt, dann kann man sich nicht vertippen. Usw.
Danke,
ich denke wohl etwas zu kompliziert was die Verwendung von Fhem angeht....naja, ich nutze halt seit Jahren als Hauptsystem Archlinux, da bin ich es gewohnt zu editieren und configs an meine Bedürfnisse anzupassen.....
Hallo,
FHEM passt hier die fhem.cfg an seine Wünsche an.
Lass sie so und kümmer dich nicht drum wie sie aussieht.
FHEM findet alles und weiß wo was abgespeichert ist.
Grüße
Zitat von: Puschel74 am 04 Februar 2014, 05:55:02
Hallo,
FHEM passt hier die fhem.cfg an seine Wünsche an.
Lass sie so und kümmer dich nicht drum wie sie aussieht.
FHEM findet alles und weiß wo was abgespeichert ist.
Grüße
ja, werd ich so machen.....auch wenn ich ein von Haus aus neugieriger Mensch bin und gern weis wie es "unter der Haube" aussieht
Danke!
Klaus
Du kannst dich nicht gleichzeitig als Noob und erfahrenen Archlinux Benutzer bezeichnen. Du kannst gerne die fhem.cfg aendern, musst halt dann mit manchen Ueberraschungen leben. Anders formuliert: FHEM fuehrt gerne ein save durch, und das entspricht einem Dump der internen Datenstrukturen. Da kann gerne was von deinen Kommentaren/Ordnung/etc verlorengehen.
Zitat von: rudolfkoenig am 04 Februar 2014, 16:44:50
Du kannst dich nicht gleichzeitig als Noob und erfahrenen Archlinux Benutzer bezeichnen. Du kannst gerne die fhem.cfg aendern, musst halt dann mit manchen Ueberraschungen leben. Anders formuliert: FHEM fuehrt gerne ein save durch, und das entspricht einem Dump der internen Datenstrukturen. Da kann gerne was von deinen Kommentaren/Ordnung/etc verlorengehen.
Mit Noob meinte ich FHEM! Linux nutze ich seit 1998, seit drei Jahren nur noch Arch....
Aber FHEM ist ja doch etwas anders und für mich Neuland. Ich werd mich auf jeden Fall erst mal an die sichere Bedienung von FHEM halten, das andere ergibt sich erfahrungsgemäss von selber ;-)
Mein Problem ist, dass ich ausser der CAD/CAM Produktionssoftware in meiner Arbeit und einem Browser kaum mit Maus und GUI arbeite.....privat mache ich fast alles in der Konsole....ich bin mittlerweile ziemlich "mausentwöhnt", aber nichtsdestotrotz sehr lernbereit! Es ist einfach so, wenn ich was lese von einer Befehlszeile, dann habe ich eine Konsole oder einen Editor vor meinem geistigen Auge, und nicht nur eine einzige Zeile in die ich einen Befehl eintippe, der dann irgendwo (fhem.cfg) abgespeichert wird, ohne dass ich sofort sehe wo er nun steht.
Aber wie gesagt, ich bin lernfähig und bereit mich in die GUI einzuarbeiten.......schliesslich soll FHEM bei mir zuverlässig und stabil laufen, und nicht durch mein eigenes eingreifen instabil und unsicher.
Danke für eure Geduld!
Klaus
Du kannst ja gerne die "telnet" Schnittstelle verwenden :), history gibt es durch socat.
Z.Bsp. wenn du SSL aktiviert hast, mit
socat openssl:fhemhost:fhemport,verify=0 readline
Fuer die Doku ist aber HTML/Browser notwendig.
Ich bin es ebenso gewohnt, derartige configs mit dem vi zu erstellen und ich pflege darin Struktur und Einrueckungen. Beispiel wie es aussieht, wenns fhem selbst gemacht hat:
define switch1 EnOcean FEFF2D58
attr switch1 room EnOcean
attr switch1 subType switch
Ich mochte es nicht wenn alles kreuz und quer steht und habe folgendes gemacht:
define switch1 EnOcean FEFF2D58
attr switch1 room EnOcean
attr switch1 subType switch
Schnell habe ich gemerkt, dass derartige Struktur bei Benutzung von fhem nicht von langer Dauer ist sondern das fhem die cfg file selbst nach Belieben ueberschreibt und die Struktur defakto eliminiert.
Zur Zeit (bin auch noch Anfaenger) bin ich auf dem Trip, zu verhindern, dass fhem jemals in die cfg schreibt aber ich habe die Befuerchtung, dass das nicht lange gutgehen wird.
Schade, dass das so ist, aber es ist eben so wie es ist.
Zitat von: tinyfhem am 04 Februar 2014, 17:52:10Zur Zeit (bin auch noch Anfaenger) bin ich auf dem Trip, zu verhindern, dass fhem jemals in die cfg schreibt aber ich habe die Befuerchtung, dass das nicht lange gutgehen wird.
Wird es auch nicht, weil es fhem-Module gibt, die ein save auslösen. Und das ist auch gut so, und das kannst Du nicht verhindern, und auch das ist gut so.
Ich wäre eigentlich sehr dafür, die gesamte fhem-Konfiguration in eine Datenbank zu verlegen, dann hören die Anfängerspielereien in der fhem.cfg, deren Resultate hier im Forum inzwischen einen hohen Prozentsatz an Fragen verursachen, quasi automatisch auf.
Hallo,
ZitatIch wäre eigentlich sehr dafür, die gesamte fhem-Konfiguration in eine Datenbank zu verlegen, dann hören die Anfängerspielereien in der fhem.cfg, deren Resultate hier im Forum inzwischen einen hohen Prozentsatz an Fragen verursachen, quasi automatisch auf.
Da häng ich mich dazu - auch dafür.
Ich weiß aber nicht was das an Aufwand für die Programmierer darstellt und ob das so ohne weiteres machbar ist (ich denke mal eher nicht).
Zitatund ich pflege darin Struktur und Einrueckungen.
Wozu?
Wenn du die Detailansicht öffnest dann sieht alles schön und sauber und stukturiert aus.
Egal ob ein Device oder ein notify/at.
Wie das in der fhem.cfg steht (ich weiß ich wiederhole mich) ist mir egal.
Da muss FHEM damit klar kommen und das schafft es auch.
Grüße
ZitatIch wäre eigentlich sehr dafür, die gesamte fhem-Konfiguration in eine Datenbank zu verlegen, dann hören die Anfängerspielereien in der fhem.cfg, deren Resultate hier im Forum inzwischen einen hohen Prozentsatz an Fragen verursachen, quasi automatisch auf.
Das unterschreibe ich auch. Ich selbst bin zwar ein Freund von config Dateien, wenn es darum geht mal schnell was abzuändern. Bei FHEM fände ich eine Datenbank aber angebrachter, und es gäbe bestimmt auch den ein oder anderen Vorteil. Evtl Nachteile und den Aufwand kann ich bei weitem nicht abschätzen.
Die Frage wäre ob sich FHEM dahingehend Entwickelt und ob das Thema an anderer Stelle diskutiert werden sollte.
Hab das gerade mit großem Interesse hier gelesen.
Ich mache von Anfang an alles nur über die fhem.cfg, ab und zu attr über die Weboberfläche.
Ich frage mich gerade, wie es gehen soll, Device anzulegen und zu verändern, wenn man nicht direkt die fhem.cfg ändern sollte?
NACHTRAG: hatte gerade eben genau den Fall, dass ich die CFG editieren "musste", weil ich ein Device in einen zusätzlichen Raum anzeigen will, dies aber nicht über das WEBinterface geht.
attr AlleWeg room Zentrale,Anwesend,Anwohner
Oder stehe ich da total auf dem Schlauch?
Zitat von: Mitch am 05 Februar 2014, 13:34:08
Hab das gerade mit großem Interesse hier gelesen.
Ich mache von Anfang an alles nur über die fhem.cfg, ab und zu attr über die Weboberfläche.
Ich frage mich gerade, wie es gehen soll, Device anzulegen und zu verändern, wenn man nicht direkt die fhem.cfg ändern sollte?
Indem Du einfach das entsprechende "define ... " in das Befehlsfenster schreibst. Danach kannst Du dann über das angelegte Objekt die weiteren Details und Attribute eintragen.
Gruß, Peter
Manchmal ist das Nächste das Einfachste ;D
Aber wie sieht es bei meinem Beispiel (siehe Nachtrag) aus?
wieso .. den attr kanst Du doch auch über die "Kommandozeile" eingeben?
ganz genau so.
gruss
andre
stimmt ::)
Bin halt ein mac User, der gibt normalerweise keine "Befehle" ein ;D
Also als Ergebnis, ich soll lieber direkt über die Befehlszeile arbeiten und dann einen Save ausführen.
oder indem Du im Device das Attribut auswählst und in das Eingabefeld den fehlenden Wert eingibst.
Das funktioniert auch, wenn es das Attribut bereits gibt und Du es ändern möchtest. Einfach auf den Attributnamen klicken.
(http://up.picr.de/17275425is.png)
PS: ich bin auch Mac-User, aber ich liebe die Systemkonsole trotzdem.
ich auch. gerade weil es da eine vernünftige komamndozeile gibt :)
nur für die dinge die du nicht anklicken kannst.
gruss
andre
Bin kein MAC User .. ist eventuell der Grund, das ich vieles in FHEM per "telnet" mache *griins*
@Beta: bei mir sieht das aber anders aus, ich habe da für die Räume z.B. auch ein Dropdown:
ich wußte dass diese Frage kommt 8) deshalb hatte ich extra ein Beispiel ausgewählt, bei dem man das Eingabefeld sehen kann.
Es kommt auf das Attribut an. Manche sind mit Auswahllisten fest vorgegeben (z.B. rooms, groups) das kann der Modulentwickler teilweise in seinem Modul steuern. Dann sind keine Mehrfachauswahlen möglich. Aber der Weg über die Befehlszeile funktioniert trotzdem immer.
Die gleiche Logik mit den Dropdownlisten bzw. Eingabefeldern greift übrigens auch bei set und get oben in der Detailansicht.
Wie gesagt: die Befehlszeile geht immer.
Zitat von: svenson08 am 05 Februar 2014, 12:48:54Bei FHEM fände ich eine Datenbank aber angebrachter, und es gäbe bestimmt auch den ein oder anderen Vorteil. Evtl Nachteile und den Aufwand kann ich bei weitem nicht abschätzen.
Der Aufwand, das umzustellen, hält sich in Grenzen (ich hab grade eine halbe Stunde dafür gebraucht, um fhem mit sqlite3 zu verheiraten), aber das
aber (Fritzkotz, Windows, Pakete nachinstallieren, ...)
Es muss inzwischen einfach bei jeder Veränderung/Weiterentwicklung/Fortschrittsmöglichkeit auf zu viele Befindlichkeiten bezüglich existierender karierter Maiglöckchen geachtet werden.
geht nicht sqlite auch auf Windows??
Das alternative SQL-Server angeboten werden, würde ich als 2. Stepp sehen (und befürworten)
ZitatEs muss inzwischen einfach bei jeder Veränderung/Weiterentwicklung/Fortschrittsmöglichkeit auf zu viele Befindlichkeiten bezüglich existierender karierter Maiglöckchen geachtet werden.
Gerade deswegen sollte dies mal diskutiert werden, aber in einem sep. Thread. Ich meine ich habe auf der Arbeit auf einem Windows Server eine Webapplikation laufen die SQLITE nutzt. Aber wie gesagt gehört das in einen anderen Thread.
Zitat von: svenson08 am 05 Februar 2014, 14:24:40die SQLITE nutzt. Aber wie gesagt gehört das in einen anderen Thread.
Dann mach doch mal im Developer-Bereich einen neuen Thread auf. Wenn ich das mache, bin ich wieder der Böse :)
Meine fhem.pl schreibt jedenfalls inzwischen alles schön in sqlite-Tabellen.
sqlite> select * from fhemconfig;
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd none
attr global room 99_System
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global userattr DbLogExclude devStateIcon devStateStyle icon sortby webCmd
attr global verbose 3
define telnetPort telnet 7072 global
attr telnetPort room 99_System
define WEB FHEMWEB 8083 global
attr WEB room 99_System
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
attr Logfile room 98_Logfiles
#define autocreate autocreate
#attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room 99_System
define gds GDS user password
attr gds gdsLong 1
attr gds room 30_Wetter
define gds_web_gds HTTPSRV gds /tmp/ GDS gds Files
attr gds_web_gds directoryindex gds.html
attr gds_web_gds room 30_Wetter
define DbLog DbLog /Users/udo/SVN/fhem.5.6/fhem_akt/fhem/fhem.db.conf .*:.*
attr DbLog room 98_Logfiles
sqlite>
sqlite> select * from fhemstate;
setstate DbLog active
setstate Logfile active
setstate eventTypes active
setstate gds active
setstate gds 2014-02-05 19:54:59 _dataSource Quelle: Deutscher Wetterdienst
setstate gds 2014-02-05 19:54:59 state active
setstate gds_web_gds gds_web_gds
setstate global <no definition>
sqlite>
@Betateilchen
Erwähntest du nicht etwas weiter oben das du die fhem.cfg nicht bearbeitest?
Wie kann man denn über die Oberfläche Attribute auskommentieren?
Genau um solche Sachen geht es doch. Soweit ich das verstehe kann ich über die Oberfläche nur löschen - auskommentieren macht aber mitunter besonders bei der Fehlersuche Sinn...
Und wird wohl sogar von den Profis benutzt ;-)
Nimm es mir nicht übel...
Was willst Du mit deinem völlig sinnlosen detektivischem Spürsinn wem beweisen?
Die oben exemplarisch gezeigte Umstellung von config-files auf sqlite3 entsteht grade auf einem Entwicklungssystem. Im Produktivsystem gibt es bei mir keine Kommentare in der fhem.cfg. Außerdem bearbeite ich auch schonmal die fhem.cfg - aber auch dann NUR über die fhem-Oberfläche. Damit kann man auch in der fhem.cfg bestimmte Zeilen auskommentieren.
Davon abgesehen, weiß ich ziemlich genau, was ich tue, WENN ich die fhem.cfg manuell bearbeite. Viele hier im Forum auftretende Fragen, die auf verunstaltetes Konfigurationen beruhen, beweisen aber, dass sehr viele Leute das eben nicht wissen.
Jemand der frisch mit FHEM anfängt macht noch keinen Unterschied zwischen produktiv und Versuchs System, ich denke genau hier liegen die Probleme die Einsteiger haben. Auf der einen Seite verlangen sie Zuverlässigkeit und Funktion - auf der anderen Seite möchten sie aber auch an neuen Baustellen basteln und entwickeln... Ich zähle mich übrigens auch zu den Anfängern.
Ich habe lange gebraucht bis ich mich entschlossen habe einen room develop zu nutzen... Und ich bin froh das ich z.b. Mit einer einfachen # meine komplette Sonos Konfiguration entfernen kann...
However - just my 2cents - ich hatte gehofft das du dich nicht angegriffen fühlst...
An deinen Fähigkeiten zweifelte ich auch nicht, ganz im Gegenteil! Du hast mir schon deutlich öfter einen schubs in die richtige Richtung gegeben als du glaubst...
Zitat von: der-Lolo am 05 Februar 2014, 23:04:13auf der anderen Seite möchten sie aber auch an neuen Baustellen basteln und entwickeln... Ich zähle mich übrigens auch zu den Anfängern.
...
Und ich bin froh das ich z.b. Mit einer einfachen # meine komplette Sonos Konfiguration entfernen kann...
Und genau das kannst Du auch über die Weboberfläche tun.
Hallo,
Zitatauskommentieren macht aber mitunter besonders bei der Fehlersuche Sinn...
Was willst du den auskommentieren?
Ein notify oder at?
Dann setz doch einfach über FHEM disabled auf 1 8)
Das geht ganz bequem per attr und du brauchst nicht in die fhem.cfg
Du willst ein Device auskommentieren?
Auch dafür gibt es die Möglichkeit - nennt sich ignore 1
Das kannst du über FHEM dann (hoffentlich) mit
attr <Device> ignore 0
wieder aufheben.
Letzters habe ich noch nicht versucht da ich
a) nur Geräte ignoriere die nicht meinem Hauscode (bei FS20) entsprechen - also definitiv nicht bei mir im Haus zu suchen sind
b) Geräte zur Fehlersuche sowieso nicht auskommentiere da Geräte selten Fehler verursachen.
Grüße
Man lernt dazu - mittlerweile nutze ich auch eigentlich nur noch die fhem Oberfläche zum editieren, darauf gestoßen hat mich Svenson in seinem Dashboard Thread, wo er schreibt das er ein Pad nicht zum bearbeiten nutzt und Änderungen ausschließlich am Computer vornimmt.
Anfangs saß ich tatsächlich oft mit dem ipad auf der couch und versuchte konstruktiv zu arbeiten... Das habe ich komplett abgestellt - wenn ich etwas an fhem verändere gescheit dies nur noch an meinem iMac.
Ignore und disable kannte ich noch nicht - danke für die tips, ich versuche das in Zukunft umzusetzen. Problem ist doch leider das auch Anfänger nicht immer genug zeit haben ihre Probleme genau zu identifizieren und angefangene projekte zu Ende zu bringen. Um aber für die Tage an denen nicht geforscht werden kann fhem stabil und aktiv zu halten kommentierte ich in letzter zeit meine Baustellen aus.
Das ist auch der Grund warum ich ne ganze Menge include verwende. Wenn ich dazu übergehe einen zweiten Server zum basteln zu benutzen werde ich diese includes wieder entfernen und die fhem.cfg des produktivsystems nicht mehr anfassen.
Wenn ihr nun meine log Datei sehen würdet - und sehen würdet wie oft der Perfmon zuschlägt bei mir würde euch eh schwindelig... Ich bekomm es aber einfach nicht in den griff...
Spaßeshalber hier mal die letzten 10 Minuten...
Zitat2014.02.06 06:34:25 1: Perfmon: possible freeze starting at 06:34:16, delay is 9.238
2014.02.06 06:37:34 1: Perfmon: possible freeze starting at 06:37:27, delay is 7.109
2014.02.06 06:39:46 1: Perfmon: possible freeze starting at 06:39:35, delay is 11.097
2014.02.06 06:41:56 1: Perfmon: possible freeze starting at 06:41:47, delay is 9.544
2014.02.06 06:41:56 1: 192.168.178.140:1000 disconnected, waiting to reappear
2014.02.06 06:41:56 1: HMLAN_Parse: HmLan new condition disconnected
2014.02.06 06:41:56 1: 192.168.178.140:1000 reappeared (HmLan)
2014.02.06 06:41:56 1: HMLAN_Parse: HmLan new condition init
2014.02.06 06:41:57 1: HMLAN_Parse: HmLan new condition ok
2014.02.06 06:44:03 1: Perfmon: possible freeze starting at 06:43:57, delay is 6.938
Hi der-Lolo,
wenn Du verbose hochstellst kannst Du die Schuldigen besser ausmachen. Die stehen dann in den Zeilen vor den freeze. Imho macht es auch generell Sinn die Filelogs mal zu durchflöhen (Frühjahresputz ;) ). Da bringt es viel sich zu überlegen was man eigentlich wirklich logen möchte (muss) und die überflüssigen logs alle auszuschalten. Bei Dir scheinen aber andere Sachen dazuzukommen ....
vg
Jörg
Danke herrmannj - ja verbose auf 5 kenne ich...
Ich verstehe aber imho nicht wo das problem ist - wenn ich verbose auf 5 stelle wird das Log unglaublich groß und total unübersichtlich...
der Perfmon schlägt meist im Zusammenhang mit dem HMLAN zu, als workaround liegt hier schon ein USB Config Adapter in der Schublade und wartet darauf verbaut zu werden.
Ausserdem macht mir die Kommunikation mit dem HUE Modul sorgen. Auch hier findet sich oft der perfmon zwischen den Ereignissen.
Diese beiden Komponenten sind in der Wohnung aber wichtig - ich kann da nicht so einfach basteln - ohne den WAF ins bodenlose zu treiben...
Eine meiner Letzten Aktionen war bereits jedem Gerät das sich mit der Fritzbox verbinden kann eine feste IP zuzuteilen - bei etwa 40 Teilnehmern war das schon eine heidenarbeit. Leider brachte der Spaß nicht den gewünschten erfolg.
Die Logs auf das nötigste zu begrenzen - das macht zur zeit am meisten sinn...
Aber zuerst werde ich den HMLAN rauswerfen.
Hi,
naja - verbose 5 ist ja auch gleich das andere Ende der Skala. Aber lass uns den thread nicht allzu sehr high-jacken, es gibt ja schon einige dazu und sonst gern einen neuen aufmachen. Nur soviel, es bringt wirklich viel die logs auszumisten und mal zu schauen ob alle Module die man so lädt suaber sind. Da kann man dann auch gut mit apptime weitersuchen.
Wie gesagt, gerne im neuen thread,
vg
Jörg
Zitat von: der-Lolo am 06 Februar 2014, 06:49:20
Ignore und disable kannte ich noch nicht - danke für die tips, ich versuche das in Zukunft umzusetzen. Problem ist doch leider das auch Anfänger
Problem ist, dass Anfänger sich nicht genug Zeit nehmen, sich zu informieren, BEVOR sie anfangen und dann sofort mit den kompliziertesten Vorstellungen ans Werk gehen, die denkbar sind. Und das, kombiniert mit dem Fehlen von absolutem Grundwissen (wie z.B. ignore und disable) führt doch dazu, dass der Frust immer größer wird und immer weniger funktioniert, je mehr man dann völlig planlos versucht, seine Konfiguration zurechtzubiegen. Und aus diesem Grund wissen viele Leute auch überhaupt nicht, welche weitreichenden Möglichkeiten, das Webfrontend bietet - und dann stellen sie solche Behauptungen wie Du, z.B. dass man ein Attribut über die Weboberfläche nicht auskommentieren könnte.
Wenn ich darüber nachdenke, dass hier schon Leute unterwegs waren, die mit drei registrierten Devices bereits fünf include-Dateien hatten, und dann völlig den Überblick verloren hatten, bleibt mir eigentlich nur zu sagen "selbst schuld". Das ist nich böse oder arrogant gemeint, aber ich bin der Meinung, man sollte von klein nach groß arbeiten und konstant dazulernen, anstatt gleich ganz oben anfangen zu wollen und gar nix zu wege zu bringen. Auch ich lerne in fhem noch fast jeden Tag etwas neues - und ich finde das toll.
Ich denke mal das bearbeiten der fhem.cfg ist am sichersten via Weboberfläche....für den normal User auf jeden Fall ausreichend....und für Konsolenjunkies wie mich gibts ja eine Kommandozeile.
Was mir einfach gut gefällt ist, dass ich da was eingebe, ENTER drücke und sehe obs gut ist oder nicht....und erst bei einem SAVE wird alles fix übernommen....also ich werde auf meinem Erstsystem die fhem.cfg nicht manuell bearbeiten.
Auf meinem Zweitsystem (nur zum spielen) werde ich mich voll in die fhem.cfg reinstürzen und rumpfuschen bis zur Aufgabe derjenigen. Ich bin halt neugierig und kann einfach meine Finger von keiner config lassen....und "heilige" Dateien gibts für mich sowieso nicht....und keine Angst, ich werde euch nicht mit Postings dazu belästigen, denn wenn ich selber aktiv und bewusst Fehler produziere, dann habe ich auch den Ehrgeiz diese selber zu beheben. Da hier im Forum extrem viel Information steht, denke ich kann man 90% eigenständig beheben. Für den Rest gibt es Tante Google ;-) Und wenn gar nix mehr geht kloppe ich mein selbst erstelltes "Fhemberry" Image auf eine SD-Karte, und schon kanns wieder los gehen. Deshalb liebe ich auch die Raspberry Pi's. Wenns klemmt einfach schnell das Image auf die Karte knallen und gut ists.
LG
Klaus
Ich will mich hier mal dranhängen, da ich auch mal versuchen will nicht mehr in der fhem.cfg rum zu editieren. Nun hatte ich am Wochenende folgenden Fall. Ich hab 2 neue HM-CC-RT-DN bekommen. Die werden inzwischen nicht mehr mit dem Kanal ClimRT_tr angelegt sondern mit Clima. Nun wollte ich die alten und neuen Thermostate einheitlich haben. Einfach damit ich mit so Dingen wie set .._Heizung_Clima controlManu off
arbeiten kann.
Nun bin ich einfach in die fhem.cfg und hab dies per Suchen und Ersetzten getan. So erwische ich auch gleich alle notifys, readingsgroups etc. in denen das vorkommt. Kann aber natürlich auch einiges schief gehen. Ich habe es auch per rename probiert. Das ändert aber nur den Namen des einen Devices und Logs und sonst an keiner anderen Stelle. Wie würdet ihr da vorgehen?
Hallo,
quick&dirty Workaround würde ich das regexp anpassen ;D
set .._Heizung_Clim.* controlManu off
Ja, es gibt auch noch einiges was ich in der fhem.cfg mache - speziell wenn größere Umbennenungen anstehen oder ich mal wieder aufräume.
Ja ich räume auch auf und verteile die Geräte in die zugehörigen cfg die ich per include einbinde - was bei mir aber tadellos klappt.
Codes bearbeite ich aber ausschliesslich per DEF und neue Geräte lege ich auch nur per Befehlszeile an (autocreate habe ich deaktiviert).
Kleinere Namensänderungen mache ich auch per rename aber da ich langsam auf HM migriere fummel ich auch mal wieder in der fhem.cfg rum.
Oder besser gesagt in der Sicherungskopie davon ;)
Diese wird dann auf den RasPi kopiert und wenn es klappt ist gut und wenn nicht wandert die original Sicherung wieder auf den RasPi.
Grüße
Anfänger...
Zitatspeziell wenn größere Umbennenungen anstehen
Gerade größere Umbenennungen oder z.B. Verschieben von einem Raum in einen anderen funktionieren doch im Frontend viel einfacher.
Was bin ich froh, dass ich gar keine Konfigurationsdatei(en) mehr habe :)
@betateilchen: Schwierig wird die Umbennenung dann, wenn das Device in einem oder gar mehreen notifys benutzt wird. Oder wie löst du das im Frontend?
Das geht auch im Frontend, wer wirklich noch mit Konfigurationsdateien arbeitet, kann das über Edit files -> config file lösen, wer mit der Datenbank für die Konfiguration nutzt, wird demnächst auch dafür eine simple Lösung bekommen, die sowas quasi automatisch erledigt.
Hallo,
ZitatGerade größere Umbenennungen oder z.B. Verschieben von einem Raum in einen anderen funktionieren doch im Frontend viel einfacher.
Wenn ich mal eben 5 oder 6 neue HM-Geräte anlerne sicher ich mir die Konfig gerne und benenne die Geräte dann mit notepad++ um.
Dazu verschieb ich sie auch grad in die passenden cfg-Files wo sie dann per include eingebunden werden.
Ich weiß - das widerspricht sich.
Egal wie es in der fhem.cfg steht - lass es stehen (was ich immer so gerne anmerke).
Aber es gehört auch dazu - wenn du weißt was du machst dann mach es ;)
Grüße
Gut, aber wenn man es über Edit files -> config file macht, dann ändert man direkt in der Config und das soll ja vermieden werden.
Eine Lösung über dbConfig finde ich interessant. Ich bin gespannt.
Dann fehlt mir im Grunde nur noch das Kopieren von Devices...
Zitat von: betateilchen am 11 März 2014, 21:14:06wer mit der Datenbank für die Konfiguration nutzt, wird demnächst auch dafür eine simple Lösung bekommen, die sowas quasi automatisch erledigt.
"configdb find out_Balkon" liefert:
define out_Balkon CUL_HM 20DACD
define act_on_out_temp notify out_Balkon.temperature.* {my $a = Value('out_balkon_neu');; fhem("set out_balkon_alt $a");; $a = ReadingsVal("out_Balkon","temperature","");; fhem("set out_balkon_neu $a");; if(ReadingsVal("out_Balkon","temperature","") < 4) { if($value{freezeWarning} ne "ja") { fhem("set freezeWarning on") } } else { if($value{freezeWarning} ne "nein") { fhem("set freezeWarning off") } } }
define act_on_out_humi notify out_Balkon.humidity.* {my $a = Value("out_balkonH_neu");; fhem("set out_balkonH_alt $a");; $a = ReadingsVal("out_Balkon","humidity","");; fhem("set out_balkonH_neu $a");; }
Zum automatischen rename ist es nicht mehr weit.
Zitat von: marvin78 am 11 März 2014, 21:16:28
Gut, aber wenn man es über Edit files -> config file macht, dann ändert man direkt in der Config und das soll ja vermieden werden.
Wenn man es über edit files -> config file macht, hat man zumindest noch die aktivierte Syntaxprüfung von fhem beim Abspeichern, die einen auf Fehler direkt hinweist.
Zitat von: marvin78 am 11 März 2014, 21:16:28
Dann fehlt mir im Grunde nur noch das Kopieren von Devices...
Das macht in meinen Augen aber nur bei dummy, at und notify Sinn.
Da ich auch Anfaenger bin frage ich mich gerade warum dann der 'Edit Files' Punkt nicht Standardmäßig deaktiviert wird? BTW: Ich habe den Webfrontend erst später entdeckt! ( zuerst alles in fhem.cfg geändert!)
weil man mit edit files z.B. auch die gplot-Dateien und die 99_myUtils.pm bearbeiten kann und nicht nur die fhem.cfg.
Im übrigen ist das Bearbeiten der fhem.cfg über diesen Weg meistens gar nicht das Problem. Die meisten Probleme treten auf, wenn die Leute versuchen, diese Datei ausserhalb von fhem mit einem eigenen Editor zu bearbeiten, ohne einen Plan davon zu haben, wann man welche Zeichen verdoppeln muss und wann nicht. Diese Arbeit nimmt einem "edit files" komplett ab.
Und übrigens: Bei Nutzung einer SQL Datenbank für die Konfiguration wird die Option, die Konfigurationsdatei per "edit files" zu bearbeiten, tatsächlich nicht mehr angezeigt.
Also wenn dann habe ich meine fhem.cfg auch immer nur per edit files bearbeitet. Geht ja auch per Copy&Paste in Notepad++ dort bearbeiten und wieder zurück kopieren.
Zitat von: betateilchen am 11 März 2014, 22:05:39
Das macht in meinen Augen aber nur bei dummy, at und notify Sinn.
Darüber kann man zwar streiten aber es macht bei den dreien sicher am meisten Sinn und es wäre extrem hilfreich.
Und es bleibt trotzdem Rudis Aufgabe, das als CommandCopy in die fhem.pl einzubauen.
Ich habe devspec so erweitert, dass ein "list DEF=.*DevName.*" das Gesuchte auch in mehrzeiligen notify/at definitionen findet. Ist aber wohl weniger was fuer Anfaenger, da nicht sehr intuitiv.