27-12-2016, 00:57:10
@bezibaerchen:
Habe jetzt als Workaround einen Cronejob als root laufen, der das LOG prüft und bei match auf "Connection to innogy WebSocket was closed (code: 1006)" OPENHAB neu startet. Wenn Olli das korrekt im Binding abfängt (falls das möglich sein sollte), dann kann man das ja wieder löschen. Ggf. könnt ihr auch auf andere Fehler "greppen", falls ein Neustart von OPENHAB helfen sollte es zu beheben.
Das Script läuft bei mir als root alle 5 Minuten. Habe OPENHAB auf einem RasPi B laufen, ggf. müsst ihr Pfade bei euch anpassen (wer es nutzen möchte).
Script im Verzeichnis root erstellen:
root@raspberrypiB:~# vi /root/restart_openhab_if_websocket_closed.sh
#!/bin/bash
if grep "Connection to innogy WebSocket was closed (code: 1006)" /var/log/openhab2/openhab.log ; then
/bin/mv /var/log/openhab2/openhab.log /var/log/openhab2/openhab.log_`date +%Y%m%d_%H%M%S`
/bin/systemctl restart openhab2.service
else
echo Kein Fehler im LOG!
fi
Als root:
crontab -e
und dann folgende Zeile eintragen und speichern:
*/5 * * * * /root/restart_openhab_if_websocket_closed.sh
Wenn dann "Connection to innogy WebSocket was closed (code: 1006)" im LOG gefunden wird, dann wird das aktuelle LOG-File kopiert und der aktuelle Zeitstempel angehangen. Dann wird OPENHAB neu gestartet. So könnt ihr später auf einen Blick erkennen, wann OPENHAB neu gestartet wurde und alle LOGdaten bleiben somit erhalten.
Beispiel:
root@raspberrypiB:~# ls -rtl /var/log/openhab2/
total 3828
-rw-r--r-- 1 openhab openhab 1725309 Dec 24 23:50 openhab.log_20161224_235001
-rw-r--r-- 1 openhab openhab 4440 Dec 25 03:20 openhab.log_20161225_032001
-rw-r--r-- 1 openhab openhab 4440 Dec 25 07:20 openhab.log_20161225_072001
-rw-r--r-- 1 openhab openhab 18027 Dec 25 19:15 openhab.log_20161225_191502
-rw-r--r-- 1 openhab openhab 115049 Dec 25 23:10 openhab.log_20161225_231001
-rw-r--r-- 1 openhab openhab 16176 Dec 26 04:10 openhab.log_20161226_041001
-rw-r--r-- 1 openhab openhab 5006 Dec 26 16:50 openhab.log_20161226_165002
-rw-r--r-- 1 openhab openhab 6432 Dec 26 20:26 openhab.log
-rw-r--r-- 1 openhab openhab 1990587 Dec 26 23:45 events.log
root@raspberrypiB:~#
Wie schon erwähnt, dient das nur als WORKAROUND, da irgendwann keine Daten mehr in meinen Charts (Luftfeuchte) erscheinen und nach einem Neustart von OPENHAB alles wieder reibungslos funktioniert. Ggf. gibt es auch eine "softere" Methode, wie ich wieder Daten empfangen kann. Für Hinweise und Anmerkungen bin ich euch sehr dankbar!
Gruß
Micha
Habe jetzt als Workaround einen Cronejob als root laufen, der das LOG prüft und bei match auf "Connection to innogy WebSocket was closed (code: 1006)" OPENHAB neu startet. Wenn Olli das korrekt im Binding abfängt (falls das möglich sein sollte), dann kann man das ja wieder löschen. Ggf. könnt ihr auch auf andere Fehler "greppen", falls ein Neustart von OPENHAB helfen sollte es zu beheben.
Das Script läuft bei mir als root alle 5 Minuten. Habe OPENHAB auf einem RasPi B laufen, ggf. müsst ihr Pfade bei euch anpassen (wer es nutzen möchte).
Script im Verzeichnis root erstellen:
root@raspberrypiB:~# vi /root/restart_openhab_if_websocket_closed.sh
#!/bin/bash
if grep "Connection to innogy WebSocket was closed (code: 1006)" /var/log/openhab2/openhab.log ; then
/bin/mv /var/log/openhab2/openhab.log /var/log/openhab2/openhab.log_`date +%Y%m%d_%H%M%S`
/bin/systemctl restart openhab2.service
else
echo Kein Fehler im LOG!
fi
Als root:
crontab -e
und dann folgende Zeile eintragen und speichern:
*/5 * * * * /root/restart_openhab_if_websocket_closed.sh
Wenn dann "Connection to innogy WebSocket was closed (code: 1006)" im LOG gefunden wird, dann wird das aktuelle LOG-File kopiert und der aktuelle Zeitstempel angehangen. Dann wird OPENHAB neu gestartet. So könnt ihr später auf einen Blick erkennen, wann OPENHAB neu gestartet wurde und alle LOGdaten bleiben somit erhalten.
Beispiel:
root@raspberrypiB:~# ls -rtl /var/log/openhab2/
total 3828
-rw-r--r-- 1 openhab openhab 1725309 Dec 24 23:50 openhab.log_20161224_235001
-rw-r--r-- 1 openhab openhab 4440 Dec 25 03:20 openhab.log_20161225_032001
-rw-r--r-- 1 openhab openhab 4440 Dec 25 07:20 openhab.log_20161225_072001
-rw-r--r-- 1 openhab openhab 18027 Dec 25 19:15 openhab.log_20161225_191502
-rw-r--r-- 1 openhab openhab 115049 Dec 25 23:10 openhab.log_20161225_231001
-rw-r--r-- 1 openhab openhab 16176 Dec 26 04:10 openhab.log_20161226_041001
-rw-r--r-- 1 openhab openhab 5006 Dec 26 16:50 openhab.log_20161226_165002
-rw-r--r-- 1 openhab openhab 6432 Dec 26 20:26 openhab.log
-rw-r--r-- 1 openhab openhab 1990587 Dec 26 23:45 events.log
root@raspberrypiB:~#
Wie schon erwähnt, dient das nur als WORKAROUND, da irgendwann keine Daten mehr in meinen Charts (Luftfeuchte) erscheinen und nach einem Neustart von OPENHAB alles wieder reibungslos funktioniert. Ggf. gibt es auch eine "softere" Methode, wie ich wieder Daten empfangen kann. Für Hinweise und Anmerkungen bin ich euch sehr dankbar!
Gruß
Micha