- Gefälschte Sparkassen-SMS: "Ihre S-pushTan Registrierung läuft ab"
- Morgen bei Aldi Süd: Medion Akoya P6670
- Slash & Backslash am Mac machen: "/", "|" und "\"
- Slash & Backslash am Mac machen: "/", "|" und "\"
- Raspberry Pi Passwort: So meldet man sich an!
- Raspberry Pi Passwort: So meldet man sich an!
- Slash & Backslash am Mac machen: “/”, “|” und “\”
FHEM stürzt ab: So prüft man, ob das System noch läuft – oder startet neu!
Je größer die FHEM Installation wird im eigenen Smart Home, desto mehr Fehler sind auch möglich – das kann dann dazu führen, dass FHEM abstürzt und nicht mehr reagiert. In der Regel ist der Rechner, auf dem FHEM läuft, aber noch aktiv – nur FHEM ist abgestürzt. Hier stellen wir eine einfache Möglichkeit vor, um den FHEM Absturz festzustellen und dann den Rechner neu zu starten!
FHEM Absturz: Ist FHEM abgestürzt?
Zunächst muss FHEM regelmäßig mitteilen, dass es noch läuft und nicht abgestürzt ist – eine Möglichkeit ist, dass es alle 10 Minuten mit einem Perl-Kommando die aktuelle Zeit als Linux-Timestamp in eine Datei schreibt – nach 10 Minuten wird der Wert wieder überschrieben:
define FHEM_Online at +*00:10:00 {\ open(TIMESTAMPDATEI, ">/home/pi/fhem_timestamp.txt");;\ print TIMESTAMPDATEI "".time()."";;\ close(TIMESTAMPDATEI);;\ } attr FHEM_Online alignTime 00:00
(So gibt man die Daten in FHEM ein!)
Die in Zeile 2 angegebene Datei muss dabei unbedingt für FHEM beschreibbar sein und die Rechte 664 oder 666 besitzen – andernfalls wird kein neuer Zeitwert geschrieben und der Rechner startet alle 10 Minuten neu.
Kann FHEM die Datei aber beschreiben, wird dort alle 10 Minuten der aktuelle Timestamp als Wert in einer Text-Datei gespeichert. Der Pfad lautet in unserem Beispiel “/home/pi/fhem_timestamp.txt”, damit wird die Datei im Benutzerordner “pi” auf dem Raspberry Pi gespeichert!
Timestamp Datei auslesen und Rechner neu starten – PHP
In unserem ersten Beispiel lesen wir die von FHEM geschriebene Datei mit PHP aus und starten den Rechner neu, wenn FHEM seit 30 Minuten keinen neuen Zeit-Wert in die Datei geschrieben hat. Da das PHP Skript später direkt per Root-Cronjob ausgeführt wird, gibt es auch keine Rechte-Probleme: Der Rechner lässt sich direkt aus dem PHP Skript neustarten!
Noch kein PHP installiert?
Wenn man bei der Eingabe von PHP die Fehlermeldung “bash: php: command not found” erhält, muss man PHP erst installieren. Anderenfalls beendet man PHP wieder durch Drücken von STRG und C.
PHP Code um den FHEM Wert zu lesen und den Rechner neu zu starten
Mit dem folgenden PHP Code wird die Datei eingelesen und ausgewertet – statt PHP kann man dafür aber auch eine andere Programmiersprache nehmen. Der Code sollte als PHP Datei gespeichert werden – zum Beispiel so:
nano /home/pi/fhem_timestamp.php
Mit STRG + O lässt sich die Datei speichern, nachdem man den Code eingefügt hat, mit STRG + X beendet man den Nano-Editor wieder.
<?php $aktuell = time(); // FHEM Timestamp aus Datei einlesen $fhem_timestamp = file('fhem_timestamp.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $fhem_timestamp = $fhem_timestamp[0]; echo '$fhem_timestamp: '.$fhem_timestamp."\n"; // Pruefen, ob Timestamp in Datei vorhanden if(!isset($fhem_timestamp)) { $fhem_timestamp = 0; } // Ueberpruefen: Wenn geschriebene Variable vor mehr als 30 Minuten aktualisiert... if($aktuell > ($fhem_timestamp + 1800)) { // Datei ist aelter - FHEM scheint abgestuerzt - Reboot! exec('sudo service fhem stop'); exec('sudo service fhem start'); } ?>
Alternativ kann man auch, wenn das Neustarten des FHEM Dienstes nicht funktioniert, statt den beiden “exex()” Befehlen den Befehl zum Neustart des Rechners geben:
exec('sudo /sbin/reboot');
Dieser PHP Code prüft nun, ob der von FHEM regelmäßig gespeicherte Zeitwert älter als 30 Minuten (1800 Sekunden!) ist. Wenn ja, hat der Smart Home Server nichts mehr gespeichert und scheint abgestürzt zu sein: Dann startet das PHP Skript den Rechner neu.
Das funktioniert, weil PHP nicht über den Webserver, sondern direkt über die Konsole ausgeführt wird: Ansonsten hätte man keine Berechtigung, den Rechner mit dem Skript neu zu starten.
Damit das passiert, muss man sich als Root User anmelden und danach mit dem Befehl “crontab -e” die Root-Cronjobs bearbeiten: Das sind automatisch zu bestimmten Uhrzeiten ausgeführte Befehle oder Programme. Am Ende der crontab Datei fügt man jetzt diese Zeile ein:
1,11,21,31,41,51 * * * * sudo php /home/pi/fhem_timestamp.php
Wichtig ist dabei, dass der Pfad zu dem PHP Programm stimmt – falls es nicht im /home/pi Ordner liegt. Am Ende der Datei muss sich außerdem eine Leerzeile befinden – einmal Enter drücken reicht.
Jetzt sollte der Rechner alle 10 Minuten prüfen, ob FHEM noch läuft oder sonst automatisch neustarten. Alternativ zum Server-Neustart lässt sich meistens auch FHEM alleine neu starten – da das je nach Betriebssystem aber anders aussehen kann, zeigen wir hier im Skript den kompletten Neustart.
- datenschutz (12x gelesen)
- windows-beschleunigen (8x gelesen)
- windows-schneller-starten-autostart-aufraeumen (8x gelesen)
- pc-einsteigerkurs (5x gelesen)
- pc-einsteigerkurs-4-3 (2x gelesen)
Mehr Tipps zu FHEM stürzt ab: So prüft man, ob d...
-
FHEM: JeeLink / LaCrosse Sensor: Batterie wechseln
Wer bei einem LaCrosse Temperatursensor die Batterien tauscht, muss eine Sache beachten - andernfalls wird die Hardware-ID zurückgesetzt und der Sensor wird unter einem neuen...
-
FHEM: Logitech Harmony Hub “Disconnected”
FHEM / Logitech Harmony Hub: Steht der Harmony Hub nach einem Update in der Smart Home Software plötzlich auf "Disconnected", lässt sich das in der...
-
Automagic Download für Android, AMAD und FHEM
Automagic ist eine Android-Software, über die sich zahlreiche Automatisierungen auf dem Gerät einstellen und planen lassen. Automagic ist aber auch wichtig, um Android-Tablets oder -Handys...
-
M4A Audio-Datei in MP3 umwandeln auf dem Mac!
Eine M4A-Datei lässt sich auf einem Mac ganz einfach in eine MP3-Datei umwandeln, beispielsweise mit der Apple Music-App. Dies ist besonders nützlich, wenn man etwa...
-
Apple Mac: ZIP Datei mit Passwort schützen (ohne Zusatz-Tools)!
Durch das Zippen oder Komprimieren von Dateien spart man leicht Speicherplatz und kann mehrere Dateien als einzenes, praktisches Archiv weitergeben: Das Erstellen einer ZIP Datei...
-
PHP Fehler anzeigen: Fehleranzeige aktivieren für eine oder alle Seiten!
Schnell sehen, wo der PHP Fehler liegt: Dazu schaltet man die PHP Fehleranzeige ein, um genaue Informationen zu Problem und Zeilennummer zu bekommen. Die PHP...
- Pc stuerzt ab und startet neu. Ereignisname:Bluescreen? EREIGNIS-ID :1001
- Was ist dieses System noch Wert?
Hey leute,Ich spiele zZ mit dem Gedanken meinen Tower-PC zu verkaufen und mir dafür ein...
- power led leuchtet nur kurz und pc laeuft nicht an
- Wieviel ist mein PC System noch wert?
HalloKann mir evtl. jemand sagen wie viel mein PC noch wert ist? Würde den gerne verkaufen da...
- Wieviel ist mein System noch wert?
Hallo,ich wollte fragen wieviel Geld ich für meinen Rechner noch bekommen würde, wenn ...
- Ist mein System für die nächste Zeit noch aktuell (auch für Spiele) ?
- neues System oder nur neue Grafik ?
Hallo Leute,da bald BF4 rauskommt und EA meint man braucht min.i3,i5,i7 quad Core...
- Suche Mini oder Barebone System
- Welches System? Windows, Mac, Google oder sonstige?
FHEM stürzt ab: So prüft man, ob das System noch läuft - oder startet neu!