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: 179
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)

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

Beitrag von AndreO » 27.03.2014, 16:06

Hallo Paul,

so, habs umgebaut und läuft. Dein Skript schreibt brav, dass alles läuft und mein Skript ändert schön meine Testvariable.

Ich würd vor das Reboot ja gern noch "exec /etc/config/addons/email/email 09" setzen. Oder meinst Du er hängt sich daran ggf auf uns rebootet dann nicht? Alternativ könnte man ein Rebootevent auch in eine Textdatei schreiben lassen. Ich würd im Nachhinein schon gern wissen, was den Neustart bewirkt hat. Ein Stromausfall? Dein Skript? Ein anderer Grund?

Hast Du ne Idee? Weißt Du spontan, wie man in eine Datei schreibt? Ansonsten recherchier ich mal. Bin definitiv keine Größe, was Linux angeht.

Beste Grüße,

André
piVCCU auf RaspberryPi2 (mit Funkmodul) / CCU2 (Backupsystem), CUL-Stick, 82 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren, APC Back UPS ES 700VA, Addons: Mail, CUxD (Timer, Ping, System.exec, 2 FS-20-Geräte), XML-API, Wetter.tcl, Socat zur Ansteuerung des Pioneer-AVR, CCU-log.tcl, FritzBox.sh, Software-Watchdog / HomeDroid

PaulG4H
Beiträge: 1181
Registriert: 11.08.2011, 10:09

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

Beitrag von PaulG4H » 27.03.2014, 16:28

Hallo Andre,

das schreiben in eine Datei ist keine Kunst, in Bash sieht das z.B. so aus:

Code: Alles auswählen

echo "das soll an die Datei Angefügt werden" >> /pfad/datei
Wenn du den Inhalt der Variable msg schreiben willst dann so:

Code: Alles auswählen

echo "das soll an die Datei Angefügt werden $msg" >> /pfad/datei
LG

Paul

PS: ich würde den reboot deaktivieren und versuchen die Problem mit einem Start des jeweiligen Dienstes hinzubekommen!
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

Benutzeravatar
AndreO
Beiträge: 179
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)

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

Beitrag von AndreO » 27.03.2014, 17:08

Hallo Paul,

besten Dank! Das erledigt schonmal einiges an Recherchearbeit :-)

Mit dem Reboot haste recht. Ist ja sinnlos erst den Dienst neu zu starten und danach am Ende zu rebooten.

Macht es Sinn, den Dienst neu zu starten, dann erneut zu prüfen, ob der Dienst da ist und wenn nicht, DANN neu zu starten? Also, wartet das Skript den Dienst Neustart ab und geht dann zum nächsten Punkt oder startet der Dienst parallel zum Programmablauf? Dann wäre es sinnlos ohne Pause erneut zu prüfen. Lösung könnte dann ne Pause von 5 Sekunden (oder so) sein. Aber gibt's das in Bash? Oder vielleicht 5 Pings? Ansonsten könnte man nach Dienst Neustart in ne Textdatei ne 1 schreiben, die man dann beim nächsten Durchlauf abfragt. Hängt der gleiche Dienst und in der Datei ist ne 1, dann reboot.

Was hälst Du von dem Ansatz und hast Du dafür auch wieder gleich die Umsetzung, sonst befrag ich Google. Oder ist das schon im Ansatz sinnlos, weil es immer klappen wird den Dienst neuzustarten?

Beste Grüße,

André

