(gelöst)Editieren von notify Definitionen auf Grund Vollauslastung nicht möglich

Begonnen von jual, 16 Februar 2015, 17:02:06

Vorheriges Thema - Nächstes Thema

jual

Nachdem ich nun doch nicht mehr selbst weiter kommen, hoffe ich auf eure Erfahrungen und ein paar Tipps zu meinem Problem.

Seit einiger Zeit habe ich ziemliche Probleme mit einem vollausgelasteten rasperryPi, wenn ich eine notify Definition editieren will. Mittlerweile ist auch das Anlegen neuer notifys nicht mehr möglich.

Schaue ich mir das Ganze mittels "Top" an, dann ist in diesem Moment immer einer von den beiden fhem-Prozessen teilweise mit über 90% ausgelastet. Manchmal scheint ein Prozess sogar zu sterben wodurch auch das runterfahren von fhem auf Shell-Ebene nicht funktioniert. In diesem Fall bekomme ich manchmal die Fehlermeldung "can't connect to localhost:7072". In diesem Fall hilft dann nur ein Neustart des rasperry.

Beim Start von fhem bekomme ich eigentlich keine besonderen Fehlermeldungen (log level 3). Nur von dem Modul 33_readingsGroup gibt es seit eine Weile folgende Meldungen:

^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at ./FHEM/33_readingsGroup.pm line 141, <$fh> line 642.
^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at ./FHEM/33_readingsGroup.pm line 147, <$fh> line 642.


Außerdem erscheint häufiger die Meldung, dass Subfunktionen geändert wurden, obwohl die letzte Änderung der 99_myUtils schon eine Weile her ist. In der Meldung kann ich auch mit <$fh> nichts anfangen. Beispielmeldung:

"Subroutine say redefined at ./FHEM/99_myUtils.pm line 17, <$fh> line 6"


Es wäre super, wenn jemand eine Idee hat, damit ich nicht nacheinander alles zurückbauen muss, um irgendwo den Fehler zu finden.

AHA1805

Hallo

hast du zwei FHEM Instanzen auf dem Rasp laufen?
Hast schon mal mit Apptime geschaut?

http://fhem.de/commandref_DE.html#apptime

Gruß Hannes

Gesendet von Tapatalk
AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

der-Lolo

Schau mal nach wie Groß deine eventTypes.txt ist - Das bremst wegen dem REGEX Editor, die Datei wird bei jedem Notify Detailscreen komplett geladen...
Du kannst den Inhalt der Datei einfach löschen - sie füllt sich von alleine wieder.

jual

Problem scheint tatsächlich mit dem Bereinigen der eventTypes.txt gelöst zu sein. Die Datei war über 40MB groß. Nach dem Löschen der Datei kann ich wieder problemlos die notify Definitionen editieren. Das erklärt wahrscheinlich auch, dass ich in den Fehlersituationen eine ziemliche Speicherbelastung hatte.

Nun muss ich mir nur mal genauer anschauen, wie ich die mitgeloggten Events ein wenig einschränken kann, ohne irgendeine andere Funktionalität damit zu stören. So ganz habe ich noch nicht verstanden, wer genau diese Infos zu welchem Zweck benötigt und warum so viele Events dort protokolliert werden.

Vielen Dank an der-Lolo für den Hinweis. :)

Noch eine Ergänzung zur Nachfrage von AHA1805. Bei mir ist es tatsächlich so, dass ich zwei Prozesse von fhem sehe, wenn ich mir mittels "top" die Prozess anschaue. Ich war davon ausgegangen, dass dies grundsätzlich in Ordnung ist. Dürfte nur 1 Prozess laufen? Und wenn ja, woran kann es liegen, dass nach einem Start (manuell oder durch Hochfahren des raspberry) zwei Prozesse starten.

Danke nochmals für tolle und schnelle Unterstützung.

betateilchen

Zitat von: jual am 17 Februar 2015, 08:26:35
So ganz habe ich noch nicht verstanden, wer genau diese Infos zu welchem Zweck benötigt

Niemand. Du kanst das eventTypes Device auch problemlos komplett löschen. Lediglich die "Auswahlliste" beim Erstellen von FileLog steht dann nicht mehr zur Verfügung. Aber da man im Normalfall ja weiss, was man loggen möchte, wenn man ein FileLog neu anlegt, ist das auch kein Problem.

Zwei fhem Instanzen sind übrigens was anderes als zwei fhem Prozesse. Mehrere fhem Prozesse sind nichts aussergewöhnliches, mehrere fhem Instanzen gibt es nur, wenn man diese explizit konfiguriert hat.

Die Meldung "Subroutine ... redefined" ist völlig normal, wenn ein bereits geladenes Modul neu geladen wird. Das ist kein Fehler und völlig unbedenklich.

Die Meldung wegen der "matches null string..." musst Du im entsprechenden Forumbereich (Frontends) stellen, in dem die 33_readingsGroup.pm behandelt wird.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

der-Lolo

Hallo Udo,
ich dachte eventTypes.txt wird für die regex editoren benutzt, dachte jetzt nicht das es mit filelog zu tun hat. Die Datei hat bei mir mittlerweile schon wieder eine grösse von 9MB - ich glaube man sollte da lieber einen riegel davor schieben - da werden sicher bald einige mehr sich melden mit schlechter performance beim öffnen der notify Detail screens...

betateilchen

Naja, angefangen hat die Seuche mit den FileLogs. Damals hatte ich die eventTypes rausgeschmissen und die Entwicklung nicht weiter verfolgt.

Aber mein fhem läuft auch ohne eventTypes völlig problemlos :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Danke für die Info, danach hatte ich unterschwellig auch gesucht. notify editieren ging mir schon etwas auf den ... weil das so lange dauert.
Meine eventTypes.txt war nur 3 MB groß :)
Als linux dummy habe ich mich allerdings jetzt ziemlich angestellt den Inhalt zu löschen  ::)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

Zitat von: Otto123 am 17 Februar 2015, 10:29:02
Als linux dummy habe ich mich allerdings jetzt ziemlich angestellt den Inhalt zu löschen  ::)

Du brauchst doch nur in fhem das device "eventTypes" löschen.

Oder mit "set eventTypes clear" mit einem anschließenden "set eventTypes flush" eine leere Datei schreiben.

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

der-Lolo

geht das auch mit dem Logfile? Ich nehme nämlich immer den FTP Client, klicke auf bearbeiten - cmd-A entfernen und cmd-W um das Logfile zu löschen... Einen Button dafür hätte ich wirklich gerne.

Otto123

Zitat von: betateilchen am 17 Februar 2015, 10:32:51
Oder einfach mal die commandref zu eventTypes lesen.
Ja  8)  :-*
Aber gut das wir drüber gesprochen haben :) bei dem "Du kannst den Inhalt der Datei löschen..." bin ich eben auf die Linux Ebene und habe mein Glück versucht. Anfängerfehler...
Danke!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

Zitat von: der-Lolo am 17 Februar 2015, 10:41:24
geht das auch mit dem Logfile?

Da würde ich mir aber lieber ein entsprechendes Logintervall definieren (z.B. Tageslog oder Wochenlog) und das Attribut nrarchive entsprechend setzen. Das ist die bessere Variante.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!