Den Hardware-WatchDog der CCU2 für die HomeMatic aktivieren
Moderator: Co-Administratoren
- 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
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é
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 RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren
Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie
Hallo Andre,
das schreiben in eine Datei ist keine Kunst, in Bash sieht das z.B. so aus:
Wenn du den Inhalt der Variable msg schreiben willst dann so:
LG
Paul
PS: ich würde den reboot deaktivieren und versuchen die Problem mit einem Start des jeweiligen Dienstes hinzubekommen!
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
Code: Alles auswählen
echo "das soll an die Datei Angefügt werden $msg" >> /pfad/datei
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
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
- 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
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:
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:
So siehts im TCL-Bereich des Mail-Addons aus:
In den Mailtext der Mail 09 muss dann die Variable $extvar gesetzt werden und der TCL-Haken gesetzt werden
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
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
}
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"
}
piVCCU auf RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren
-
- 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
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
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 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;
-
- 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
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.
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 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;
- 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
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:
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é
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
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 RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren
-
- 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
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?
Beste Grüße
HP
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"
}
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;
Re: Den Hardware-WatchDog der CCU2 für die HomeMatic aktivie
Hallo,
es gibt eine neue Überarbeitet Version des Software Watchdogs...
http://homematic-forum.de/forum/viewtop ... 23#p145423
LG
Paul
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
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
- 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
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:
Außerdem muss im Mailaddon noch ne fünfte Variante vorgesehen werden. Also, das TCL-Skriptsieht damit so aus:
Beste Grüße,
André
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
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 RaspberryPi3 (mit Funkmodul), CUL-Stick, 95 wireless Sensoren + Aktoren, 2 FS20-Sensoren + Aktoren
-
- 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
Hallo Andre,
Danke !!! - das TCL sieht dann so aus:
Beste Grüße
HP
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"
}
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;