Hallo zusammen,
Ich habe seit einigen Monaten das Problem, dass FHEM immer wieder mal Blockiert.
Ich habe jetzt FreezMon eingerichtet und ich weiß auch, dass die Aussage nicht 100% sicher ist, welches Modul blockiert.
Beim heutigen Freez war der MQTt Client im Log.
1 - 2026-03-24: s:07:41:45 e:18:37:49 f:39364 d:tmr-MQTT2_CLIENT_keepalive(m2c) tmr-CODE(0x63bfc50)(GetUpdate) tmr-CODE(0x63bfc50)(GetUpdate) tmr-OBIS_GetUpdate(EHZ) tmr-CODE(0x63bfc50)(GetUpdate) tmr-CODE(0x63bfc50)(GetUpdate)
Das war der letzt Eintrrag vor dem Freez und die Uhrzeit passt ich.
Könnte das die Ursache sein oder ist im Mqtt-Client ich alles non Blocking und das Modul ist auch nur ,,Opfer" eines anderen Moduls?
Vielen Dank und Grüße Michael
Hallo Elektron,
was in jedem Fall Fhem für etliche Sekunden blockieren kann, sind Seiten mit vielen SVG-Diagrammen. Ansonsten hilft es die log-Datei zu durchforsten, ob es Muster gibt, z.B. zeitlicher Natur, so dass man in den Definitionen suchen kann, ob etwas immer zur gleichen Zeit oder dergleichen auftritt. Das hat mir schon häufiger geholfen. Manchmal kann es leider vorkommen, dass ohne eigens Zutun plötzlich etwas aus dem Ruder läuft. Da hilft dann systematisch vorzugehen und den Verursacher durch Deaktivieren zu entlarven.
Mit DOIFtools kann man sehen, wieviele Events bei jedem Device auftritt. Da kann es durchaus Überraschungen geben. Das Ziel wäre es, die Anzahl der Events auf das nötigste zu begrenzen, um die Belastung für den Server zu begrenzen.
defmod DOIFtools DOIFtools
attr DOIFtools icon helper_doiftools
Es gibt sicher noch weitere Vorschläge im Thread - hiermit hab ich mal den Anfang gemacht.
Viele Grüße Gisbert
Hallo Gisbert,
Vielen Dank für Deine Antwort.
Werde ich entsprechend umsetzen, in meinem Fall blockiert FHEM über mehrere Stunden.
Also das blockierende Modul kommt nie wieder zurück.
Ich muss FHEM dann stoppen und neu starten.
Wenn ich FHEM stoppe werden Aktionen die in der Zwischenzeit hätten ausgeführt werden sollen (zum Teil) noch ausgeführt.
Viele Grüße Michael
Hallo Michael,
wenn es so schlimm ist, dann muss schon etwas wirklich im Argen liegen.
Ich hatte einmal den Fall, dass sich ein Freeze von einer Minute an den anderen gereiht hat, zwischendurch war es dann für kurze Zeit halbwegs normal, dann fing es wieder an.
Ich hab dann rigors Teile meiner Devices abgeschaltet, bis ich die Ursache gefunden hatte. Da ich keine Lösung gefunden hatten und das Modul schon länger nicht gewartet wurde, hab ich es anschließend nicht wieder inbetrieb genommen. In meinem Fall war das Abschalten einfach möglich, da ich viele Definitionen in .cfg-Dateien ausgelagert hab, die in der fhem.cfg per include eingebunden werden. Diese Zeilen habe ich dann reihum in der fhem.cfg auskommentiert, die fhem.cfg gespeichert, so dass die Devices in der betroffenen .cfg-Datei nicht mehr geladen wurden. Zwischendurch natürlich immer Fhem per shutdown restart neu gestartet.
Eine andere Möglichkeit ist ein älteres Backup zu benutzen, bei dem es noch keine Schwierigkeiten gab. Ausgehend davon werden die Änderungen sukzessive definiert, Fhem dann neu gestartet und beobachtet, was passiert.
Ich glaube, dass es keinen Königsweg gibt, um dem Fehler auf die Spur zu kommen - außer, dass man sehr systematisch vorgehen sollte. Teile der Definitionen zu deaktivieren oder zu löschen, sind sicher die härtesten Maßnahmen, wenn man sonst nicht weiterkommt.
Viele Grüße Gisbert