LCN Client Socket Fehler auf Raspberry 4

Hallo,

ich habe Symcon 6 von Windows auf einen Raspi 4 (Standard Raspberry OS) migriert. Seit dem stürzt der LCN Client Socket immer ab. Er läuft nach nem Reboot ein paar Tage und kann sich dann nicht mehr auf die LCNPCHK verbinden. Der LCNPCHK Service ist aber da. Mit einer LCN PRO läuft die Verbindung auf die PCHK. Wenn ich den LCN Client Socket deaktiviere und dann wieder aktivierte geht es ein paar Stunden. Dann tritt der Fehler wieder auf. Die Verbindung ist per IP loopback. Im Forum habe ich gesehen, dass es auf dem Rapsi immer mal wieder Socket Probleme gibt. Nur eine Lösung habe ich nicht wirklich gefunden. Hat jemand eine Idee?

Vielen Dank.
Christian

Welche Fehlermeldung kommt denn im Log? eigentlich sollte IP-Symcon den Abbruch erkennen und automatisch wiederherstellen.

paresy

Leider nicht viel. Die letzte Meldung aus dem Log, die ich für das LCN Socket Objekt gefunden habe ist: „11/01/2021 12:30:00 AM | 23100 | WARNING | Client Socket | Error reading: End of file“

Kann ich das Loglevel noch erhöhen?

Grüße
Christian

Das bedeutet normalerweise, dass die Verbindung zur Gegenseite abgebrochen ist. Prüf mal wie of diese Fehlermeldung kommt. Und schau mal, ob ggf. der PCHK Dienst abstürzt und automatisch neu gestartet wird.

paresy

Im Log steht nichts. Der PCHK Dienst schreibt aber auch fast keine Logs. Ich dachte eigentlich, dass sich der Socket automatisch neu verbindet. Macht er aber irgendwie nicht. Gibt es eine Möglichkeit per Script den Socket zu deaktivieren und wieder zu aktivieren und den Fehler auszulesen? Oder gibt es System Settings auf dem Raspi die so was beeinflussen können? Auf Windows hatte ich nie das Problem, dass der Socket nicht neu verbindet.

Danke.

Grüße
Christian

Ich habe jetzt ein kleines Script als workaround gebaut:

$socket_id = IPS_GetInstance(23100);

//    100 => 'module base status',
//    101 => 'module is being created',
//    102 => 'module created and running',
//    103 => 'module is being deleted',
//    104 => 'module is not beeing used',
//    200 => 'instance error',
//    201 => 'instance could not be created'

if ($socket_id['InstanceStatus'] != 102)
{
    print "LCN Connection Status: ".$socket_id['InstanceStatus']."\n";

    IPS_SetConfiguration(23100, '{"Open":false,"Host":"127.0.0.1","Port":4114,"UseSSL":false,"VerifyPeer":true,"VerifyHost":true}');
    IPS_ApplyChanges(23100);

    IPS_SetConfiguration(23100, '{"Open":true,"Host":"127.0.0.1","Port":4114,"UseSSL":false,"VerifyPeer":true,"VerifyHost":true}');
    IPS_ApplyChanges(23100);

    print "LCN Connection Status: ".$socket_id['InstanceStatus']."\n";
}
else
{
    print "LCN Connection Check OK\n";
}

Vielleicht gibt es aber noch eine richtige Lösung. Wäre super.

Vielen Dank.

Grüße
Christian

Hallo Christian,
ich habe IPS und PCHK auf einem Tinkerboard und RaspberryPi2 (Test-Spielsystem) am laufen.
Bei beiden habe ich nicht deine Probleme, läuft seit Jahren rund.
Ich nutze aber das" Raspberry Pi OS Lite" ohne den ganzen X Kram.

Welches du hoffentlich nicht zyklisch ausführst, sondern über das Event-Control.
Dann kannst du auch die erste Zeile sparen, weil der Zustand in $_IPS['STATUS'] steht.
Leider kannst du aber den Socket jetzt nie mehr deaktivieren. Darum besser auf den Wert >=200 prüfen (Fehler).
Michael

Danke für den Tipp. Hab es gleich so umgebaut.

Mich würde nur interessieren, was das eigentliche Problem ist. Der Socket sollte ja automatisch einen Reconnect machen.

Grüße
Christian

Definitiv. Wird der Socket denn „rot“ angezeigt, wenn das Problem gesteht? Hast du mal geprüft, ob zwischendurch der PCHK Dienst abstürzt? Denn das müsste die eigentlich Ursache sein, warum die Verbindung abbricht. Warum Sie jedoch nicht sauber wieder aufgebaut wird - das scheint noch ein Symcon Problem zu sein.

paresy

Moin,
also auch bei mir (und meinen Kunden) habe ich keine solche Probleme - es sei denn …

… ein defektes PKU/E ist die Ursache. Die PCHK meldet dann zwar auch normalerweise ‚keine Verbindung zum LCN‘, je nach Defekt könnte die Meldung aber auch nicht kommen (hatte ich auch schon mal).

Grüße, Uwe

Hallo,

Ja, der Socket ist „rot“.

Ich habe auch noch etwas rumgetestet. Wenn ich den PCHK Dienst manuell kille, dann wird der Socket wie erwartet auch „rot“. Mit dem gleichen Log „End of file“. Nach einem Neustart des PCHK Dienstes verbindet er sich aber auch nicht wieder. Erst manuelles deaktivieren und aktivieren oder mein Script verbindet neu.

Danke.

Grüße
Christian

Hallo Uwe,

die PCHK geht nur im Symcon auf dem Raspi nicht. Mit der LCN-PRO gibt es keine Probleme. Daher glaube ich nicht, dass es am LCN Modul liegt. Unter Windows gab es das Problem nicht.

Grüße
Christian

Moin Christian,
wenn dem so ist kann das Problem nur noch im Betriebsystem des RasPi4 liegen.
Ich muss gestehen, dass ich seit das PKE verfügbar ist (der 4er kam kurz danach) nur noch die Kombination mit SymBoxen verwende - ich bin also beim PI3 „hängen“ geblieben.

Grüße, Uwe

Die LCN-Pro ist ja leider nur eine Momentaufnahme. Der PCHK Dienst wird wahrscheinlich in der Nacht „sterben“ und dann automatisch neu gestartet. Durch das Problem, dass IP-Symcon sich leider nicht neu verbindet (das werde ich prüfen) bleibt der Fehler bestehen. Die eigentliche Ursache wird aber sein, dass der PCHK Dienst irgendwann abstürzt. Oder hast du bei dir die LCN-Pro 24/7 an? :smiley:

paresy

Hi,

das ist natürlich richtig.

Ich habe aber nochmal die Logs auf dem Raspi durchsucht. Es gibt nur einen Start Eintrag als ich den Service wirklich gestartet habe.
/var/log/daemon.log:Nov 2 19:05:31 symcon systemd[1]: lcnpchk.service: Succeeded.
/var/log/daemon.log:Nov 2 19:06:27 symcon lcnpchk[8370]: Starting LCN pchk: lcnpchk.
/var/log/daemon.log:Nov 2 19:06:27 symcon lcnpchk[8370]: .

Es sind keine weiteren Fehler oder ein Neustart im Log vorhanden.

Der Symcon Socket wurde durch mein Script allein diese Nach ca. 15 Mal neu verbunden.

Grüße
Christian