Autor Thema: OWX kann FHEM abschiessen ?!?  (Gelesen 41588 mal)

Offline cwagner

  • Sr. Member
  • ****
  • Beiträge: 620
OWX kann FHEM abschiessen ?!?
« am: 06 Dezember 2013, 23:30:41 »
Guten Tag,

habe jetzt begonnen, mit 1-Wire zu experimentieren. Dabei fiel mir auf, dass ich mit einem definierten OWX Fhem dann abschießen kann, wenn ich ein get <OWX> alarms über Kommandozeile oder im Web-Interface eingebe.
Auf der Telnet-Konsole sehe ich diese Meldung:
Zitat
Can't use an undefined value as an ARRAY reference at ./FHEM/00_OWX.pm line 1266.

Grüße

Christian Wagner
Raspi 2B+3B: Raspbian 9.11,Perl v5.28.1, FHEM 5.9. 270 Entities in DbLog  für Heizung mit FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HM (CUL), 1-Wire (FT232RL & DS2480B), EnOcean (TCM EPS3), MQTT2. Im Einsatz u.a. DOIF, PID20, Threshold, OWX NewGen; Micropelt IRTV, Volkszähler

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #1 am: 07 Dezember 2013, 11:43:26 »
Yep. Bei mir auch  >:(

Leider ist die FHEM-Architektur so aufgebaut, dass der Server mit nur einem Thread läuft. Damit kann jedes Device (oder auch eigene Befehle, die man z.B. in einem AT-Befehl verwendet) potentiel den ganzen Server abschiessen.

Mit dem OWX hatte ich auch andere Schwierigkeiten: mit der zunehmnden Anzahl der Sensoren (DS18b20), war der Bus immer instabieler geworden, was dazu führte, dass FHEM zwar nicht unbedingt gleich anstürtzte, jedoch öffters mal für einige Minuter 'einfror'. Das Problem ist mittlerweile zwar weitgehend elektrisch gelöst (Filter). Damit die Verfügbarkeit von FHEM immer gewährleistet bleibt, habe ich eine Art Watchdog geschrieben. Wer Interesse hatl, kann das auf meiner Seite nachlesen: http://s6z.de/cms/index.php/homeautomation/fhem/23-fhem-watchdog

LG

Alexander
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline cwagner

  • Sr. Member
  • ****
  • Beiträge: 620
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #2 am: 07 Dezember 2013, 16:16:39 »
Dein Watchdog ist ein spannendes Projekt - bisher habe ich sicherheitshalber an kritischen Stellen mit mechanischen Grenztwertwächtern dafür gesorgt, dass ein Ausfall von Fhem abgefangen wird.

Grüße
Christian
Raspi 2B+3B: Raspbian 9.11,Perl v5.28.1, FHEM 5.9. 270 Entities in DbLog  für Heizung mit FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HM (CUL), 1-Wire (FT232RL & DS2480B), EnOcean (TCM EPS3), MQTT2. Im Einsatz u.a. DOIF, PID20, Threshold, OWX NewGen; Micropelt IRTV, Volkszähler

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #3 am: 07 Dezember 2013, 17:50:15 »
Auch ich finde deinen Watchdog interessant...
Welche Files aud deinem Github werden denn nun letzlich verwendet???

https://github.com/hexenmeister/MyFHEM/blob/master/watchdogloop.sh
https://github.com/hexenmeister/MyFHEM/blob/master/runwatchdog.sh
https://github.com/hexenmeister/MyFHEM/blob/master/killwatchdog.sh
https://github.com/hexenmeister/MyFHEM/blob/master/startfhem
https://github.com/hexenmeister/MyFHEM/blob/master/stopfhem
https://github.com/hexenmeister/MyFHEM/blob/master/FHEM/99_myUtils.pm

https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/myServerHeartbeat.gplot
https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/myWatchdog.gplot

https://github.com/hexenmeister/MyFHEM/blob/master/etc_init.d_fhem_script.txt


In deinem etc_init.d_fhem_script.txt wird startfhem aufgerufen darin wieder runfhem.sh dieses ist aber nicht abgelegt.
Vielleicht kannst du da noch eine kleine Hilfestellung geben.

Ich habe hisher keine Erfahrung mit shell skripen...
Der FHEM Teil mit dem Zaehler und LOG Plot etc geht natürlich gleich aber wie starte ich nun das shellskipt?
Mein Startfile auf meinem QNAP sieht derzeit so aus...
[/opt/etc/init.d] # vi S45fhem
 #!/bin/sh
 #
 # Start the FHEM Home Automation server daemon
 #

    start() {
        echo -n "Starting FHEM Server: "
         /opt/bin/fhem.pl /opt/etc/fhem.cfg
        echo "started"
        return
    }
    stop() {
        echo "Shutting down FHEM Server: "
         /opt/bin/killall named 2>/dev/null
        return
    }
    restart() {
        stop
        start
    }

    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart|reload)
            restart
            ;;
      *)
            echo "Usage: $0 {start|stop|restart}"
            exit 1
    esac
    exit $?

Danke Manuel
« Letzte Änderung: 07 Dezember 2013, 17:54:52 von Petrosilius Zwackelmann »
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #4 am: 07 Dezember 2013, 20:53:03 »
Hallo,

ich kann gern versuchen zu helfen, den Watchdog zum Laufen zu bekommen. Ist zwar eher für Raspberry Pi optimiert, sollte aber mit minimalsten Anpassungen auch auf anderen Unix-basierten Systemen funktionieren.

Das Ganze besteht aus zwei Teilen. Einmal eine Log-Datei in FHEM, die per AT-Befehl minütlich beschrieben wird. Demgegenüber steht ein Bash-Script, das in einer Schleife prüft, wann die letzte 'Lebensmeldung' von FHEM vorlag. Unterbleibt diese länger als 5 Minuten, wird die ggf. vorhandene FHEM-Instanz gekillt und eine neie gestartet. Dann gibt es not etwas Visualisierung mit FHEM, ist aber nicht wesentlich.

Zum Installieren müssen zunächt einige Dateien aus dem GitHub geholt werden. Sie gehören ins FHEM-Hauptverzeichnis.
  • killfhem.sh
    Dieses Script beendet FHEM. Wird in anderen Scripten genutzt.
    Ich sehe gerade einen kleinen Fehler drin, auch wenn dieser normalerweise nicht zum Vorschein kommen dürfte, werde ich ihn gleich fixen...
  • killwatchdog.sh
    Beendet Watchdog. Wird in Scripten benutzt.
  • runfhem.sh
    Startscript für FHEM. Prüft, ob der Server ggf. bereits ausgeführt wird.
  • runwatchdog.sh
    Startet Watchdog. Sorgt dafür, dass nur eine Instanz aktiv ist.
  • watchdogloop.sh
    Der eigentliche Watchdog.
  • startfhem
    Dieses Script startet Watchdog und FHEM-Server. Darf auch 'per Hand' aufgerufen werden.
  • stopfhem
    Dieses Script beendet Watchdog und FHEM-Server. Allei FHEM zu beenden führt ja nicht zum Erfolg ;-) Darf auch 'per Hand' aufgerufen werden.
Bis auf die letzten zwei sollten die Scripte nicht manuell gerufen werden.
Auchtung! Fast alle diese Scripte haben ein fest 'verdrahtetes' Home-Verzeichnis: home=/opt/fhemBitte ggf. anpassen. Ich werde das vielleicht bei Gelegenheit umbauen und etwas flexibler gestallten.

Die Datei etc_init.d_fhem_script.txt ist kein ausführbares Script! Es hält den Inhalt des FHEM-Verwaltungs-Scriptes /etc/init.d/fhem, damit ich alles an einer Stelle (in GutHub) habe. Es ist nur ein Beispiel, das zeigt, wie man den Startscript umbauen soll, damit beim Start von Betriebssystem auch Watchdog hochgefahren wird. Beim Start/Stop-Vorgang sollen die startfhem / stopfhem Scripte genutzt werden. Das ist alles.

