FHEM Prozessüberwachung [gelöst]

Begonnen von Larusso, 27 November 2020, 14:34:43

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#15
Naja, wenn es jetzt alle 30 min passiert, dann stimmt wohl das was IN der Datei steht NICHT mit dem überein was ERWARTET wird...

Also die Zeit die fhem IN die Datei schreibt (passiert das, also WAS steht denn immer so in der Datei?) ist nicht das was php zyklisch ausliest und dann prüft, ob DIESE GELESENE Zeit nicht älter als 30min ist...

Eventuell hat php eine andere "Zeitumgebung" oder ein anderes "Zeitformat", dann kann nat. nicht vernünftig verglichen werden und dann: Neustart... ;)

Ich schau dann mal noch mal über den Code und versuche das zu verstehen...

ABER: man kann das php doch auch als root (also mit sudo, damit das auch in etwa wie später per cron ist) auf der Console aufrufen, da wird doch (wenn ich das im Kopf habe) ausgegeben, was denn aus der fhe-Datei gelesen wurde? Und evtl. auch was denn php gerade als "Uhrzeit" hat (wenn nicht kann man das bestimmt einbauen). Und wenn man das dann vergleicht, dann müsste/könnte man sehen warum...

EDIT: mal folgendes ergänzen (also $aktuell ausgeben) und dann man manuell auf der Console starten

echo '$fhem_timestamp: '.$fhem_timestamp."\n";
echo '$aktuell: '.$aktuell."\n";


EDIT: allerdings bleibt eigenartig, dass es dann jetzt alle 30min neu startet... Weil es wird ja trotzdem alle 10min geprüft. Es wird nur "zugelassen", dass fhem bis zu 30min "hinten dran sein" kann mit dem Schreiben der Zeit...

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)

Larusso

jetzt bin ich ein bisschen überfordert....

ich habe die Datei fhem_timestamp.php nun folgendermaßen geändert:

<?php
$aktuell 
time();

// FHEM Timestamp aus Datei einlesen
$fhem_timestamp file('/home/pi/fhem_timestamp.txt'FILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
$fhem_timestamp $fhem_timestamp[0];

echo 
'$fhem_timestamp: '.$fhem_timestamp."\n";
echo 
'$aktuell: '.$aktuell."\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');

}
?>



im Anschluss habe ich in der pi Konsole folgenden Befehl eingegeben:

sudo bash fhem_timestamp.php

das war die Ausgabe:

pi@raspberrypi:/home $ cd pi
pi@raspberrypi:~ $ sudo bash fhem_timestamp.php
fhem_timestamp.php: Zeile 1: ?php: Datei oder Verzeichnis nicht gefunden
fhem_timestamp.php: Zeile 2: Syntaxfehler beim unerwarteten Wort `('
fhem_timestamp.php: Zeile 2: `$aktuell = time();'


das ganze habe ich im pi Ordner ausgeführt in dem auch die fhem_timestamp.php Datei liegt.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

MadMax-FHEM

#17
Naja (Vermutung): du musst ein php-Script schon mit dem php-Interpreter aufrufen NICHT mit dem bash...

Also einfach so wie in dem cron-Eintrag (nur halt mit sudo davor / oder mal beides mit und ohne)...

EDIT: bzw. steht es doch da ganz genauso drin wie du es aufrufen musst: sudo php /home/pi/fhem_timestamp.php Warum hast du was "Neues" erfunden? ;)

EDIT: ich finde es ja immer spannend, dass "Leute" (immer wieder) ohne Not (oder hat dein fhem "Hänger"?) irgendwelche "Symptom-Bekämpfungen" (weil mehr sind so "bei Hängen mal besser Nachstarten" Dinger, egal wie umgesetzt, nicht) einbauen ohne zu verstehen was sie da tun bzw. wie es funktioniert etc. Ich würde ja lieber dafür sorgen, dass fhem stabil ohne Hänger etc. läuft (tut meines schon seit ungefähr 4-6 Jahren)... Und wenn schon (kurzzeitig zur Überbrückung von "ich habe Hänger die ich suchen und weg machen muss" bis zu "jetzt sind die Hänger weg, alles gut") dann doch etwas was ich verstehe ;) Sonst weiß ich ja nicht, ob ich "Probleme" habe oder (wie verm. in dem Fall hier sogar) nur "Probleme" habe weil ich (prophylaktisch) "Probemen" vorbeugen wollte... ;)

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)

Larusso

jetzt sieht das schon besser aus ;D

pi@raspberrypi:~ $ sudo php /home/pi/fhem_timestamp.php
$fhem_timestamp: 1607082600
$aktuell: 1607082989
pi@raspberrypi:~ $


Ziffernzahl stimmt und sollte so auch gehen?
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

MadMax-FHEM

Ja sollte...

Aber trotzdem (noch mal): hast du tatsächlich Hänger? -> beheben!

Dazu gibt es Mittel in fhem: apptime, freezemon, ...

Weil ansonsten sollte es ja eigentlich passen.

fhem schreibt (sollte) alle 10min den aktuellen Zeitstempel in die Datei und eine Minute später liest php die Datei aus...
...und lässt ja zu, dass die Zeit dort 1800s (30min) abweicht...

Von daher könnte/müsste man vermuten, dass fhem aber im Bereich von 20min hängen müsste...

Und wie geschrieben: mein fhem läuft seit Jahren OHNE Hänger etc.

Und (seit systemd) startet das OS fhem neu, sobald es abstürzt...

Mehr brauche ich nicht, weil flüssig laufen muss (mein) fhem ja eh!

Und da einfach immer wieder (brutal) neu starten ist FÜR MICH keine Lösung...


