IP-Symcon hängt sich nach einigen Stunden auf bzw. funktioniert nicht mehr ri

Guten Morgen,
ich habe aktuell folgendes Problem mit IP-Symcon, aber zuerst mein aktuelles System:

IP-Symcon Version: 3.4 Stable
LiveUpdate Version: 03.11.2015 #3782
Windows 10 x64

Folgende Schnittstellen:

  • Für Z-Wave habe ich einen Raspberry mit dem Modul von Z-Wave.Me
  • Zusätzlich ist eine CCU2 von Homematic eingebunden, mit Heizungsstellventilen.

Folgendes Problem:
Nachdem ich IPS starte z.B. nach einem Serverneutstart funktionert alles einwandfrei und schaltet wie es soll.
Nach ein paar Stunden (so zwishcen 2 - 5 immer unterschiedlich) ist es mir nicht mehr möglich Schaltbefehle per Zwave abzusetzten. Diese kommen Anscheinend nicht beim Raspberry an aufgrund dessen das sich IPS aufhängt bzw. nicht mehr korrekt arbeitet. (Befehel an Homematic hab ich noch nicht gete

Den Raspberry schließe ich aus, da immer wenn ich den IPS-Server neu startet das ganze wieder für ein paar Stunden funktioniert.

Wie komme ich darauf das es an IPS liegt?
Wenn ich den IPS-Dienst über das Icon unten rechts in der Taskleiste beenden will, dann erscheint zwar die Meldung das der Dienst beendet wird, aber es lädt einfach ewig und der Task wird nicht beendet. Um den Task wirklich zu beenden muss ich über den Taskmanager gehen. Wenn ich IPS per IPS-Server neustarte oder durch das abschießend des Tasks, kann ich anschließend den Dienst auch ganz normal beenden und neu starten oder das es ewig dauer bzw. sich aufhängt. Aber das ist nur möglich in den ersten Stunden nach dem Neustart, irgendwann hängt er dann.

Da scheint sich irgendwas aufzuhängen bzw. vollzulaufen.

Das ganze lief ohne Probleme nach der Installation, alles hat einwandfrei funktioniert. Jetzt seit ca. 1er Woche ist dieses Problem aufgetrteten. In dieser Zeit wurden keine Nennenswerten Änderungen in IPS vorgenommen, lediglich 2
neue Homematic Heizungsstellantriebe sind hinzugekommen.

Hat jemand schon ein ähnliches Verhalten beobachtet bzw. Ideen für eine Lösung?

Hast du mal geschaut, an welcher Stelle er beim Beenden stehen bleibt?
Wie schaut der Debug vom ClientSocket aus? Gehen dort noch Daten durch?
Hast du evtl. mal geschaut, ob der Speicher auf dem System irgendwie voll läuft?

Ist von diesem Problem nur Z-Wave in dem Moment betroffen, oder reagieren HomeMatic auch nicht. Geht das WebFront und die Konsole?

paresy

Guten Abend paresy,
hier die benötigen Infos:

Hast du mal geschaut, an welcher Stelle er beim Beenden stehen bleibt?
–> Was meinst du damit genau? Wenn ich den Dienst beende, Lädt der Balken ewig lang aber der Dienst beendet sich nicht.

Im Debug Modus gehts nichts durch, es werden keine Aktivitäten angezeigt bzw. geloggt.
Wenn ich einen Befehl übers Frontend, über einen Button absende.

Das mit dem Speicher ist ein guter Hinweis, dort sind von 3,9 GB aber nur 1,4 GB belegt.
Ich korrigiere meine Aussage von heute früh, Homematic ist auch betroffen.

Webfrontend und Console funktionieren gehen auf ohne Fehler.
Wenn ich z.B. im Frontend einen Button klicke, lädt dieser ewig und es wird keine Aktion ausgeführt.
In Objektbaum findet auch keine aktualisierung der Variablen statt.

Bisher habe ich leider keinen heißen Tipp für dich :frowning:

Bzgl. des Beendens meinte ich das Logfile. Magst du mir die letztens Zeilen reinkopieren, bei denen er fest hängt?

Wenn du einen Button drückst und im Debug gar nichts passiert, klingt das auch sehr kurios. Denn normalerweise müsste ein TRANSMIT auf dem I/O zu sehen sein, auch wenn er danach „hängen“ sollte. Kannst du die I/O Instanz schließen und wieder öffnen? (Ich vermute, dass er dann auch stecken bleibt)

paresy

Also die Instanz bzw. die Verbindung kann ich deaktivieren und wieder aktivieren, ohne das er hängen bleibt.

Ich habe mir gerade nochmal den Debug-Modus vom Z-Wave Socket angeschaut, er log zwar etwas, aber das passiert undabhängig von meinem Buttons die eine Z-Wave aktion auslösen.
zwave_debug.png

In den Logs steht dazu nichts. Er schreibt nichts diesbezüglich rein, wenn ich den Dienst beende bzw. wenn er im beenden hängt.

Was ich gerade beobachte:
Im Objektbaum werden die Variablen nicht aktualisiert, in den Logfiles jedoch sieht man das er z.B. noch mit der CCU2 kommuniziert bzw. einkommenden bzw. ausgehen Verkehr mitloggt.

Um dir das Live anzusehen, können wir gerne einen mal einen Termin vereinbaren und ich lasse dich per TeamViewer oder so draufschauen.

Nachtrag:
Die nicht aktualisierung des Heizungsstellventils (bei dem ich nachgechaut habe) mit der CCU2 ist anscheinend nicht darauf zurückzuführen das der Server sich aufhängt, sondern das die CCU2 außer Reichweite war.

Das hat aber nichts mit dem eigentlich Problem zu tun.

Weiteres vorgehen:
Ich warte bis der Server wieder spinnt, das passiert immer nach ein paar Stunden und dann überprüfe ich ob sich die Variablen der Stellventile aktualisieren, die sich in Reichweite befinden.

Sorry für die Verwirrung bzw. für das von mir falsche nachschaun.
Sobald ich die Info habe, gebe ich hier wieder bescheid.

Update Info:
Die einzelnen Homematic Heizungstellventile senden an die CCU2 und die Daten aktualisieren sich im Objektbaum von IP-Symcon. Wenn ich aber über das Frontend oder die App einen Befehl absetzte z.B. Soll-Temperatur vom Stellventil ändern, dann dreht sich ewig der „Wartekreis“ aber es kommt nichts bei IP-Symcon an.

Folgendes habe ich gestern Abend probiert:
Ich habe die Verbindung zum Razberry und zur Homematic CCU2 getrennt und den IP-Symocon Server neu gestartet.
Hiemit wollte ich testen ob der Abstürz des Servers eventuell mit der CCU2 und dem Razberry zusammenhängt.

Erkenntnis:
Heute morgen wollte ich checken ob IP-Symcon sich wieder aufgehnängt hat.
—> Ich wollte das Frontend aufrufen habe aber eine „Out of memory“ exception erhalten.
—> Der IPS-Dienst lies sich über das IP-Symocon Icon in der Taskliste beenden, ging auch recht schnell und hat sich nicht in einer Dauerschleife aufghängt.

Eventuell hat das „out of memory“-Problem nichts mit dem anderen zu tun und ist zufällig aufgetacht.
Aber es scheint so, dass das Problem aufrtitt, wenn die CCU2 oder der Razberry am IP-Symcon Server hängt.

Weiter vorgehen:
Ich werde jetzt das ganze nochmal testen ob der Server sich auch „aufhängt“:

  1. Wenn nur die CCU2 zum IP-Symcon Server connected ist
  2. Wenn nur der Razberry zum IP-Symcon Server connected ist

Danke für dein aufwendiges Testen! Ich denke so kommen wir dem Verursacher und somit auch dem Problem schneller auf die Spur!

paresy

Weitere Erkentnisse, des Testverlaufs:

  • In der Konstellation, das nur die CCU2 am Server hängt, ist das System nicht abgestürzt bzw. hat sich nicht verhalten wie im Einganspost beschrieben.

Aktueller Test:

  • Jetzt läuft der Server aktuell nur mit dem Razberry und die CCU2 ist abgeklemmt. Mal schauen wie sich das System morgen Nachmittag / Abend verhält. (Wenn ich von der Arbeit nach Hause komme.)

Ich habe den Übeltäter gefunden, der Razberry ist schuld.
Irgendwas stört IP-Symcon so, dass es irgendwann nicht mehr mag.

Auch hatte ich mit dem Razberry heute Nacht wiederholt das Problem das er einen Befehl absetzte ohne das dieser explizit programmiert war. Er hat wieder die Rollos bei meinen Eltern im Schlafzimmer komplett nach unten gefahren, sodass keine Schlitze mehr zwischen den Lamellen waren.

Hast du ganz sicher Z-Way deaktiviert?

paresy

Hi paresy,
auf dem Razberry habe ich folgende Befehle ausgeführt:

sudo update-rc.d z-way-server remove
sudo update-rc.d zbw_connect remove
sudo reboot

Laut meinem Verständnis, sollte das reichen um den dienst zu deinstallieren / deaktiveren, richtig?

Zusäztlich habe ich auf dem Razberry noch die aktiven Prozesse mit dem Befehl ps überprüft, dort konnte ich keinen aktiven Prozesse dafür finden.

Oder habe ich etwas vergessen bzw. was sollte ich noch machen?

Das komische ist, das es Anfangs problemlos lief, keinerlei Problem und jetzt plöztlich seit drei Wochen diese Probleme. :frowning:

Update:
Also der Razberry war seit gestern Abend nicht mehr am Symcon-Server.
Gerade kome ich heim, will etwas schalten --> Symcon schon wieder abgestürzt bzw. in undefiniertem Zustand.

Jetzt schließe ich den Razberry auch als Problemquelle aus, es liegt wohl leider wirklich an IPS.

Update:
Ich habe gerade mit paresy fast 60 Minuten telefoniert, wir haben uns das Problem gemeinsam angesehen.

Das Problem lag wahrscheinlich an einer programmierten Dauerschleife, die ich so auf den ersten Blick, nicht als solche gesehen habe. Dadurch ist das System quasi vollgelaufen. (Nicht am Arbeitsspeicher erkennbar.)

Wir sind so verblieben, das ich die Scripte / Steuerung jetzt abändere, das ganze anschließend noch einmal genau beobachte und dann Rückmeldung gebe.

In ein paar Tagen gebe ich dann noch einmal Rückmeldung an dieser Stelle.

An dieser Stelle schon einmal vielen Dank an paresy und das IPS-Team.

Vielleicht für den ein oder anderen Hilfreich, hier mein fehlerhaftes bzw. dauerschleifen-Script, ein Beispiel wie man es nicht machen sollte:


<?

$status_heizperiode = GetValueBoolean(12116 /*[Webfront\Robert\Heizung\Einstellungen\Heizperiode]*/);
$status_urlaubsmodus = GetValueBoolean(29614 /*[Webfront\Robert\Heizung\Einstellungen\Urlaubsmodus]*/);



if ($status_heizperiode == true && $status_urlaubsmodus == false)
	{
	  IPS_SetEventActive(35661 /*[Webfront\Robert\Heizung\Küche\Phase\]*/, true);
	  SetValueInteger(30158 /*[Webfront\Robert\Heizung\Küche\Phase]*/,0);
	  IPS_SetEventActive(42507 /*[Webfront\Robert\Heizung\Wohnzimmer\Phase\]*/ , true);
	  SetValueInteger(26915 /*[Webfront\Robert\Heizung\Wohnzimmer\Phase]*/,0);
	}
else
	{
	  IPS_SetEventActive(35661 /*[Webfront\Robert\Heizung\Küche\Phase\]*/, false);
	  SetValueInteger(30158 /*[Webfront\Robert\Heizung\Küche\Phase]*/,3);
	  IPS_SetEventActive(42507 /*[Webfront\Robert\Heizung\Wohnzimmer\Phase\]*/ , false);
	  SetValueInteger(26915 /*[Webfront\Robert\Heizung\Wohnzimmer\Phase]*/,3);
	}





$wert_absenktemperatur = GetValueInteger(45333 /*[Webfront\Robert\Heizung\Einstellungen\Absenktemperatur]*/);

$status_phase_kueche = GetValueInteger(30158 /*[Webfront\Robert\Heizung\Küche\Phase]*/);
$status_phase_wohnzimmer = GetValueInteger(26915 /*[Webfront\Robert\Heizung\Wohnzimmer\Phase]*/);
$status_phase_bad = GetValueInteger(59198 /*[Webfront\Robert\Heizung\Bad\Phase]*/ );
$status_phase_kinderzimmer = GetValueInteger(16138 /*[Webfront\Robert\Heizung\Kinderzimmer\Phase]*/ );


if ($status_phase_kueche == 0)
	{
		$temperaturwert = GetValueInteger(54876 /*[Webfront\Robert\Heizung\Küche\Soll-Temperatur]*/);
		HM_WriteValueFloat(52880 /*[Devices\Robert\Heizung\Küche\CLIMATECONTROL_RT_TRANSCEIVER]*/, 'SET_TEMPERATURE', $temperaturwert);
	}
else
	{
		HM_WriteValueFloat(52880 /*[Devices\Robert\Heizung\Küche\CLIMATECONTROL_RT_TRANSCEIVER]*/, 'SET_TEMPERATURE', $wert_absenktemperatur);
	}


if ($status_phase_bad == 0)
	{
		$temperaturwert = GetValueInteger(37883 /*[Webfront\Robert\Heizung\Bad\Soll-Temperatur]*/ );
		HM_WriteValueFloat(11369 /*[Devices\Robert\Heizung\Bad\CLIMATECONTROL_RT_TRANSCEIVER]*/ , 'SET_TEMPERATURE', $temperaturwert);
	}
else
	{
		HM_WriteValueFloat(11369 /*[Devices\Robert\Heizung\Bad\CLIMATECONTROL_RT_TRANSCEIVER]*/ , 'SET_TEMPERATURE', $wert_absenktemperatur);
	}


if ($status_phase_kinderzimmer == 0)
	{
		$temperaturwert = GetValueInteger(38068 /*[Webfront\Robert\Heizung\Kinderzimmer\Soll-Temperatur]*/ );
		HM_WriteValueFloat(19768 /*[Devices\Robert\Heizung\Kinderzimmer\CLIMATECONTROL_RT_TRANSCEIVER]*/ , 'SET_TEMPERATURE', $temperaturwert);
	}
else
	{
		HM_WriteValueFloat(19768 /*[Devices\Robert\Heizung\Kinderzimmer\CLIMATECONTROL_RT_TRANSCEIVER]*/ , 'SET_TEMPERATURE', $wert_absenktemperatur);
	}
?>

Screenshot:
ereigniss.png

Durch disen Quellcode in Zusammenspiel mit dem Ereigniss ruft sich das grün hinterlegt Script dauerhaft in einer Endlosschleife auf.

Hallo
ich habe ein Ip symcon auf der Symbox am laufen
ab und zu kann ich sie dann per App oder auch per Connect nicht mehr erreichen
das komische ist wenn das passiert gehe ich per teamviewer auf ein Rechner und sobald ich dann darüber das Weboberfläche öffne sehe ich das IPS am aufstarten ist und kurz danach kommt „IP-Symcon wurde gestartet“ und der Zugriff per APP oder connect geht wieder
es scheint als ob IPS nicht anstarten konnte , sich dies dann aber selbst erledigt sobald ich per Brower darauf zugreifen möchte

kennt wer das Problem und wie löst man das

gruss Roman

Das ist meistens ein instabiles Netzwerk oder Internetleitung. Mach mal einen Dauerping auf die SymBox und schau mal ob Pakete verloren gehen.

paresy

Also die Ping Zeiten varieren um wenige ms habe aber auch ausreiser gesehen von bis 150
Schnitt ist knapp 10ms
Verlorene Pakete aber nicht

Gesendet von iPhone mit Tapatalk

Ich kann ansonsten noch anbieten, dass wir auf der SymBox eine Debugger Session aktivieren, um der Ursache auf die Spur zu kommen.
Ruf dazu am besten mal im Office an :slight_smile:

paresy