Bei den Scripten ist sicherzustellen, dass diese ausführbar sind: chmod a+x <Dateiname>
Und sie sollten einem passenden Benutzer gehören (z.B. fhem): chown fhen:fhen <Dateiname>
Der Benutzer, unter dessen Account FHEM ausgeführt wird, muss in die sudo-Gruppe. Damit stellen die Scripte sicher, dass sie die Prozesse in jedem Fall benden können: sudo usermod -aG sudo fhem
Und noch muss dieser User diese Scripte ohne Abfrage mit hohen Rechten ausführen dürfen. Dafür muss die Datei /etc/sudoers ergänzt werden:
fhem ALL=(ALL) NOPASSWD: /opt/fhem/runwatchdog.sh, /opt/fhem/killwatchdog.sh, /opt/fhem/watchdogloop.sh, /opt/fhem/runfhem.sh, /opt/fhem/killfhem.shBitte vorsichtig mit dieser Datei! Das sind sicherheitsrelevante Einstellungen! Ist sie kaputt und auch noch der Root-User deaktiviert, hat man sich ausgesperrt.

Bevor man Watchdog aktiviert, sollte man sicherstellen, dass FHEM-Teil richtig läuft, ansonsten wird der FHEM alle 5 Minuten immer und immer wieder restartet.

in fhem.cfg wird folgendes ergäntz:
# Definition eines Dummy-Objektes fuer 'Alive'-Meldungen
define NN_TE_DMST01.Server_Heartbeat dummy

# Protokoliert Zeitpunkt der letzten Änderung (in Objekt-Eigenshaften)
attr NN_TE_DMST01.Server_Heartbeat userReadings lastChange { CurrentTime() }

# Definition der Log-Datei
define FileLog_NN_TE_DMST01.Server_Heartbeat FileLog ./log/NN_TE_DMST01.Server_Heartbeat-%Y-%m.log NN_TE_DMST01.Server_Heartbeat
attr FileLog_NN_TE_DMST01.Server_Heartbeat logtype myServerHeartbeat:Plot,text

# Visualisierung mittels eines Diagramms
define 0.wlHeartbeat SVG FileLog_NN_TE_DMST01.Server_Heartbeat:myServerHeartbeat:CURRENT

# Routine zur regelmaessigen Änderungen des Wertes des Dummy-Objektes
define tickHeartbeat at +*00:01:00 {tickHeartbeat('NN_TE_DMST01.Server_Heartbeat');;}
attr tickHeartbeat alignTime 00:00

# Log-Datei des Watchdogscriptes verfügbar machen
define FileLog_wathdog FileLog ./log/watchdog.log fakelog

# Visualisierung für Watchdog-Log
define 0.wlWatchdog SVG FileLog_wathdog:myWatchdog:CURRENT

Hier wird eine Methode 'tickHeartbeat' genutzt, die irgendwo abgelegt werden muss. Bei mir liegt diese in der Datei <FHEM-Root>/FHEM/99_MyUtils.pm
Dort ist folgendes hinzufügen:
# Liefert aktueller Zeitstempel
sub
CurrentTime()
{
  return strftime("%H:%M:%S", localtime());
}

# --- server heartbeat / watchdog ---
sub tickHeartbeat($)
{
    my ($device) = @_;
    my $v = _getDeviceValueNumeric($device);
    $v = $v+1;
    if($v>=60) {$v=0;}
    fhem("set $device $v");
}

# Liefert den aktuelen numerisschen Wert eines Ger?tezustandes.
# Setzt bei Bedarf die symbolische Werte (up, down) in ihre
# Zahlenwertrepresentationen um.
sub
_getDeviceValueNumeric($)
{
  return _convertSymParams(Value($_[0]));
}

