Guten Morgen - leider bastele ich immer noch an meinem Problem.
Nachdem mir unter Windows die Ideen augegangen sind, habe ich Symcon auf Ubuntu umgezogen.
Auch hier das gleiche Spiel … die CCU2 sendet rund 24 Stunden einwandfrei alle auftretenden Events, danach bricht die Kommunikation zusammen und ich finde einen Neustart des Eventservers und dann nur noch „PING-PONG“.
Alle Kommandos zur CCU2 gehen sauber rüber, aber es kommen keine Events zurück.
Als wenn der Socket noch belegt wäre.
Was mir auffällt - vielleicht ist aber auch das nur Zufall: vor dem „Neustart“ des Event-Servers sieht man das der Homematic Socket seine Konfig zu speichern versucht.
-------------------- snip snip snip ---------------------------------------
12:30:16 | 30657 | DEBUG | ScriptEngine | Skript ausgeführt - Ereignis: 38630 ~ Absender: TimerEvent
12:30:43 | 48053 | MESSAGE | HomeMatic Socket | Einstellungen gespeichert
12:30:43 | 48053 | MESSAGE | HomeMatic Socket | Stoppe Eventserver…
12:30:43 | 48053 | MESSAGE | HomeMatic Socket | Stopping event dispatch thread…
12:30:43 | 48053 | MESSAGE | HomeMatic Socket | Starte Eventserver…
12:30:43 | 48053 | MESSAGE | HomeMatic Socket | Creating event dispatch thread…
12:30:43 | 48053 | MESSAGE | Event Control | Wiederverbinden [HomeMatic Socket] erfolgreich
12:30:43 | 48053 | DEBUG | KernelMT | Nachricht IM_CHANGESTATUS für ID 48053 dauerte 183 ms (Modul: InstanceManager)
12:33:43 | 00000 | MESSAGE | Settings | Schreibe Einstellungen…
12:35:00 | 56472 | DEBUG | ScriptEngine | Skriptausführung - Ereignis: 56472 ~ Absender: TimerEvent
12:35:05 | 56472 | DEBUG | ScriptEngine | Skript ausgeführt - Ereignis: 56472 ~ Absender: TimerEvent
12:35:05 | 56472 | WARNING | ScriptEngine | Ergebnis für Ereignis 56472
<br />
<b>Warning</b>: Vorgang abgebrochen in <b>-</b> on line <b>1</b><br />
12:35:17 | 48053 | ERROR | TimerPool | HomeMatic Socket (KeepAlive): Vorgang abgebrochen
-------------------- snip snip snip ---------------------------------------
Das TimerEvent ist ein einfaches Kommando aus dem Wochenplan, welches an ein HMIP-IO geht.
Warum dieses abgebrochen wird ist mir auch nicht klar (es wird nur auf eine HMIP-Variable geschrieben).
Hier das Log, wenn der Event funktioniert:
-------------------- snip snip snip ------------------------------------------
06:00:00 | 56472 | DEBUG | ScriptEngine | Skriptausführung - Ereignis: 56472 ~ Absender: TimerEvent
06:00:00 | 29431 | MESSAGE | VariableManager | [Details nur zur Konfiguration\Aktoren\Strom Teich\SWITCH_VIRTUAL_RECEIVER\STATE] = true
06:00:00 | 56472 | DEBUG | ScriptEngine | Skript ausgeführt - Ereignis: 56472 ~ Absender: TimerEvent
-------------------- snip snip snip ------------------------------------------
Aus den Logs der CCU2 ist überhaupt nichts zu erkennen - keine Fehler, nichts.
Fast scheint es, dass sie das Problem überhaupt nicht „bemerkt“ und der Socket daher noch blockiert ist.
Manchmal hilft es die CCU2 neu zu starten. Eine wirklich saubere Funktion erhalte ich aber erst, wenn ich beide Teile neu starte … dann geht es wieder rund 24Stunden lang gut.
Hier das CCU2 Log:
--------------------- snip snip snip ------------------------------------------
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000B9569A516BD:3“.„STATE“=true […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000B9569A516BD:3“.„SECTION“=2 […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000B9569A516BD:3“.„PROCESS“=0 […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000397098A3BF5:0“.„RSSI_DEVICE“=-48 […/Platform/DOM/iseXmlRpc.cpp (34
4)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000397098A3BF5:0“.„DUTY_CYCLE“=false […/Platform/DOM/iseXmlRpc.cpp (3
44)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000397098A3BF5:0“.„LOW_BAT“=false […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000397098A3BF5:0“.„OPERATING_VOLTAGE“=2.800000 […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:01 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„000397098A3BF5:0“.„UNREACH“=false […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:03 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„CENTRAL“.„PONG“=„IPS“ […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:30:40 ccu2.ruedi.local ReGaHss: Info: TimerThread::ThreadFunction() - no timer exists, so Wait (60 s) ! […/Platform/RT/iseRTTimer.cpp (209)]
Sep 8 12:30:43 ccu2.ruedi.local rfd: IPS support system.multicall
Sep 8 12:30:43 ccu2.ruedi.local rfd: IPS support event
Sep 8 12:31:11 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„CENTRAL“.„PONG“=„IPS“ […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:31:40 ccu2.ruedi.local ReGaHss: Info: TimerThread::ThreadFunction() - no timer exists, so Wait (60 s) ! […/Platform/RT/iseRTTimer.cpp (209)]
Sep 8 12:32:12 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„CENTRAL“.„PONG“=„IPS“ […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:32:40 ccu2.ruedi.local ReGaHss: Info: TimerThread::ThreadFunction() - no timer exists, so Wait (60 s) ! […/Platform/RT/iseRTTimer.cpp (209)]
Sep 8 12:33:12 ccu2.ruedi.local ReGaHss: Info: XmlRpcMethodEvent::execute: Event=„CENTRAL“.„PONG“=„IPS“ […/Platform/DOM/iseXmlRpc.cpp (344)]
Sep 8 12:33:17 ccu2.ruedi.local ReGaHss: Info: CheckModifiedThread::ThreadFunction(): check modified flag […/Platform/RT/iseRTDOM.cpp (62)]
------------------------------- snip snip snip ------------------------------------
irgendwann gehen der CCU2 dann scheinbar die Sockets oder Handles aus und im Log findet sich folgendes:
------------------------------- snip snip snip ------------------------------------
Sep 8 20:06:05 ccu2.ruedi.local ReGaHss: Info: start web processing, worker thread #0 {„HTTP-Listener“} […/Platform/Internet/http/httpListener.cpp (205)]
Sep 8 20:06:05 ccu2.ruedi.local ReGaHss: Info: recvd 379 bytes by web server #0 […/Platform/Internet/http/httpServer.cpp (763)]
Sep 8 20:06:05 ccu2.ruedi.local ReGaHss: Info: IseSession GetSessionId from URL: /tclrega.exe […/Platform/Internet/http/iseSession.cpp (185)]
Sep 8 20:06:05 ccu2.ruedi.local ReGaHss: Info: invalid session - null pointer […/Platform/DOM/iseESPexec.cpp (2858)]
Sep 8 20:06:05 ccu2.ruedi.local ReGaHss: Info: http id #0 sends parsed file […/Platform/Internet/http/httpServer.cpp (2026)]
Sep 8 20:06:06 ccu2.ruedi.local ReGaHss: Info: start web processing, worker thread #0 {„HTTP-Listener“} […/Platform/Internet/http/httpListener.cpp (205)]
Sep 8 20:06:06 ccu2.ruedi.local ReGaHss: Info: recvd 743 bytes by web server #0 […/Platform/Internet/http/httpServer.cpp (763)]
Sep 8 20:06:06 ccu2.ruedi.local ReGaHss: Info: IseSession GetSessionId from URL: /esp/system.htm?sid=@6CH13eUvUm@&action=UpdateUI […/Platform/Internet/http/iseSession.cpp (185)]
Sep 8 20:06:06 ccu2.ruedi.local ReGaHss: Info: error page sent by id #0HTTP/1.1 500 Internal Server Error#015#012Server: ise GmbH HTTP-Server v2.0#015#012Accept-Ranges: bytes#015#012Cache-Control: no-store, no-cache#015#012Content-Type: text/html; charset=iso-8859-1#015#012#015#012<html><head></head><
Sep 8 20:06:09 ccu2.ruedi.local ReGaHss: Info: start web processing, worker thread #0 {„HTTP-Listener“} […/Platform/Internet/http/httpListener.cpp (205)]
Sep 8 20:06:09 ccu2.ruedi.local ReGaHss: Info: recvd 743 bytes by web server #0 […/Platform/Internet/http/httpServer.cpp (763)]
Sep 8 20:06:09 ccu2.ruedi.local ReGaHss: Info: IseSession GetSessionId from URL: /esp/system.htm?sid=@6CH13eUvUm@&action=UpdateUI […/Platform/Internet/http/iseSession.cpp (185)]
Sep 8 20:06:09 ccu2.ruedi.local ReGaHss: Info: error page sent by id #0HTTP/1.1 500 Internal Server Error#015#012Server: ise GmbH HTTP-Server v2.0#015#012Accept-Ranges: bytes#015#012Cache-Control: no-store, no-cache#015#012Content-Type: text/html; charset=iso-8859-1#015#012#015#012<html><head></head><
Sep 8 20:06:10 ccu2.ruedi.local ReGaHss: Info: start web processing, worker thread #0 {„HTTP-Listener“} […/Platform/Internet/http/httpListener.cpp (205)]
------------------------------- snip snip snip ------------------------------------
Ein Neustart von Symcon führt dann dazu, dass die Daten manuell wieder gelesen werden können, die Events beiben trotzdem aus. Erst nach dem Neustart der CCU2 und Symcon funktioniert die Anlage wieder korrekt.
Ein Dauerping von der Linux-Maschine zur CCU2 bringt übrigens auch nichts - keine Verluste.
Vielleicht kann das helfen das Problem weiter einzugrenzen.
Ich bin echt für jede Idee dankbar.
Danke und Grüße
RUE