FHEM > Sonstiges

ewiger Neustart mit systemd

(1/3) > >>

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/ )
   -
--- Code: ---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
--- Ende Code ---
   -
--- Code: ---sudo wget http://fhem.de/fhem-6.0.deb && sudo dpkg -i fhem-6.0.deb
--- Ende Code ---
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:

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

--- Ende Code ---

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

--- Code: ---# $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

--- Ende Code ---

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

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

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?

rudolfkoenig:

--- Zitat ---Könnte ich FHEM bei einem Systemstart auch anders als mit systemd starten?

--- Ende Zitat ---
Ja, z.Bsp. mit folgendem crontab Eintrag des fhem Benutzers:

--- Code: ---@reboot cd /opt/fhem; perl fhem.pl fhem.cfg
--- Ende Code ---

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.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln