ewiger Neustart mit systemd

Begonnen von mig2, 17 Oktober 2022, 20:45:08

Vorheriges Thema - Nächstes Thema

mig2

Hoi zusammen,
ich habe seit ein paar Wochen ein komisches Problem. Wenn der Raspberry neu bootet, wird über systemd FHEM gestartet. So ist es, dass dann alle 2-3 Minuten der Prozess von FHEM neu startet. Das ist nicht so optimal. Wenn ich den gleichen Aufruf auf der Shell als Benutzer PI oder root machen, dann läuft der Prozess ohne Probleme.
Ich habe dann auf dem Produktiven Raspberry (PI4) mal die normal verdächtigen Komponenten abgeschalten (Telegram, Talk, fhempy) hat soweit nichts gebracht.
Letzte Woche habe ich dann auf einem Ersatz Raspberry (PI3) das Betriebsystem (bullseye) per Image installiert, dann FHEM installiert, anschliessend local eine MariaDB installiert und dann die Produktive DB auf die locale Instanz kopiert. Mit dem FHEM Start ab der Shell funktioniert es. Bei einem Reboot wieder das gleiche Problem, nach 2-3 Minuten wird der FHEM Prozess neu gestartet.
Jetzt habe ich gestern den Ersatz Raspberry nochmals das aktuelles Image geladen, wie folgt:
- Download Image auf WINDOWS Rechner, dann mit WIN31DiskImager die SD Karte vorbereitet
- SD Karte in Raspberry, Ländereinstellungen vorgenommen, SSH & VCN freigeschalten, WLAN eingerichtet, Expand Filesystem
- Betriebssystem aktualisiert (sudo apt-get update / sudo apt-get upgrade)
- Nun FHEM installiert (Anleitung https://www.meintechblog.de/2016/05/fhem-server-auf-dem-raspberry-pi-in-weniger-als-einer-stunde-einrichten/ )
   - sudo apt-get -f install && sudo apt-get -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl fonts-liberation2 libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl
   - sudo wget http://fhem.de/fhem-6.0.deb && sudo dpkg -i fhem-6.0.deb
Mehr wurde nicht gemacht, nach dem anschliessenden Reboot lief das System.
Nun habe ich dann in (/etc/systemd/system/fhem.service) den Aufruf auf die fhem.cfg.demo gelegt. Jetzt tritt das Problem wieder auf.

Wenn ich den Service von Hand aufrufe (systemctl start fhem), bricht dieser nach 2-3Minuten ab. Mit dem Hinweis, siehe journalctl -xe, da steht dann folgendes:
Okt 17 20:40:43 raspberrypi systemd[1]: fhem.service: start operation timed out. Terminating.
Okt 17 20:40:43 raspberrypi perl[1504]: 2022.10.17 20:40:43.174 0: Server shutdown
Okt 17 20:40:43 raspberrypi systemd[1]: fhem.service: Failed with result 'timeout'.
Subject: Unit failed
Defined-By: systemd
Support: https://www.debian.org/support

The unit fhem.service has entered the 'failed' state with result 'timeout'.
Okt 17 20:40:43 raspberrypi systemd[1]: Failed to start FHEM Home Automation.
Subject: A start job for unit fhem.service has failed


Ich habe schon vor zwei Wochen nach Systemd und Fhem Timeout gesucht. Leider habe ich nicht das richtige gefunden.

Ich hoffe, jemand kann mir da weiterhelfen :)

fhem.service
# $Id: fhem.service 19235 2019-04-21 13:26:17Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target
#Requires=postgresql.service
#After=postgresql.service
#Requires=mysql.service
#After=mysql.service

[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg.demo
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always

[Install]
WantedBy=multi-user.target

RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

Beta-User

Versuch's doch zur Übung einfach nochmal und nimm die Anleitung von hier: https://wiki.fhem.de/wiki/Raspberry_Pi

Im Wiki steht vermutlich auch ein Hinweis, warum der Pi erst mal nicht wirklich hochkommt und dann (ziemlich sicher nach genau 90 Sekunden!) neu startet... (das mit den 90 Sekunden sollte auch aus dem FHEM-log zu erkennen sein).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

mig2

Guten Morgen Beta-User,
ich werde das mal genau mit dieser Anleitung durchspielen. Sollte bis heute Abend erledigt sein :)

Danke für den Typ
RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

mig2

