Den Hardware-WatchDog der CCU2 für die HomeMatic aktivieren

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 08.04.2014, 11:00

Hallo Paul,

tja, den Grund für den Absturz würde mich auch interessieren. Aus den Logfragmenten von HP erkennst Du auch nichts?

Seit dem Gebastel mit dem Watchdog ist mit der Regadienst noch nicht abgestürzt. Ich hab jetzt ne Uptime von 11 Tagen (hab vor 11 Tagen mit dem Watchdog gebastelt, was aus versehen nen Neustart auslöste ;-) ). In den letzten 11 Tagen wurde bei mir nur der CUxD 2 mal erfolgreich neugestartet, weil er hing. Der Grund würde mich ja auch interessieren :-)

Der Ansatz mit Push-Nachrichten klingt spannend! Muss ich mir mal genauer ansehen.

Beste Grüße,

André
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 09.04.2014, 19:14

Hallo!

heute wurde bei mir der RFD neugestartet. Hab gar nix mitbekommen....System läuft 1a, hab nur grad den Eintrag im Log gefunden. Ne Mail kam nicht, weil ich da wohl einiges im Dienste-Skript vergessen hab, was ich soeben korrigiert habe.

Hier neuste Fassung:

Code: Alles auswählen

#!/bin/bash

rfd=$(ps aux|grep rfd|grep -v grep|wc -l)
rs485=$(ps aux|grep 'bin/hs485d '|grep -v grep|wc -l)
rega=$(ps aux|grep '/bin/ReGaHss'|grep -v grep|wc -l)
cuxd=$(ps aux|grep '/usr/local/addons/cuxd/cuxd'|grep -v grep|wc -l)
date=`date +%Y-%m-%d-%H-%M`

log=/usr/local/addons/Watchdog/Dienste.log

msg="X"
mail="0"

# Daemon für die Funkschnittstelle
if [ $rfd -lt 1 ]; then
  msg="rfd not running.."
  if [ ! -f /tmp/check ]; then
    /etc/init.d/S60rfd start
  fi
  echo $msg
  echo $(date +"%Y.%m.%d %T") "RFD Check failed $msg" >> $log
  mail="1"
  exec /etc/config/addons/email/email 09 $mail
fi

# Daemon für das LAN-Gateway
# if [ $rs485 -lt 1 ]; then
#  msg="no rs485 process running"
#  if [ ! -f /tmp/check ]; then
#    /etc/init.d/S49hs485d start
#  fi
#  echo $msg
#  echo $(date +"%Y.%m.%d %T") "RS485 Check failed $msg" >> $log
#fi

# Daemon für Rega (übergeordnete Logikschicht) Konfiguration der Hardwarekomponenten, 
# führt WebUI-Programme aus, handhabt die Abarbeitung von HMScript 
if [ $rega -lt 1 ]; then
  msg="no ReGaHss process running"
  if [ ! -f /tmp/check ]; then
    chroot /hm /bin/sh -c '/etc/init.d/S70ReGaHss start'
  fi
  echo $msg
  echo $(date +"%Y.%m.%d %T") "REGAHSS Check failed $msg" >> $log
  mail="3"
  exec /etc/config/addons/email/email 09 $mail
fi

# Daemon für CUxD (wenn installiert)
if [ $cuxd -lt 1 ]; then
  msg="no cuxd process running"
  if [ ! -f /tmp/check ]; then
    /usr/local/etc/config/rc.d/cuxdaemon start
  fi
  echo $msg
  echo $(date +"%Y.%m.%d %T") "CUXD Check failed $msg" >> $log
  mail="4"
  exec /etc/config/addons/email/email 09 $mail
fi

if [ $msg == "X" ]; then
  echo rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine...
# echo $(date +"%Y.%m.%d %T") "rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine..." >> $log
# echo $(date +"%Y.%m.%d %T") "rfd: $rfd, ReGaHss: $rega, CUxD: $cuxd" >> $log
  if [ -f /tmp/check ]; then
    rm /tmp/check
  fi
else
  # Zur Benachrichtigung ist ein externes mail.php script auf einem linux Rechner erforderlich!
  if [ -f /tmp/check ]; then
    echo $(date +"%Y.%m.%d %T") "Reboot CCU $msg" >> $log
  #  mail="5"
  #  exec /etc/config/addons/email/email 09 $mail
    reboot
  else
    echo $(date +"%Y.%m.%d %T") "Restart Service $msg" >> $log
    touch /tmp/check
  fi
fi

tclsh /usr/local/addons/Watchdog/Watchdog.sh
Beste Grüße,