Um dem hier auf die Spur zu kommen würde ich halt mal Logausgaben mitschreiben. Evtl. indem du den cron Aufruf so schreibst:
sudo php /home/pi/fhem_timestamp.php >> /home/pi/timestamp.log

Gegebenenfalls weitere "echo" Aufrufe einbauen um zu sehen was los ist...

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)

Larusso

Hallo MadMax-FHEM,

ich würde gerne als erstes mein Linux debian auf Buster updaten, kann bei dies ohne Probleme machen oder wird das nicht so einfach laufen? Ein Image meiner SD-Karte wird zwei mal im Monat in Echtzeit auf meine NAS geschrieben und mein FHEM macht jede Nacht ein Backup.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

MadMax-FHEM

#21
Mit welcher Methode macht du eine Live-Sicherung?

EDIT: ich halte von (ständigen) Komplett-Backups wenig. Und wenn "falsch" gemacht, sind die oft nicht "lauffähig" (Stichwort: Inkonsistenzen wegen geöffneter Dateien etc.)...

Schon mal Restore "geübt"?
Weil ohne das ist jedes Backup "nutzlos"...

Kauf dir doch eine neue SD, dann Buster LITE! drauf, fhem installieren zusätzliche Pakete und "HW-Einstellungen" (falls notwendig) und dann fhem Backup restoren...

EDIT: fhem.debian.de -> "the easy way"...

Und bevor du weiter frägst: es gibt zu dieser Frage gefühlt tausend Threads... ;)

Aber was versprichst du dir bzgl. evtl. Hänger von einem Umstieg?
Macht keinen Unterschied (mMn) ob man vor oder nach dem Upgrade das System optimiert... ;)

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)

Larusso

Also das erste Problem ist schon mal gelöst, die php Datei läuft anscheinend gut, habe keinen Neustart seit zwei Stunden gehabt, danke schon mal dafür. Zu dem Thema komplett Backup, das scheint gut zu laufen da ich zum testen schon vier mal ein altes Backup eingespielt habe und es stabil läuft (win32 Disk imager Zip Datei die erstellt wurde auf Sd kopiert). Damit meine ich einige Monate vor dem Thema hier  ;D
https://hobbyblogging.de/raspberry-pi-vollautomatisch-sichern

Mein fhem habe ich auch schone viele male aus einem Backup einspielen müssen, einfach aus dem Grund weil ich viel rum probiere. Das läuft auch  ;D

Zum Thema Fehler abstellen kann ich dir nur sagen:

"Ja, Fehler suchen und beheben!!"

Das ganze ist nur der Plan B wenn ich keine Zeit habe in das System einzugreifen und nicht zu Hause bin. An sonsten möchte ich natürlich ein stabil laufendes System. Was ich wenn ich nichts neues Teste auch schon ohne mein Einwirken ohne Probleme 6 Monate mit keinem einzigen Hänger und Neustart am laufen hatte. Du kannst mir glauben das es nicht mein Ziel ist das System bei Fehlern neu zu starten damit ich den Fehler vernachlässige, ich bin auch kein Freund von Posts die ich hier im Forum gelesen habe wo einige Leute ihr System aus Prinzip einmal am Tag automatisch neu starten lassen. Viel mehr interessierte mich dein Ansatz:

ZitatUnd (seit systemd) startet das OS fhem neu, sobald es abstürzt...

deshalb die Frage zum updaten des debian.......
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

MadMax-FHEM

#23
Dann ist ja gut!

Wenn Backup und v.a. Restore "geübt" ist, dann ist so ein Upgrade (ich würde den mit Neuinstallation machen bzw. mache ich das immer so) kein Ding... ;)

Wenn du auf Buster bist (da ist systemd statt initd) und fhem neu installierst, dann wird fhem zumindest schon mal neu gestartet, wenn es "abstürzt"...

Ich habe für Tests und "Spielereien" 2 "feste" Testsysteme und das eine oder andere "variable" adhoc Testsystem...

Auf mein Hauptsystem kommt nur was sich auf dem Testsystem bewährt hat (und als nützlich empfunden wurde)...
Auf den Testsystemen spiele ich auch "Installationen" durch, gerade wenn (neue) Module oder manuell zu installierende fhem Module ins Spiel kommen...

Der als gut befundene Installationsweg und nur wirklich notwendige Module werden notiert (und übertragen)...
Eventuell wirs so ein Testsystem auch noch mal platt gemacht, um die (wirklich notwendigen) Schritte (zu finden) und zu verifizieten...

Auch teste ich bzgl. Speicherverbrauch (ist ja ab und an Thema) und "non-blocking" Implementierung etc.

Dadurch bleibt mein Hauptsystem recht sauber und stabil :)

Viel Spaß, 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)

Wernieman

Speziell beim Wechsel von init.d auf systemd empfehlt sich eine Neuinstallation. Und gerade beim Pi ist auch mal eine "neue SD" nicht schlecht ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Larusso

Danke für die Rückmeldung, einen Pi habe ich schon auf USB Boot umgestellt und betreibe diesen testweise nur mit USB Stick, SD Karte habe ich immer eine als Ersatz da, wegen den begrenzten Schreibzyklen.
Ich werde mich jetzt mal mit einem leeren sauberen Buster System und Fhem beschäftigen und hoffe das ich alles ans laufen bekomme.

Nochmal danke an alle, ich setze den Betreff vom Thema mal auf gelöst.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

MadMax-FHEM

Die meisten USB-Sticks sind aber auch nicht besser als eine SD Karte...

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)

Wernieman

eher schlechter ....

bastle mir deshalb aktuell gerade ein Netzwerk-Boot-System ;o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html