# Setzt Parameter-Werte fuer symbolische Werte in ihre Zahlenwerte um.
# up = 100, down = 0
sub
_convertSymParams($)
{
  my $value = $_[0];
  # Endwerte und andere symbolischen Konstanten beruecksichtigen,
  # Gross-/Kleinschreibung ignorieren
  $value = lc($value);
  if($value eq "down" || $value eq "runter" || $value eq "off") { return 0; }
  elsif($value eq "up" || $value eq "hoch" || $value eq "on") { return 100; }
  elsif($value =~ /schatten.*/) { return 80; }
  elsif($value =~ /halb.*/ ) { return 60; }
  # Numerische Werte erwartet
  my $ivalue = int($value);
  if($ivalue < 0) { return 0; }
  elsif($ivalue > 100) { return 100; }
  elsif($ivalue > 0) { return $ivalue; }
  # Pruefung, ob bei 0 da wirklich eine Nummer war
  if($value eq $ivalue or $value eq "0 %" or $value eq "0%") { return 0; }
  # Default-Fall: Bei unbekannten Werten soll Rollo offen sein
  return 100;
}

Man könnte das auch einfacher realisieren, fand ich aber schöner fürs Plot.

Dann haben wir nur noch
  • myServerHeartbeat.gplot
und
  • myWatchdog.gplot
Das sind die Plots und gehören natürlich nach <FHEM-Root>/www/gplot


So, da habe ich bestimmt noch etwas vergessen.  ;)
Bitte ausprobieren und ggf. melden, wenns nicht laufen will.

Grüße,

Alexander

Links:
http://s6z.de/cms/index.php/homeautomation/fhem/23-fhem-watchdog
https://github.com/hexenmeister/MyFHEM
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #5 am: 07 Dezember 2013, 22:10:13 »
Hallo Hexenmeister,

danke für die Bereitschaft zur Unterstützung... ich befürchte ich muss diese noch etwas strapazieren.

- Ich habe alle aufgezählten Files im Haupfvereichnis (sprich gleiche ebene wie der Ordner FHEM ... richtig?)
- gleichen Pfad habe ich in den Files als Homverzeichnis angelegt (sprich mit cd Pfad komme ich genau auf diese Ebende um alle Skripte zu sehen)
- Die Files sind allesamt ausführbar gemacht wie von dir beschrieben ...
- Der FHEM Teil mit Zaehler, Plot, Log funktioniert...
- Mein fhem läuft unter dem Benutzer admin, vielleicht nicht so toll aber zumindest habe ich damit kein Zugriffsrechteproblem beim Ausführen der Skripte

Bei dem Versuch zum Beispiel startfhem auszuführen kommt die Fehlermeldung dass dieses File oder Verzeichnis nicht existiert.
Dies sowohl bei dem Befehl
stopfhem als auch bei
sh stopfhem

Muss ich ggf.
#!/bin/sh
anpassen oder ersteinmal neu starten?

Gruß
Manuel


FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #6 am: 07 Dezember 2013, 22:45:37 »
Hallo Manuel,

bis jetzt klingt alles richtig, bis auf den Benutzer "admin", so einen kenne ich nicht. Unter Unix heißt dieser doch root? Aber egal erstmal, nehmen wir an, dieser Account hat genau die richtigen Rehte.

Wie hast Du de Scripte gestartet? Mit "startfhem" wird es nicht klappen. Probiere ". startfhem" oder "./startfhem"

Edit: Habe jetzt aufmerksamer gelesen. Mit "sh startfhem" sollte es eigentlich klappen. Was genau wird den ausgegeben? Ich weiß nicht, wie bei QNAP das System aufgebaut wird und ob eine Anpassung von "#!/bin/sh" nötig sein kann. Was steht in anderen Scripten, die zum System gehören?


Gruß,

Alexander
« Letzte Änderung: 07 Dezember 2013, 22:51:31 von hexenmeister »
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #7 am: 07 Dezember 2013, 23:06:27 »
Hallo Hexenmeister,

es tut sich was...
War wohl ein Schreibfehler ... sh startfhem funktioniert.

Mit dem Rückgabewert gibt es nur ein Problem.
Da dieser im aukommentierten Teil definiert wird... probiere nun mal mit return 1

#return $RETVAL
return 1