André
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 14.04.2014, 17:29

Hallo HP,

alles klar bei Dir? Oder gabs etwa keine Abstürze mehr?

Bei mir siehts grad echt super aus. So stabil war das System wohl noch nie.....

CUxD-Uptime(0.59b): 7 Tag(e) 23:26:31, 19152 Bytes belegt, Compiled Dec 16 2013 21:40:41
CCU-Uptime(2.7.17): 18 Tag(e) 19:03:45, load-average: 0.54 0.66 0.72, 10s-cpu-load: 25.1%

Morgen geht's für 10 Tage in Urlaub. Bin gespannt, ob ich, wenn ich wiederkomme, noch Gemüse im Garten habe, oder die Bewässerung aufgrund eines Hängers versagt :-)

Beste Grüße,

André
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

drhwpot
Beiträge: 173
Registriert: 04.11.2012, 11:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von drhwpot » 14.04.2014, 18:03

Hallo Andre,

ich bin derzeitig hin- und hergerissen, nach dem letzten zentralen Absturz hatte ich CUxD und E-Mail-Programm gelöscht und die Zeitsteuerung für die Skripten über eine Triggerung via Bewegungsmelder aufgebaut, als Übergangslösung und wollte dann nach dem nächsten Absturz den Watchdog und CUxD neuaufbauen, so der Plan. Bisher ist aber seit fast 9 Tagen Ruhe an der Front und ich wollte die Ruhe nicht stören und so beobachte ich noch. Deine Berichte sind sehr vielversprechend und geben mir ein gutes Gefühl. Ich hoffe, dass mein System bis Ostern noch stabil bleibt, dann würde ich wohl mit dem Umbau beginnen. Eine Erklärung für die derzeitige Entwicklung habe ich nicht. Ich bin wohl der einzige hier der vermeintliche Probleme mit CUxD oder E-Mail hat, aber da ich keine Erklärung für die Abstürze habe, kann ich nur schrittweise testen und beobachten.

Vielen Dank für Deine Unterstützung und einen schönen Urlaub.