PS: Hier nun entsprechend umgebautes Skript, welches abgestürzte Dienste neustartet mit Log und Timestamp im Log, Mailversand übers Mail-Addon und Übergabe an den Watchdog, der Hänger erkennen soll:

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`

msg="X"
mail="0"

if [ $rfd -lt 1 ]; then
  msg="rfd not running.."
  /etc/init.d/S60rfd start
  echo $msg
  mail="1"
fi

#Nur bei Wired-Geraeten
#if [ $rs485 -lt 1 ]; then
#  msg="no rs485 process running"
#  /etc/init.d/S49hs485d start
#  echo $msg
#fi

if [ $rega -lt 1 ]; then
  msg="no ReGaHss process running"
  /etc/init.d/S61HMServer start
  echo $msg
  mail="3"
fi

if [ $cuxd -lt 1 ]; then
  msg="no cuxd process running"
  /usr/local/etc/config/rc.d/cuxdaemon start
  echo $msg
  mail="4"
fi

if [ $msg == "X" ]; then
  echo rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine...
  echo "$date rfd: $rfd, rs485: $rs485, ReGaHss: $rega, CUxD: $cuxd daemons running, all fine..." >> /usr/local/addons/Watchdog/Dienste.log
  
else
  # Zur Benachrichtigung ist ein externes mail.php script auf einem linux Rechner erforderlich!
  #wget -q -O - 'http://<ip>/mail/mail.php?rec=user@domain.com&sub=ccu%20service%20restarted&mes=$msg'
  #reboot
  echo "$date $msg" >> /usr/local/addons/Watchdog/Dienste.log
  exec /etc/config/addons/email/email 09 $mail
  
fi

tclsh /usr/local/addons/Watchdog/Watchdog.sh

Hier nun das Skript, welches Hänger erkennt, und ebenfalls entsprechende Mails versendet. Je nachdem, wie lange das System hängt, wird versucht zu sichern und neuzustarten:

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
}
So siehts im TCL-Bereich des Mail-Addons aus:

Code: Alles auswählen

set extvarno [lindex $argv 1]

if { $extvarno == "0" } {
  set extvar "Dienste laufen"
}

if { $extvarno == "1" } {
  set extvar "rfd abgestürzt"
}

if { $extvarno == "3" } {
  set extvar "rega abgestürzt"
}

if { $extvarno == "4" } {
  set extvar "CUxD abgestürzt"
}
In den Mailtext der Mail 09 muss dann die Variable $extvar gesetzt werden und der TCL-Haken gesetzt werden
piVCCU auf RaspberryPi2 (mit Funkmodul) / CCU2 (Backupsystem), CUL-Stick, 82 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren, APC Back UPS ES 700VA, Addons: Mail, CUxD (Timer, Ping, System.exec, 2 FS-20-Geräte), XML-API, Wetter.tcl, Socat zur Ansteuerung des Pioneer-AVR, CCU-log.tcl, FritzBox.sh, Software-Watchdog / HomeDroid

drhwpot
Beiträge: 138
Registriert: 04.11.2012, 11:05

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

Beitrag von drhwpot » 27.03.2014, 23:54

Hallo Andre,

ich habe mich zu früh gefreut, es ist heute leider wieder zum Absturz gekommen.
Es muss die CCU 2 sein, da CUxD heue gar nicht aktiv war. Ich werde wohl um einen Reset nichtumhinkommen - oder hast Du noch eine Idee?
Den Watchdog sollte ich am Wochenende in Angriff nehmen, aber ich habe noch alle Deine Änderung nachvollziehen können – ich werde Dich wohl nochmals nerven müssen

Beste Grüße
HP

P.S Hier mein Fehlerprotokoll

Code: Alles auswählen

2014-03-27,16:44:54,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0702177:1\",\"BRIGHTNESS\",208}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:44:54,err,1,1,1,XmlRpc transport error	
2014-03-27,16:44:15,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0702177:1\",\"BRIGHTNESS\",208}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:44:15,err,1,1,1,XmlRpc transport error	
2014-03-27,16:43:50,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0628427:1\",\"TEMPERATURE\",16.400000}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:43:50,err,1,1,1,XmlRpc transport error	
2014-03-27,16:43:03,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"TEMPERATURE\",17.200000}],[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"HUMIDITY\",31}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:43:03,err,1,1,1,XmlRpc transport error	
2014-03-27,16:41:05,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0628427:1\",\"TEMPERATURE\",16.800000}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:41:05,err,1,1,1,XmlRpc transport error	
2014-03-27,16:40:45,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"TEMPERATURE\",17.200000}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:40:45,err,1,1,1,XmlRpc transport error	
2014-03-27,16:40:45,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"HUMIDITY\",31}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:40:45,err,1,1,1,XmlRpc transport error	
2014-03-27,16:38:21,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0702177:1\",\"BRIGHTNESS\",211}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:38:21,err,1,1,1,XmlRpc transport error	
2014-03-27,16:38:11,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"TEMPERATURE\",17.200000}],[methodName:\"event\",params:{\"1007\",\"KEQ0766729:1\",\"HUMIDITY\",31}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:38:11,err,1,1,1,XmlRpc transport error	
2014-03-27,16:38:06,err,1,1,1,"XmlRpcClient error calling event({[methodName:\"event\",params:{\"1007\",\"JEQ0628427:1\",\"TEMPERATURE\",17.500000}]}) on binary://127.0.0.1:1999/RPC2:"	
2014-03-27,16:38:06,err,1,1,1,XmlRpc transport error	
1 x CCU 2; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 14 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 6 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) FW: 2.29.23, CUxD - Timer, CUxD SyS EX, Sonnenstand 2.0, Prowl Push, Serviemeldungen via Push

drhwpot
Beiträge: 138
Registriert: 04.11.2012, 11:05

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

Beitrag von drhwpot » 28.03.2014, 10:45

Hallo Andre,

ich habe wieder ein paar Fragen zum Aufbau Deines Watchdogs. – Sorry!!!!!!!!!!!

- Sehe ich es richtig, dass Du im crontabs weiterhin folgende Zeile (0,5,10,15,20,25,30,35,40,45,50,55 * * * * tclsh usr/local/addons/Watchdog/Watchdog.sh) in der Datei root hast?
- In Verzeichnis /usr/local/addons/Watchdog hast Du nun weiterhin die Datei mit dem Namen „Watchdog.sh“ . Welchen Inhalt hat die Datei – sind hierin nun Deine beide Skripte, oder habe ich hier etwas falsch verstanden?

Ich hoffe, dass Du helfen kannst und hierfür auch noch Zeit hast.

Beste Grüße

HP

P.S. Update zum Absturzverhalten:
Ich hatte meine CCU 2 nun für 6 Tage im abgesicherten Modus laufen und es hat alles gut funktioniert. Nun hatte ich gestern Nachmittag erneut einen Absturz, die CCU 2 ist einfach stehen geblieben, es hat nur ein harter Neustart geholfen, also stromlos machen der CCU 2. Heute Morgen musste ich leider feststellen, dass die CCU 2 sich schon wieder aufhängt hatte. Da ich dies gestern im Normal-Modus (CUxD aktiv, kein System.Ex) gestartet hatte, war es mir möglich via CUxD einen CCU reboot durchzuführen.
1 x CCU 2; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 14 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 6 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) FW: 2.29.23, CUxD - Timer, CUxD SyS EX, Sonnenstand 2.0, Prowl Push, Serviemeldungen via Push

Benutzeravatar
AndreO
Beiträge: 179
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)

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

Beitrag von AndreO » 28.03.2014, 11:06

Hi HP,

alles gut, kein Thema, kriegen wir :-)

Was Deine Hänger verursacht, verstehe ich leider auch nicht. Ich steig ja grad mal bei meinem System durch, was eventuell die Gründe sein können...
An Deiner stelle würd ich mal googlen, was der Error bedeutet. Ich blick bei den Logs auch kaum durch.

Daher lass uns zusehen, dass wir den Watchdog bei Dir zum Laufen kriegen.

Den Inhalt der beiden Skripte hatte ich ja schon dargestellt. Die eine Datei heißt Watchdog.sh, die andere Dienste.sh. Beide im gleichen Ordner.
- Die Watchdog.sh beginnt mit #!/bin/tclsh
- Die Dienste.sh beginnt mit #!/bin/bash

Inhalt meiner Crontab ist nun:

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
Das Skript Dienste.sh führt das Watchdog.sh aus. Daher muss Watchdog.sh nicht mehr in die Crontab.

Beachte bitte, dass Du den TCL-Bereich im E-Mail-Addon um das ergänzt, was ich aufgegeben hatte.
Der Mailtext der Mail 09 muss dann die Variable $extvar enthalten und der TCL-Haken gesetzt werden.

Fehlt Dir noch was?

Am Ende der Watchdog.sh kannste testweise folgende Zeile anfügen:
exec /etc/config/addons/email/email 09 0

Dann bekommst Du, wenn Du alles richtig gemacht hast, bei jedem Ausführen des Watchdogs eine Mail, in der steht "Dienste laufen"

Achso, und im Ordner Watchdog hab ich noch ne Datei "Dienste.log" angelegt und mit nem Leerzeichen befüllt. Ich weiß nicht, ob das Skript die selbst anlegen kann. Daher hab ich das gemacht. Die Datei bekommt bei mir nun alle 5 Minuten nen Eintrag durch die Dienste.sh, dass alles ok ist.

Bei Fragen, frag :-)

Viel Erfolg,

André
piVCCU auf RaspberryPi2 (mit Funkmodul) / CCU2 (Backupsystem), CUL-Stick, 82 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren, APC Back UPS ES 700VA, Addons: Mail, CUxD (Timer, Ping, System.exec, 2 FS-20-Geräte), XML-API, Wetter.tcl, Socat zur Ansteuerung des Pioneer-AVR, CCU-log.tcl, FritzBox.sh, Software-Watchdog / HomeDroid

drhwpot
Beiträge: 138
Registriert: 04.11.2012, 11:05

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

Beitrag von drhwpot » 28.03.2014, 11:19

Hallo Andre,

Vielen Dank für die schnelle Hilfe. Super!! – ich werde heute Abend mit dem Umbau starten. Mein TCL müsste dann so aussehen- oder?

Code: Alles auswählen

 load tclrega.so
array set values [rega_script {
var emailtext_inhalt = dom.GetObject('Mailtext').Value();
set extvarno [lindex $argv 1]

if { $extvarno == "0" } {
  set extvar "Dienste laufen"
}

if { $extvarno == "1" } {
  set extvar "rfd abgestürzt"
}

if { $extvarno == "3" } {
  set extvar "rega abgestürzt"
}

if { $extvarno == "4" } {
  set extvar "CUxD abgestürzt"
}
Beste Grüße

HP
1 x CCU 2; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 14 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 6 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) FW: 2.29.23, CUxD - Timer, CUxD SyS EX, Sonnenstand 2.0, Prowl Push, Serviemeldungen via Push

PaulG4H
Beiträge: 1181
Registriert: 11.08.2011, 10:09

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

Beitrag von PaulG4H » 28.03.2014, 11:26

Hallo,

es gibt eine neue Überarbeitet Version des Software Watchdogs...
http://homematic-forum.de/forum/viewtop ... 23#p145423

LG

Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

Benutzeravatar
AndreO
Beiträge: 179
Registriert: 24.09.2013, 22:11
Wohnort: Die Rhön is schön :-)

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

Beitrag von AndreO » 28.03.2014, 12:48

Hallo Paul,

das sieht richtig gut aus! Danke für die Umsetzung! Ich bau da noch meine Mails ein und mein anderes Skript drunter, und dann ist der glaub ich echt genau so, wie er sein sollte. Dann heißts testen :-)



Hallo HP

bei Deinem TCL fehlen einige Klammern, oder? Wie sahs denn bisher aus? Du brauchst das bisherige TCL-Skript, so wie es funktioniert, eigentlich nicht verändern, sondern machst den Teil, den ich beschrieben hab einfach ganz unten drunter.

Die Änderungen von Paul hab ich in mein Dienste.sh-Skript eingebaut:

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"

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"
fi

#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

if [ $rega -lt 1 ]; then
  msg="no ReGaHss process running"
  if [ ! -f /tmp/check ]; then
    /etc/init.d/S61HMServer start
  fi
  echo $msg
  echo $(date +"%Y.%m.%d %T") "REGAHSS Check failed $msg" >> $log
  mail="3"
fi

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"
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
  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
Außerdem muss im Mailaddon noch ne fünfte Variante vorgesehen werden. Also, das TCL-Skriptsieht damit so aus:

Code: Alles auswählen

load tclrega.so

array set values  [rega_script {

var v104 = dom.GetObject("AAAtest").Value();

if(v104.ToInteger() < 351) {string v104a = "Warnung";}
if(v104.ToInteger() > 350) {string v104a = "CuxD-Restart";}
if(v104.ToInteger() > 950) {string v104a = "DomSave";}
if(v104.ToInteger() > 1400) {string v104a = "CCU-Restart";}

}]

set extvarno [lindex $argv 1]

if { $extvarno == "0" } {
  set extvar "Dienste laufen"
}

if { $extvarno == "1" } {
  set extvar "Dienste-Problem rfd abgestürzt"
}

if { $extvarno == "3" } {
  set extvar "Dienste-Problem rega abgestürzt"
}

if { $extvarno == "4" } {
  set extvar "Dienste-Problem CUxD abgestürzt"
}

if { $extvarno == "5" } {
  set extvar "Dienste-Problem CCU-Restart"
}

Beste Grüße,

André
Zuletzt geändert von AndreO am 28.03.2014, 13:20, insgesamt 1-mal geändert.
piVCCU auf RaspberryPi2 (mit Funkmodul) / CCU2 (Backupsystem), CUL-Stick, 82 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren, APC Back UPS ES 700VA, Addons: Mail, CUxD (Timer, Ping, System.exec, 2 FS-20-Geräte), XML-API, Wetter.tcl, Socat zur Ansteuerung des Pioneer-AVR, CCU-log.tcl, FritzBox.sh, Software-Watchdog / HomeDroid

drhwpot
Beiträge: 138
Registriert: 04.11.2012, 11:05

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

Beitrag von drhwpot » 28.03.2014, 13:18

Hallo Andre,

Danke !!! - das TCL sieht dann so aus:

Code: Alles auswählen

 load tclrega.so
array set values [rega_script {
var emailtext_inhalt = dom.GetObject('Mailtext').Value();
set extvarno [lindex $argv 1]

if { $extvarno == "0" } {
  set extvar "Dienste laufen"
}

if { $extvarno == "1" } {
  set extvar "rfd abgestürzt"
}

if { $extvarno == "3" } {
  set extvar "rega abgestürzt"
}

if { $extvarno == "4" } {
  set extvar "CUxD abgestürzt"
}
set extvarno [lindex $argv 1]

if { $extvarno == "0" } {
  set extvar "Dienste laufen"
}

if { $extvarno == "1" } {
  set extvar "rfd abgestürzt"
}

if { $extvarno == "3" } {
  set extvar "rega abgestürzt"
}

if { $extvarno == "4" } {
  set extvar "CUxD abgestürzt"
}
Beste Grüße

HP
1 x CCU 2; 2 x Funk LAN Gateway (HM-LGW-O-TW-W-EU); 14 x Rollladenaktor (HM-LC-Bl1PBU-FM); 5 x Schalter ( HM-LC-Sw1PBU-FM); 2 x Dimmer (HM-LC-Dim1TPBU-FM); 6 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) FW: 2.29.23, CUxD - Timer, CUxD SyS EX, Sonnenstand 2.0, Prowl Push, Serviemeldungen via Push

Antworten

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