[/share/Public/fhem-5.4] # sh startfhem
starting watchdog
starting watchdog
fhem is allready running. skipping
startfhem: line 34: return: can only `return' from a function or sourced script
[/share/Public/fhem-5.4] # FHEM running
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 45 Sekunden
Server alive

[/share/Public/fhem-5.4] # Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping

Gruß Manuel
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #8 am: 07 Dezember 2013, 23:32:11 »
Hallo Manuel,

wirf die Return-Anweisung ganz raus, ist hier nicht wesentlich (und funktioniert je so nicht).
Script scheint auch die 'Lebenszeichen' des FHEM-Servers zu erkennen.
Bei der letzten Meldung, hast Du den FHEM selbst beendet, oder wieso wurde dieser als 'dead' eingestufft?
Es scheint mit dem Beenden auch nicht funktioniert zu haben. Ein Rechteproblem? Kann der Benutzer, unter dessen Rechten die Scripte laufen, den FHEM stoppen? Ist er in die sudo-Gruppe aufgenommen und sudoers entsprechend ergänzt?

Alternativ kann man versuchen aus den startfhem und stopfhem Schripten die sudos zu entfernen. Wenn die Benutzer richtige Rechte haben, wird es auch so reichen, ohne sudo-Gruppe etc.
 
LG

Alexander
 
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #9 am: 08 Dezember 2013, 00:32:50 »
Hallo Alexander,

zu meinem Status:

die Return Anweisung ist raus ...
die Sudo Geschichte ist raus ...
Das Lebenszeichen wird denke ich noch nicht richtig ausgewertet... das "dead" kam nicht durch ein manuelles Beenden.

starten geht....

[/share/Public/fhem-5.4] # sh runfhem.sh
Starting fhem...
[/share/Public/fhem-5.4] #

beenden geht ... mit fehlermeldung - fhem ist aber "gekillt"
[/share/Public/fhem-5.4] # sh killfhem.sh
Stop fhem aus killfhem skript
Can't use an undefined value as a symbol reference at /share/Public/fhem-5.4/FHEM/Blocking.pm line 126.
Can't use an undefined value as a symbol reference at /share/Public/fhem-5.4/FHEM/Blocking.pm line 126.
[/share/Public/fhem-5.4] #



[/share/Public/fhem-5.4] # sh runwatchdog.sh
starting watchdog
runwatchdog.sh: line 42: return: can only `return' from a function or sourced script
[/share/Public/fhem-5.4] # starting watchdog
FHEM running
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 31 Sekunden
Server alive
substr outside of string at /share/Public/fhem-5.4/FHEM/21_OWCOUNT.pm line 1235.
Use of uninitialized value in split at /share/Public/fhem-5.4/FHEM/21_OWCOUNT.pm line 1235.

[/share/Public/fhem-5.4] # sh killwatchdog.sh
Stop watchdog


[/share/Public/fhem-5.4] # sh runwatchdog.sh
starting watchdog
[/share/Public/fhem-5.4] # starting watchdog
FHEM running
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 15 Sekunden
Server alive

./watchdogloop.sh: line 68: test: in: binary operator expected
Server dead
./watchdogloop.sh: line 160: test: in: binary operator expected
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping


Zeile 68:    if test $pid
Zeile 160:  if test $pid


Übrigens das watchdog.log ist leer.

Gruß Manuel


FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #10 am: 08 Dezember 2013, 01:09:59 »
Hi!

Das ist schon etwas sonderbar, wo stehen denn diese Meldungen wie die mit 'Blocking.pm'?
Die return-Anweisungen können auch alle restlichen raus.

Die watchdog.log sollte es gar nicht geben, stattdessen sollte sie watchdog-2013-12.log heißen.
Gehen die Anweisungen wie date +"%Y" auf der Konsole? Wenn nicht, würde es erklären, warum der Script auch NN_TE_DMST01.Server_Heartbeat-2013-12.log nicht finden kann. Dann müsste man klären, mit welchen Befehl man auf Deinem System zu den Angaben für Zeit/Datum kommt. Allerdings wäre mir dann nicht klar, warum manchmal Alive-Meldungen doch kommen...