ich habe nun das ganze System mit der Anleitung aus dem WKI aufgesetzt. Wenn nun die Standard fhem.cfg mit dem Service aufgerufen wird. Läuft es durch.
Sobald ich die Datei fhem.service (als root) auf fhem.cfg.demo anpasse. Wird der Prozess alle 2-3 Minuten neu gestartet.

pi@fhem2:~ $ psx fhem
avahi      365     1  0 14:41 ?        00:00:00 avahi-daemon: running [fhem2.local]
fhem       485     1  9 14:41 ?        00:00:05 /usr/bin/perl fhem.pl fhem.cfg.demo
pi         650   638  0 14:42 pts/0    00:00:00 grep --color=auto fhem
pi@fhem2:~ $ psx fhem
avahi      365     1  0 14:41 ?        00:00:00 avahi-daemon: running [fhem2.local]
fhem       652     1 11 14:43 ?        00:00:07 /usr/bin/perl fhem.pl fhem.cfg.demo
pi         660   638  0 14:44 pts/0    00:00:00 grep --color=auto fhem
pi@fhem2:~ $ psx fhem
avahi      365     1  0 14:41 ?        00:00:00 avahi-daemon: running [fhem2.local]
fhem       661     1 13 14:44 ?        00:00:05 /usr/bin/perl fhem.pl fhem.cfg.demo
pi         664   638  0 14:45 pts/0    00:00:00 grep --color=auto fhem

psx ist ein alias für ps -ef | grep

Könnte ich FHEM bei einem Systemstart auch anders als mit systemd starten?
RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

rudolfkoenig

#4
ZitatKönnte ich FHEM bei einem Systemstart auch anders als mit systemd starten?
Ja, z.Bsp. mit folgendem crontab Eintrag des fhem Benutzers:
@reboot cd /opt/fhem; perl fhem.pl fhem.cfg

Will damit nicht sagen, dass das besser als systemd ist.

Nachtrag: ich wuerde eher pruefen, warum FHEM mit systemd sich beendet, indem ich das FHEM-Log durchlese.

Otto123

Zitat von: mig2 am 18 Oktober 2022, 14:49:40
Sobald ich die Datei fhem.service (als root) auf fhem.cfg.demo anpasse. Wird der Prozess alle 2-3 Minuten neu gestartet.
War das denn der Ansatz fhem.cfg.demo ? Die schaut man sich doch eher in einem interaktive Start mal an und dann ist es wieder gut.
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

Beta-User

Du hast in der Sig was stehen von einem Razberry. Stimmt das noch? Hast du die serielle Schnittstelle konfiguriert wie im Wiki beschrieben? Hast du initialUsbCheck deaktiviert?

(Und kannst du dich mal mit den üblichen Formatierungen für Beiträge hier befassen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

mig2

mal vielen Dank für die Vielen Antworten  ;)
Zitat von: Otto123 am 18 Oktober 2022, 15:19:20
War das denn der Ansatz fhem.cfg.demo ? Die schaut man sich doch eher in einem interaktive Start mal an und dann ist es wieder gut.
Damit möche ich noch nichts von meiner Konfiguration nehmen, damit ich sicher bin, dass es nicht an der Config liegen würde. Ich setze auch logdb und configdb ein. Das ist aber bei diesen Raspberry noch nicht eingerichtet. Da ist wirklich nur die minimal Konfiguration von FHEM drauf.

Zitat von: Beta-User am 18 Oktober 2022, 15:48:57
Du hast in der Sig was stehen von einem Razberry. Stimmt das noch? Hast du die serielle Schnittstelle konfiguriert wie im Wiki beschrieben? Hast du initialUsbCheck deaktiviert?
Am Produktiven Raspberry PI4 ist dieses Modul am laufen. Bei dem Ersatz Raspberry PI3 ist die Karte nicht vorhanden. InitialUsbCheck ist in der Demo config nicht vorhanden. Die Serielle Schnittstelle wurde anhand vom WIKI konfiguriert und kontrolliert.

Zitat(Und kannst du dich mal mit den üblichen Formatierungen für Beiträge hier befassen).
Das tut mir leid, ich werde schauen, was ich verbessern könnte.


RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

Otto123

