FHEM hängt sich beim speichern der FHEM Config auf.

Begonnen von Snocksman, 19 August 2024, 13:05:27

Vorheriges Thema - Nächstes Thema

Snocksman

Hallo zusammen,

mir ist gerade ein Problem mit meiner FHEM-Installation aufgefallen... Ich weiß nicht seit wann das Problem besteht, aufgefallen ist es mir jetzt gerade erst.

Wenn ich über "Edit Files" die fhem.cfg editiere und dann den Button "save fhem.cfg" drücke, hängt sich FHEM auf... Wenn ich systemctl nach dem Status von FHEM frage, bekomme ich folgenden output:
pi@FHEM-Server:~ $ systemctl status fhem
? fhem.service - FHEM Home Automation
     Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: enabled)
     Active: deactivating (stop-sigterm) (Result: exit-code) since Mon 2024-08-19 12:56:01 CEST; 18s ago
    Process: 768 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=0/SUCCESS)
   Main PID: 770 (code=exited, status=255/EXCEPTION)
      Tasks: 1 (limit: 1595)
        CPU: 45.507s
     CGroup: /system.slice/fhem.service
             mq797 /usr/bin/perl fhem.pl fhem.cfg

Aug 19 12:55:15 FHEM-Server systemd[1]: Starting FHEM Home Automation...
Aug 19 12:55:15 FHEM-Server systemd[1]: Started FHEM Home Automation.
Aug 19 12:56:01 FHEM-Server systemd[1]: fhem.service: Main process exited, code=exited, status=255/EXCEPTION

Was kann das plötzlich sein ? Ja, ich kann fhem dann einfach wieder starten, nervig ist das trotzdem...

MadMax-FHEM

Wozu die fhem.cfg manuell bearbeiten?
Ja, auch Edit Files ist manuelle Bearbeitung.
Und nur möglich, wenn es explizit "freigeschalten" wird, aus gutem Grund...

Einfach lassen und nur das WebFrontend nutzen...

Siehe u.a. hier: https://forum.fhem.de/index.php?topic=138852.msg1317525#msg1317525

Gibt auch viele weitere Threads zu dem Thema...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JoWiemann

Hallo,

nach dem Speichern wird ein rereadcfg durchgeführt, was nicht immer klaglos von Fhem hingenommen wird.

siehe auch hier:

https://forum.fhem.de/index.php?msg=1318641
https://forum.fhem.de/index.php?topic=100161.0

und weitere Beiträge über die vielen Jahre in denen Fhem existiert. Eigentlich müssten die Möglichkeiten mit einem roten PopUp zur Warnung versehen werden.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Snocksman

#3
Hmmm... Komisch. In den vielen Jahren (bestimmt mittlerweile 10 Jahre) in denen ich FHEM nutze, hatte ich damit noch nie Probleme, dass sich FHEM beim bearbeiten/speichern der Config weg hängt...  ???

Ich habe in den letzten Tagen einige Geräte hinzugefügt... Diese habe ich gerade mal testweise entfernt und auch das speichern funktioniert nun wieder. Ich sehe nur in den neu angelegten Devices (nein, diese habe ich nicht händisch in der Konfig bearbeitet), nicht warum es damit zu problemen kommen sollte...

Edit: Es scheint mir fast so, als ob das Problem etwas mit der Länge der Config zu tun hat... Wenn ich die kürzlich hinzugefügten Devices entferne, funktioniert das Speichern manchmal (nicht immer). Wenn ich nur eins (egal welches) der neuen Devices (Shellys per MQTT) wieder hinzufüge, funktioniert das Speichern überhaupt nicht mehr.

betateilchen

#4
Jetzt solltest Du aber erstmal klären, ob Dein Problem beim Speichern auftritt oder beim anschließenden Einlesen der Konfiguration.
Für mich klingt das eher nach einem Problem mit dem Speichermedium.

Mit der Größe der Konfigurationsdatei hat FHEM an sich kein Problem, das sollte immer funktionieren. Wieviele Zeilen hat denn Deine Konfigurationsdatei?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Snocksman

Die Konfig ist mittlerweile 3995 Zeilen lang.

Ich habe gerade mal ein rereadcfg gemacht und dabei hängt sich FHEM dann sofort weg.

Probleme mit dem Speichermedium... Hmmm... Ich hatte schonmal ne defekte SD-Karte... Hätte ich jetzt erstmal nicht drauf getippt, da FHEM ganz normal hochfährt und auch sonst stabil läuft... Nur beim "speichern der Konfig" bzw. bei dem rereadcfg tritt das Problem auf...

betateilchen

Zitat von: Snocksman am 19 August 2024, 14:27:45Nur beim "speichern der Konfig" bzw. bei dem rereadcfg tritt das Problem auf...

Ja - wann denn nun?

Was passiert denn, wenn Du ein "save config" machst, ohne die Konfiguration verändert zu haben?

Der Befehl "rereadcfg" ist halt bekannt für bestimmte Unzulänglichkeiten, die durch unsaubere Programmierung in verschiedenen Moduldateien verursacht werden.

Was passiert, wenn Du testweise fünf dummy devices zusätzlich in die Konfiguration schreibst?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Snocksman

Zitat von: betateilchen am 19 August 2024, 14:53:10Ja - wann denn nun?
In beiden Fällen. Aber wie ich weiter oben gelernt habe, wird beim klick auf "Save fhem.cfg" ja auch ein rereadcfg ausgeführt...

Zitat von: betateilchen am 19 August 2024, 14:53:10Was passiert denn, wenn Du ein "save config" machst, ohne die Konfiguration verändert zu haben?
Dann hängt sich FHEM genau so auf.

Zitat von: betateilchen am 19 August 2024, 14:53:10Der Befehl "rereadcfg" ist halt bekannt für bestimmte Unzulänglichkeiten, die durch unsaubere Programmierung in verschiedenen Moduldateien verursacht werden.
Ja, das könnte ich verstehen, wenn ich irgendwelche Module nutzen würde, die ich vorher nicht genutzt habe... Aber ich habe einfach nur drei Shellys hinzugefügt (MQTT)... Shellys und MQTT habe ich aber auch schon vorher im Einsatz gehabt.

Zitat von: betateilchen am 19 August 2024, 14:53:10Was passiert, wenn Du testweise fünf dummy devices zusätzlich in die Konfiguration schreibst?
Dann habe ich fünf Dummy Devices mehr in FHEM. Das speichern funktioniert, trotzdem hängt sich FHEM beim speichern über "Save fhem.cfg" weiterhin auf.

betateilchen

Wir reden aneinander vorbei.

Ein reines "Save config" über den Menüeintrag links löst kein rereadcfg aus.

Die fünf dummy devices solltest Du nicht über "Edit files" anlegen, sondern über fünf define Befehle in der FHEM Befehlszeile. Danach ein "Save config" über den Menüeintrag links.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Snocksman

Zitat von: betateilchen am 19 August 2024, 15:12:16Ein reines "Save config" über den Menüeintrag links
Das Save Config oben links funktioniert ohne Probleme. Egal, ob ich was an der Konfig geändert habe, oder nicht.

Zitat von: betateilchen am 19 August 2024, 15:12:16Die fünf dummy devices solltest Du nicht über "Edit files" anlegen, sondern über fünf define Befehle in der FHEM Befehlszeile. Danach ein "Save config" über den Menüeintrag links.
...auch das funktioniert auf diesem Weg problemlos.

betateilchen

Und mit den fünf dummy devices funktioniert ein manuell ausgeführtes rereadcfg nach dem Speichern dann auch nicht?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Snocksman

Habs gerade nochmal getestet. Per define test1-5 dummy, fünf dummy-Devices angelegt und oben links auf Save Config geklickt. Dann rereadcfg eingegeben und FHEM hängt.