Drucken
Kategorie: FHEM
Zugriffe: 39992

Ich habe jetzt endlich Zeit genommen, meine alte Bastelei (http://s6z.de/cms/index.php/homeautomation-homecontrol/softwareplattformen/fhem/23-fhem-watchdog) über Bord zu werfen. Moderne Linux-Systeme verwendet systemd, der kann das besser out-of-the-box.

Nachdem ich im Forum eine gute Vorlage (https://forum.fhem.de/index.php/topic,85231.msg775822.html#msg775822) gefunden habe, erstelte ich kurzerhand daraus ein leicht zu verwendendes Modul. Zu finde ist wie immer im GitHub: https://raw.githubusercontent.com/hexenmeister/MyFHEM/master/FHEM/98_systemd_watchdog.pm Wenn sich das gute Stück bewehrt, checke ich es auch ins FHEM-SVN-Repo ein.

Hier ist ein Kurzanleitung für die Instalation:

 Hier ist das Startscript (fhem.service):

[Unit]
Description=FHEM Home Automation
Requires=network.target
#After=network.target
After=dhcpcd.service

[Service]
Type=forking
NotifyAccess=all
User=fhem
Group=dialout
# Run ExecStartPre with root-permissions
PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir -p /var/run/fhem
ExecStartPre=/bin/chown -R fhem:dialout /var/run/fhem
# Run ExecStart with defined user and group WorkingDirectory=/opt/fhem ExecStart=/usr/bin/perl fhem.pl fhem.cfg #ExecStart=/usr/bin/perl fhem.pl configDB TimeoutStartSec=240 TimeoutStopSec=120 #ExecStop=/usr/bin/pkill -U fhem perl ExecStop=/usr/bin/pkill -f -U fhem "fhem.pl fhem.cfg" # Restart options: no, on-success, on-failure, on-abnormal, on-watchdog, on-abort, or always. Restart=on-failure RestartSec=3 WatchdogSec=180 PIDFile=/var/run/fhem/fhem.pid [Install] WantedBy=multi-user.target

 

Das Modul erzeugt zwei Readings:
state: gibt an, ob die Instanz aktiv ist (ist automatish der Fall, wenn Systemd-Watchdog verfügbar ist)
next: zeigt den Zeitpunkt der nächten keep-alive-Meldung

Außerdem gibt es zusützlich zu den allgemeinen 'Internals' zwei weitere:
sleep-time: Zeitinterval zw. den keep-alive-Meldungen (wird aus dem im Watchdog definierten Interval ausgerechnet, es wird ein Vietel von der maximalen Zeit verwendet).
systemd-watchdog: zeigt an, ob Systemd-Watchdog verfügbar ist.

Update: Mit Hilfe von ExecStartPre wird jetzt das Verzeichnis für die PID-Datei bei Bedarf erstellt und der fhem-User als Besitzer eingetragen.

Update2: Nach einer Testphase habe ich das Modul in das offizielle Repo eingecheckt und im Forum beschriben: https://forum.fhem.de/index.php/topic,90438.0.html

Kommentare (0)

Cancel or