#8
Zitat von: mig2 am 18 Oktober 2022, 16:28:05
Damit möche ich noch nichts von meiner Konfiguration nehmen, damit ich sicher bin, dass es nicht an der Config liegen würde. Ich setze auch logdb und configdb ein. Das ist aber bei diesen Raspberry noch nicht eingerichtet. Da ist wirklich nur die minimal Konfiguration von FHEM drauf.
Ich finde den Ansatz komisch. Nimm lieber eine leere fhem.cfg und fange an ein paar Definitionen die Du testen willst, von Deiner Installation zu übernehmen (Stichwort Raw Defintion).
Oder beende FHEM und starte die demo von Hand in der Kommandozeile.
Geht auch im debug Modus https://wiki.fhem.de/wiki/FHEM_startet_nicht_-_Tipps_zur_Fehlersuche

Original cfg
wget -qO fhem.cfg https://svn.fhem.de/fhem/trunk/fhem/fhem.cfg

Was Du beim posten verbessern kannst steht hier https://forum.fhem.de/index.php/topic,71806.0.html
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

Beta-User

Ergänzend zu dem was Otto geschrieben hat: Wenn FEHM von der Kommandozeile sauber startet, aber nicht von systemd aus, könnte es an den Benutzerrechten liegen, die ggf. beim Starten von der Kommandozeile "verbogen" werden (eher: zusätzlich angelegt).

Und/oder es gibt irgendwas anderes, was eine Schnittstelle belegt (7072? Aber dann müßte eigentlich was im Log stehen. Legt aber die demo gar nicht an, oder?)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

mig2

Ihr habt ja viele Fragen  ;)
Zitat von: Otto123 am 18 Oktober 2022, 16:36:37
Ich finde den Ansatz komisch. Nimm lieber eine leere fhem.cfg und fange an ein paar Definitionen die Du testen willst, von Deiner Installation zu übernehmen (Stichwort Raw Defintion).
Oder beende FHEM und starte die demo von Hand in der Kommandozeile.
Da ich mit configdb und logdb arbeite, möchte ich damit eine Fehlerkonfiguration auschliessen.  Mit der originalen fhem.cfg geht der systemd Start.
ZitatGeht auch im debug Modus https://wiki.fhem.de/wiki/FHEM_startet_nicht_-_Tipps_zur_Fehlersuche
Aus diesem Beitrag habe ich das mit der fhem.cfg.demo. Das wird im letzten Absatz erwähnt.

Zitat von: Beta-User am 18 Oktober 2022, 16:46:20
Und/oder es gibt irgendwas anderes, was eine Schnittstelle belegt (7072? Aber dann müßte eigentlich was im Log stehen. Legt aber die demo gar nicht an, oder?)
Am Raspberry ist nichts eingesteckt (Ausser Stromkabel). WLAN ist noch konfiguriert.


RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

rudolfkoenig

Zitat[...] Aber dann müßte eigentlich was im Log stehen. Legt aber die demo gar nicht an, oder?
fhem.cfg.demo ist fuers Starten aus dem Terminal gedacht.
Wegen "attr global logfile -" wird das Log auf dem Terminal geschrieben, FHEM laeuft deswegen auch nicht im Hintergrund.
Ich gehe davon aus, dass systemd mit dieser Konfiguration nicht zurechtkommt.

mig2

Da die Grundkonfiguration stabil läuft, werde ich nun auf dieser Aufsetzen. Werden nun mariadb einrichten, dann Grundfunktion übernehmen. Anschliessend einzelne Komponenten aus der Produktiven Instanzen übernehmen. Mal schauen, ob ich so den Fehler finde.
RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)

Otto123

Zitat von: mig2 am 18 Oktober 2022, 17:04:23
Aus diesem Beitrag habe ich das mit der fhem.cfg.demo. Das wird im letzten Absatz erwähnt.
Aber da steht nichts von systemd, da steht die Kommandozeile beschrieben. ;)
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

mig2

Heute konnte ich nach langen Suchen ein Workaround umsetzen. Ich habe in fhem.service die Zeile Typ:forking auf Typ:simple umgestellt.
Seit dem habe ich keine Probleme mehr. Vielen Dank für alle Infos
RPi 3 - CUL 868 (Pigator) - ZWave (RaZberry2)
Homematic:HM-SEC-SC-2 / HM-SEC-SCo / HM-TC-IT-WM-W-EU / HM-ES-PMSw1-Pl-DN-R5
Z-Wave: FGR222 (010f-0302-1000) / FGS223 (010f-0203-1000) / FGD212 (010f-0102-1000) /FGKF601 (010f-1001-1000) / KeyFob / FGS212 (010f-0402-1002)