HomeMatic Socket (KeepAlive): Es konnte keine Verbindung hergestellt werden

Hallo zusammen,

seit einigen Wochen verliert Symcon bei mir sporadisch die Verbindung zu CCU.
Habe mir des öfteren das Logfile angesehen, um festzustellen, was direkt vorher passierte. Es hat sich mir nicht erschlossen was das Problem ist.
Beim Absturz Anfag der vergangenen Woche stand folgendes im Logfile:


06:54:13 | 46225 | MESSAGE | VariableManager      | [Devices (DEV)\Fenster/Türen (FT)\ET1_Flur_FT_Haustuer_FeKoO\SHUTTER_CONTACT\STATE] = true
06:54:13 | 17018 | DEBUG   | ScriptEngine         | Skriptausführung - Ereignis: 37889 ~ Absender: Variable
06:54:13 | 58597 | DEBUG   | VariableManager      | [Devices (DEV)\Fenster/Türen (FT)\ET1_Flur_FT_Haustuer_FeKoO\SHUTTER_CONTACT\LOWBAT] = false
06:54:17 | 57402 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\SingleOut_Msg] = <div style="color:#000000;background:#FF0000;">Error: Warning: Invalid response
   Error in Script XXXXX\38893.ips.php on Line 50</div>
06:54:17 | 29504 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\HtmlOut_MsgList] = <style>.row-highlight tr:hover {
                             background-color: rgba(255, 255, 255, 0.1) !important;
                             color:#808080 !important;}</style>
                        <table width="100%" class="row-highlight" style="font-family:courier; font-size:11px;"><colgroup><col width="25px"><col width="40px"><col width="100px"><col width="200px"><col></colgroup><tr id="3402337" style="color:#000000;background:#FF0000;"><td>IPS</td><td>-Err-</td><td title="PHP">PHP</td><td>2017-11-29 06:20:00.353</td><td><DIV>Warning: HomeMatic Error: Failure<BR>    Error in Script XXXXX\scripts\56029.ips.php on Line 29<BR>   134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR>    37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR>       in IPSLogger_PhpErrorHandler<BR>    29 in scripts\56029.ips.php (call HM_WriteValueFloat)</DIV></td></tr><tr id="3402338" style="color:#000000;background:#FF0000;"><td>IPS</td><td>-Err-</td><td title="PHP">PHP</td><td>2017-11-29 06:54:17.081</td><td><DIV>Warning: Invalid response<BR>    Error in Script XXXXX\scripts\38893.ips.php on Line 50<BR>   134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR>    37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR>       in IPSLogger_PhpErrorHandler<BR>    50 in scripts\38893.ips.php (call HM_WriteValueBoolean)<BR>    25 in scripts\17018.ips.php (call HAS_Switch_EingangsbeleuchtungByKey)</DIV></td></tr></table>
06:54:17 | 14320 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\HtmlOut_MsgId] = 3402338
06:54:17 | 00000 | CUSTOM  | PHP                  | Error: Warning: Invalid response
   Error in Script XXXXX\scripts\38893.ips.php on Line 50
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
      in IPSLogger_PhpErrorHandler
   50 in scripts\38893.ips.php (call HM_WriteValueBoolean)
   25 in scripts\17018.ips.php (call HAS_Switch_EingangsbeleuchtungByKey)
06:54:18 | 57402 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\SingleOut_Msg] = <div style="color:#000000;background:#FF0000;">Error: Warning: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
   Error in Script XXXXX\scripts\38893.ips.php on Line 51</div>
06:54:18 | 29504 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\HtmlOut_MsgList] = <style>.row-highlight tr:hover {
                             background-color: rgba(255, 255, 255, 0.1) !important;
                             color:#808080 !important;}</style>
                        <table width="100%" class="row-highlight" style="font-family:courier; font-size:11px;"><colgroup><col width="25px"><col width="40px"><col width="100px"><col width="200px"><col></colgroup><tr id="3402337" style="color:#000000;background:#FF0000;"><td>IPS</td><td>-Err-</td><td title="PHP">PHP</td><td>2017-11-29 06:20:00.353</td><td><DIV>Warning: HomeMatic Error: Failure<BR>    Error in Script XXXXX\scripts\56029.ips.php on Line 29<BR>   134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR>    37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR>       in IPSLogger_PhpErrorHandler<BR>    29 in scripts\56029.ips.php (call HM_WriteValueFloat)</DIV></td></tr><tr id="3402338" style="color:#000000;background:#FF0000;"><td>IPS</td><td>-Err-</td><td title="PHP">PHP</td><td>2017-11-29 06:54:17.081</td><td><DIV>Warning: Invalid response<BR>    Error in Script XXXXX\scripts\38893.ips.php on Line 50<BR>   134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR>    37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR>       in IPSLogger_PhpErrorHandler<BR>    50 in scripts\38893.ips.php (call HM_WriteValueBoolean)<BR>    25 in scripts\17018.ips.php (call HAS_Switch_EingangsbeleuchtungByKey)</DIV></td></tr><tr id="3402339" style="color:#000000;background:#FF0000;"><td>IPS</td><td>-Err-</td><td title="PHP">PHP</td><td>2017-11-29 06:54:18.110</td><td><DIV>Warning: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte<BR>    Error in Script XXXXX\scripts\38893.ips.php on Line 51<BR>   134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR>    37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR>       in IPSLogger_PhpErrorHandler<BR>    51 in scripts\38893.ips.php (call HM_WriteValueBoolean)<BR>    25 in scripts\17018.ips.php (call HAS_Switch_EingangsbeleuchtungByKey)</DIV></td></tr></table>
06:54:18 | 14320 | MESSAGE | VariableManager      | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\HtmlOut_MsgId] = 3402339
06:54:18 | 00000 | CUSTOM  | PHP                  | Error: Warning: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
   Error in Script XXXXX\scripts\38893.ips.php on Line 51
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
      in IPSLogger_PhpErrorHandler
   51 in scripts\38893.ips.php (call HM_WriteValueBoolean)
   25 in scripts\17018.ips.php (call HAS_Switch_EingangsbeleuchtungByKey)