Beste Grüße
HP
1 x RaspberryMatic - tinker board S; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 2 x HMW-Sen-SC-12-DR; 10 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 4 x Schaltaktor (HmIP-BSM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 8 x Jalousienaktor-IP (HmIP-BBL); 8 x Fensterdrehgriff ( HM-Sec-RHS); 1 x Bewegungsmelder (HM-Sen-MDIR-O); 1 x Außensenor (HM-WDS10-TH-O); 1 x Temperaturfüller ( HM-WDS30-TO); 1 x Wettersensor HmIP-SWO-B; 5 x Schalt-Mess-Steckdose (HMIP-PSM) , CUxD - Timer, CUxD SyS EX, WH-3000 SE Pro, Prowl Push, Serviemeldungen via Push; FW: 3.63.9.20220521 ; Historian V3.0.2;

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 14.04.2014, 18:09

Hallo HP,

das ist in der Tat merkwürdig......und wenn Du den CUxD installierst und nicht einsetzt? Dann wüsstest Du, obs an der Installation an sich liegt? Gleiches mit dem Mail-Addon?
Gerade beim CUxD hängts sicher davon ab, wie man ihn nutzt. Wenn Du dann Stück für Stück die Funktionen wieder in Betrieb nimmst, die Du zuvor genutzt hast, siehste vielleicht ab wann das Problem dann wieder auftaucht? Ebenso mit dem Mail-Addon. Bei dem kann ich mir ja eigentlich nur als Absturzursache nen Fehler im TCL-Skript vorstellen. Der Rest ist ja kaum veränderbar....

Naja, ich wünsch Dir jedenfalls erfolgreiches Testen und bin aufs Ergebnis gespannt.

Viele Grüße,

André
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

drhwpot
Beiträge: 173
Registriert: 04.11.2012, 11:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von drhwpot » 14.04.2014, 18:22

Hallo Andre,

so hatte ich mir es auch vorgestellt, ich werde schrittweise vorgehen und regelmäßige Sicherungen machen. Ich werde dem Problem auf den Grund gehen, es ist nur eine Frage der Zeit und Nerven. Gemeinsam werden wir es sicherlich hinbekommen.

Beste Grüße
HP
1 x RaspberryMatic - tinker board S; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 2 x HMW-Sen-SC-12-DR; 10 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 4 x Schaltaktor (HmIP-BSM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 8 x Jalousienaktor-IP (HmIP-BBL); 8 x Fensterdrehgriff ( HM-Sec-RHS); 1 x Bewegungsmelder (HM-Sen-MDIR-O); 1 x Außensenor (HM-WDS10-TH-O); 1 x Temperaturfüller ( HM-WDS30-TO); 1 x Wettersensor HmIP-SWO-B; 5 x Schalt-Mess-Steckdose (HMIP-PSM) , CUxD - Timer, CUxD SyS EX, WH-3000 SE Pro, Prowl Push, Serviemeldungen via Push; FW: 3.63.9.20220521 ; Historian V3.0.2;

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 14.04.2014, 18:23

Hallo HP,

davon ist auszugehen :-)

Beste Grüße,

André
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

zwirni
Beiträge: 125
Registriert: 23.02.2011, 10:28

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von zwirni » 24.04.2014, 09:46

Hallo André,

ich hatte heute auch wieder einen ReGaHSS-Hänger. Das Script hat mir Mails geschickt, aber der Neustart des Dienstes klappte nicht (Das Script für den CCU-Reboot nutze ich derzeit nicht - mache den Neustart per Hand). Hatte noch eine ältere Version Deines Scriptes, in der wohl der falsche Dienst versucht wird zu starten. Wollte das Script nun aktualisieren und mir ist diese Zeile aufgefallen:

if [ ! -f /tmp/check ]; then

Das hatte ich vorher nicht drin. Kannst Du kurz beschreiben, was da genau passiert?

Vielen Dank und LG - Zwirni

drhwpot
Beiträge: 173
Registriert: 04.11.2012, 11:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von drhwpot » 24.04.2014, 16:05

Hallo Andre,

kurz nach Ostern hat es leider wieder einen Absturz (nach einer Uptime von 16 Tagen) gegeben. Nun habe ich heute den Watchdog wieder aktiviert, aber mit es funktioniert leider nicht so wie von mir gewünscht. Die AAAtest Zahl steigt sehr stark an und dann kommt es zum Neustart des CUxD und der CCU, eigentlich wie geplant, aber weshalb steigt die Zahl nun so stark an? Wo kann mein Problem liegen, bei der letzten Implementierung ist es nicht zu diesem schnellen Anstieg gekommen, die AAAtest lag in der Regel unter 60?
Hast Du eine Idee?

Beste Grüße
HP

Hier noch die aktuellen Werte:

HM Skript

Code: Alles auswählen

var WatchdogZeit = dom.GetObject("WatchdogZeit");  
var nowTime = system.Date("%Y-%m-%d %H:%M:%S").ToTime().ToInteger();
WatchdogZeit.Variable(nowTime);
crontabs

Code: Alles auswählen

12 4 * * * /bin/setHWClock.sh
14 4 * * * /bin/SetInterfaceClock 127.0.0.1:2001
0,5,10,15,20,25,30,35,40,45,50,55 * * * * sh /usr/local/addons/Watchdog/Dienste.sh
Watchdog.sh

Code: Alles auswählen

#!/bin/tclsh

load tclrega.so
array set values [rega_script {

var Systemzeit = system.Date("%Y-%m-%d %H:%M:%S").Value();
var WatchdogZeit = dom.GetObject("WatchdogZeit").Value();
var WatchdogZeitdiff = (Systemzeit.ToInteger() - WatchdogZeit.ToInteger());
dom.GetObject("AAAtest").State(WatchdogZeitdiff);


} ]
set WatchdogZeitdiff $values(WatchdogZeitdiff)
set Uptime    [exec -- /usr/bin/cut -d. -f1 /proc/uptime]

if {($WatchdogZeitdiff > 100) && ($Uptime > 600)} {
exec /etc/config/addons/email/email 09 0
}
if {($WatchdogZeitdiff > 350) && ($WatchdogZeitdiff < 700) && ($Uptime > 600)} {
exec /etc/config/rc.d/cuxdaemon restart
}
if {($WatchdogZeitdiff > 950) && ($WatchdogZeitdiff < 1300) && ($Uptime > 600)} {
exec /usr/local/addons/cuxd/extra/dom_save
}
if {$WatchdogZeitdiff > 1400 && ($Uptime > 600)} {
exec /sbin/reboot
}
exec /etc/config/addons/email/email 09 0
Dienste.sh

Code: Alles auswählen

  #!/bin/bash

    rfd=$(ps aux|grep rfd|grep -v grep|wc -l)
    rs485=$(ps aux|grep 'bin/hs485d '|grep -v grep|wc -l)
    rega=$(ps aux|grep '/bin/ReGaHss'|grep -v grep|wc -l)
    cuxd=$(ps aux|grep '/usr/local/addons/cuxd/cuxd'|grep -v grep|wc -l)
    date=`date +%Y-%m-%d-%H-%M`

    log=/usr/local/addons/Watchdog/Dienste.log

    msg="X"
    mail="0"

    # Daemon für die Funkschnittstelle
    if [ $rfd -lt 1 ]; then
      msg="rfd not running.."
      if [ ! -f /tmp/check ]; then
        /etc/init.d/S60rfd start
      fi
      echo $msg
      echo $(date +"%Y.%m.%d %T") "RFD Check failed $msg" >> $log
      mail="1"
      exec /etc/config/addons/email/email 09 $mail
    fi

    # Daemon für das LAN-Gateway
    # if [ $rs485 -lt 1 ]; then
    #  msg="no rs485 process running"
    #  if [ ! -f /tmp/check ]; then
    #    /etc/init.d/S49hs485d start
    #  fi
    #  echo $msg
    #  echo $(date +"%Y.%m.%d %T") "RS485 Check failed $msg" >> $log
    #fi

    # Daemon für Rega (übergeordnete Logikschicht) Konfiguration der Hardwarekomponenten,
    # führt WebUI-Programme aus, handhabt die Abarbeitung von HMScript
    if [ $rega -lt 1 ]; then
      msg="no ReGaHss process running"
      if [ ! -f /tmp/check ]; then
        chroot /hm /bin/sh -c '/etc/init.d/S70ReGaHss start'
      fi
      echo $msg
      echo $(date +"%Y.%m.%d %T") "REGAHSS Check failed $msg" >> $log
      mail="3"
      exec /etc/config/addons/email/email 09 $mail
    fi

    # Daemon für CUxD (wenn installiert)
    if [ $cuxd -lt 1 ]; then
      msg="no cuxd process running"
      if [ ! -f /tmp/check ]; then
        /usr/local/etc/config/rc.d/cuxdaemon start
      fi
      echo $msg
      echo $(date +"%Y.%m.%d %T") "CUXD Check failed $msg" >> $log
      mail="4"
      exec /etc/config/addons/email/email 09 $mail
    fi

    if [ $msg == "X" ]; then
      echo rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine...
    # echo $(date +"%Y.%m.%d %T") "rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine..." >> $log
    # echo $(date +"%Y.%m.%d %T") "rfd: $rfd, ReGaHss: $rega, CUxD: $cuxd" >> $log
      if [ -f /tmp/check ]; then
        rm /tmp/check
      fi
    else
      # Zur Benachrichtigung ist ein externes mail.php script auf einem linux Rechner erforderlich!
      if [ -f /tmp/check ]; then
        echo $(date +"%Y.%m.%d %T") "Reboot CCU $msg" >> $log
      #  mail="5"
      #  exec /etc/config/addons/email/email 09 $mail
        reboot
      else
        echo $(date +"%Y.%m.%d %T") "Restart Service $msg" >> $log
        touch /tmp/check
      fi
    fi

    tclsh /usr/local/addons/Watchdog/Watchdog.sh
1 x RaspberryMatic - tinker board S; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 2 x HMW-Sen-SC-12-DR; 10 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 4 x Schaltaktor (HmIP-BSM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 8 x Jalousienaktor-IP (HmIP-BBL); 8 x Fensterdrehgriff ( HM-Sec-RHS); 1 x Bewegungsmelder (HM-Sen-MDIR-O); 1 x Außensenor (HM-WDS10-TH-O); 1 x Temperaturfüller ( HM-WDS30-TO); 1 x Wettersensor HmIP-SWO-B; 5 x Schalt-Mess-Steckdose (HMIP-PSM) , CUxD - Timer, CUxD SyS EX, WH-3000 SE Pro, Prowl Push, Serviemeldungen via Push; FW: 3.63.9.20220521 ; Historian V3.0.2;

Benutzeravatar
AndreO
Beiträge: 205
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)
Hat sich bedankt: 4 Mal

Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie

Beitrag von AndreO » 24.04.2014, 17:15

Hi HP,

Der Fehler müsste am HM Skript liegen. Sicher, dass das bei Dir noch alle 60 Sekunden ausgeführt wird? Wenn die aaatest-Variable ansteigt liegt es wohl daran, dass die Watchdogzeit-Variable nicht aktualisiert wird.

Bin noch bis Sonntag unterwegs, kann daher nicht am Rechner abgleichen. Werde dann 30 Tage Uptime überschritten haben


Beste Grüße,

André

Gesendet von unterwegs
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“