Und dann noch das offensichtliche Problem mit dem test. Oder mit dem 'pid=$(ps -ef | grep -v grep | grep fhem.pl | cut -c10-14);' davor.
Bei mir liefert ps -ef | grep -v grep | grep fhem.pl | cut -c10-14 die PID von FHEM (oder eben nichts, wenns nicht läuft). Was kommt bei dir? Vermuttlich steht in Deiner Ausgabe (ps -ef | grep -v grep | grep fhem.pl) die PID nicht an den Stellen 10-14. Ist leider Systemspezifisch, war bei meiner FritzBox auch anders (Dort musste es ' ps | grep -v grep | grep fhem.pl | cut -c2-6' heißen). Müsstest Du anpassen.

Ich hoffe, wir kommen der Lösung etwas näher ;)

Grüße,

Alexander
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #11 am: 08 Dezember 2013, 10:09:18 »
Hallo Alexander,

so sonderbar ist es gar nicht...
Ich hatte einige Zeilen in gelöscht unter anderem die von Blocking pm, da ich dachte diese hätten nichts mit dem Thema zu tun.
Die Grep Zeile muss ich tatsächlich anpassen, da wird sonstwas zurückgelesen.

Ich denke dann wird es werden....
Ich kann mich erst in einer Woche wieder melden.
Bis dahin, danke für die Hilfe.

Gruß Manuel

« Letzte Änderung: 15 Dezember 2013, 15:29:38 von Petrosilius Zwackelmann »
FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4596
    • tech_LogBuch
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #12 am: 08 Dezember 2013, 13:24:33 »
Hi Manuel,

wir werden das schon zum Fliegen bekommen ;)

Bis dann,

Alexander
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline ntruchsess

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1123
    • My code on github...
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #13 am: 08 Dezember 2013, 23:08:33 »
wenn ich ein get <OWX> alarms über Kommandozeile oder im Web-Interface eingebe.
Auf der Telnet-Konsole sehe ich diese Meldung:
Can't use an undefined value as an ARRAY reference at ./FHEM/00_OWX.pm line 1266.
Danke für's reporten. Habs gerade gefixed uns ins SVN eingecheckt.

- Norbert
while (!asleep()) {sheep++};

Offline Petrosilius Zwackelmann

  • Full Member
  • ***
  • Beiträge: 166
Antw:OWX kann FHEM abschiessen ?!?
« Antwort #14 am: 15 Dezember 2013, 15:27:52 »
Hallo Alexander,

nun bin ich einen Schritt weiter...
- Die grep Abweisung ist angepasst und liefert die gewünschte PID zurück...
- die Skripte sind in dem Autostartprozess von meinem QNAP eingebaut...

Die eigentliche Funktion ist nun auch gegeben ein manuelles "shutdown" führt zu einem "Server dead" Erkennung und zu einem Neustart der fhem-Instanz.
Soweit so gut, aber die auch im laufenden Betrieb kommt immer wieder eine "Server dead" Meldung warum das so ist ist mir nicht klar....
Hast du hier noch einen Tipp für mich?


Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 50 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 53 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 51 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 52 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 55 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 55 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 55 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 55 Sekunden
Server alive
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
Server dead
restarting FHEM
watchdog already running. skipping
fhem is allready running. skipping
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
FHEM-Watchdog: Letzte 'Alive'-Meldung vor 56 Sekunden
Server alive
Server dead

Zweites Problemchen ist die graphische Darstellung der Watchdogfunktion. Hier bekomme ich keine Anzeige.
Mein watchdog.log ist leer. Hier sollten die Alive Meldungen gespeichert werden, oder?
Wie dies allerdings bewerkstelligt wird ist mir noch nicht ganz klar.

Gruß Manuel



FHEM 6 auf RaspPi V3:
HM_LAN / CUNX / HUEBridge /OneWire / Homebridge / SONOS / Harmony

 

decade-submarginal