06:54:18 | 17018 | DEBUG   | ScriptEngine         | Skript ausgeführt - Ereignis: 37889 ~ Absender: Variable
06:54:18 | 17018 | WARNING | ScriptEngine         | Ergebnis für Ereignis 37889
<br />
<b>Warning</b>:  Invalid response in <b>XXXXX\scripts\38893.ips.php</b> on line <b>50</b><br />
<br />
<b>Warning</b>:  Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte in <b>XXXXX\38893.ips.php</b> on line <b>51</b><br />

06:54:43 | 23726 | ERROR   | TimerPool            | HomeMatic Socket (KeepAlive): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
06:55:36 | 23726 | MESSAGE | HomeMatic Socket     | Einstellungen gespeichert
06:55:36 | 23726 | MESSAGE | HomeMatic Socket     | Stoppe Eventserver...
06:55:36 | 23726 | MESSAGE | HomeMatic Socket     | Stopping event dispatch thread...
06:55:36 | 23726 | MESSAGE | HomeMatic Socket     | Starte Eventserver...
06:55:36 | 23726 | MESSAGE | HomeMatic Socket     | Creating event dispatch thread...
06:55:36 | 23726 | MESSAGE | Event Control        | Wiederverbinden [HomeMatic Socket] erfolgreich
06:55:37 | 23726 | ERROR   | KernelMT             | InstanzManager: Fehler bei Instanz #23726, Meldung IM_CHANGESTATUS: Unbekannter Fehler
06:55:44 | 23726 | ERROR   | TimerPool            | HomeMatic Socket (KeepAlive): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte

Danach findet nur noch ein Stoppen und Neustarten des Eventservers statt.

Es hilft jetzt auch nicht den Haken beim Socket raus- und wieder reinzunehmen …
Erst wenn ich RaspiMatic (über die Weboberfläche) neu starte, funktioniert es wieder. … bis zum nächsten „Hänger“.

Mich interessieren zwei Dinge:

[ol]
[li]Was ist die Ursache für den Verlust der Connection und
[/li][li]Wie kann ich beim laufenden Betrieb herausfinden, ob diese Verbindung noch funktioniert? Wenn ich den Status des Socket per IPS_GetInstance abfrage erhalte ich immer 102 (was - wie ich gelesen habe - der korrekte Zustand ist.
[/li][/ol]

Danke für eure Hilfe

Meine Konfiguration:
RaspiMatic Version 2.27.8.20170620
IP-Symcon 4.3 v. 18.08.17
Verwendung der RPSLibrary (IPSComponent, IPSLogger, IPSMessageHandler)

Schau mal unter diesem Beitrag unter ‚Ähnliche Themen‘.
Ursache kann vieles sein, die Meldung dass das Ziel (RaspiMatic) die Verbindung verweigert läßt aber auch ein Problem seitens RaspiMatic schließen.

Zur Überwachung der Instanzen gibt es das Event-Control. Dieses führt dann ein Script aus und übergibt den Fehlerzustand.
Event Control — IP-Symcon :: Automatisierungssoftware

Michael

Hallo,
vermutlich stehe ich auf dem Schlauch (und wundere mich, dass kein Wasser kommt [emoji3]):
Wo kann ich „Ähnliche Themen“ finden?
Gruß

Gesendet von meinem SM-G9550 mit Tapatalk

Nicht per Tapatalk :wink:

Michael

Danke und runter vom Schlauch :slight_smile:

Hallo,
ich konnte den Fehler eingrenzen - ihn mir aber noch nicht ganz erklären.
Über die Eventsteuerung fange ich jetzt ab, wenn der Homematic Socket seinen Status verändert.
Der Wechsel auf Status 200 ereignet sich beim mir gemäss Logdatei immer, nachdem ein Funk-Bewegungsmelder mit Taster ein Ereignis ausgelöst hat.
In dem Scriptfile habe ich einen Fehler entdeckt (undefinierte Variable wegen Fehler in Gross-/Kleinschreibung).
Interessant ist aber, dass dieses Scriptfile vorher bereits viele Male ausgeführt wurde, ohne einen Einfluss auf die Verbindung zu haben …
Auffallend ist wie gesagt, dass in den letzten drei Tagen immer der Connect nach Auslösung eines Ereignisses dieses Funk-Bewegungsmelders verloren ging…
Werde das im Auge behalten, ob das Beheben des Skript-Fehlers das Problem löst.

Wenn ich die Ursache nicht zeitnah finde (WAF sinkt spürbar) würde ich gerne einen Workaround einbauen. In dem Event habe ich bereits eingebaut, dass ich benachrichtigt werde (Mail, PushNotification), wenn das Problem mehrfach auftritt (manchmal funktioniert der Re-Connect ja). Jetzt wüsste ich gerne ob nur ein Neustart des Raspimatic hilft (und wenn wie?) oder ob es noch eine „elegantere“ Lösung gibt.
Danke und Grüße