Noob - Wie fhem.cfg am einfachsten Strukturieren?

Begonnen von Alaska, 03 Februar 2014, 19:51:40

Vorheriges Thema - Nächstes Thema

der-Lolo

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...


betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

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
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.

der-Lolo

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

herrmannj

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

der-Lolo

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.

herrmannj

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

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Alaska

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

strauch

#39
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?
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

Puschel74

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
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.

betateilchen

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 :)

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

@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?

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

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
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.