EE aus dem Projekt heraus neu starten geht nicht

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

EE aus dem Projekt heraus neu starten geht nicht

Beitrag von Familienvater » 09.04.2017, 17:19

Hi,

da ja die EE unregelmäßig abschmiert, dann zwar automatisch neu startet, aber bei mir läuft die nach einem automatischen Neustart nicht richtig, die hat dann teilweise keine Verbindung zum rfd oder zum hs485d, irgendwo hat die Probleme mit ihren Sockets, das die vom letzten Mal noch nicht wieder richtig freigegeben sind, oder sowas.
Also habe ich eine Erkennung in das Init des Projekts gemacht, ob die EE "gewollt" und sauber gestartet wurde, oder ob die nach einem Crash von alleine wieder hochkommt, und wenn das ein automatischer Neustart war, dann soll sich das Projekt selbst den Stecker ziehen und die Ausführung neu starten.
Erster Versuch:
/etc/config/rc.d/homeputer restart per startprogramm aufzurufen, funktioniert nicht gescheit, ich habe das Gefühl, das durch das Aufrufen aus dem EE-Prozess heraus der Neustart als Child-Prozess passiert, es gibt auf jeden Fall die gleichen Probleme, die Komunikation der EE funktioniert danach nicht richtig.
Also habe ich mir ein Shell-Script geschrieben, was ein weiteres Shell-Script per & "forked", und der neue "Prozess" macht dann den Restart, das funktioniert aber auch nicht gescheit aus der EE heraus, da sind auch wieder Kommunikationsprobleme der EE vorhanden. Führe ich das restart-Script selbst auf der Konsole aus, ist alles bestens, die EE funktioniert so wie gewünscht.

Mir fallen noch diverse weitere Spielarten ein, die einfachste wäre sicherlich ein WebUI-Programm, was per virtueller Taste ausgelöst wird, und dann aus dem Rega-Prozess heraus den Neustart der EE anleiert (wenn die Kommunikation EE <-> rfd nach dem automatischen Neustart zuverlässig funktionieren würde)...
Oder ein http-Request aus der EE heraus auf den 8181er Port, um darüber per Remote hm-Script den Neustart anzustossen...
Oder von der CCU2 per SSH "remote" ein Kommando auf der CCU2 ausführen, das die EE neu startet...
Oder eine Datei im Dateisystem erstellen, und per cronjob schaut ein script alle 10s, ob es die Datei gibt, und macht dann den Restart...

Ich habe mir ja inzwischen schon ein Makro im Projekt eingebaut, was die EE zuverlässig crashen läßt (ruft sich einfach selbst rekursiv auf), damit man das öfter und gezielter testen kann, als nur zufällig alle 10-14 Tage.

Hat da einer der Linux-Guru's noch eine einfachere Idee, wie sich die EE selbst starten könnte?

Der Familienvater

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: EE aus dem Projekt heraus neu starten geht nicht

Beitrag von Familienvater » 09.04.2017, 17:40

Hi,

also über ssh scheint es zu funktionieren, was für ein Krampf...
Dann heißt es jetzt: warten, ob es im Ernstfall auch funktioniert.

Falls trotzdem jemand eine einfachere Idee hat...

Der Familienvater

ubecker
Beiträge: 569
Registriert: 31.01.2014, 22:53
Wohnort: Duisburg

Re: EE aus dem Projekt heraus neu starten geht nicht

Beitrag von ubecker » 09.04.2017, 23:38

Familienvater hat geschrieben:Hi,

/etc/config/rc.d/homeputer restart per startprogramm aufzurufen, funktioniert nicht gescheit, ich habe das Gefühl, das durch das Aufrufen aus dem EE-Prozess heraus der Neustart als Child-Prozess passiert, es gibt auf jeden Fall die gleichen Probleme, die Komunikation der EE funktioniert danach nicht richtig.
Hi, bin zwar nicht der Linux Profi, aber in dieser Datei sind die Kommandos für den restart auskommentiert.
gruß Udo

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: EE aus dem Projekt heraus neu starten geht nicht

Beitrag von Familienvater » 09.04.2017, 23:52

Hi,

über die WebUI ist das bei "Operations" inaktiv bzw. fehlt, aber als Parameter-Option ist es vorhanden, das funktioniert von der Kommandozeile auf jeden Fall...

Habe übrigens dann noch mal einen extra Neustart der EE gebraucht, weil auf einmal die Uhr 2 Stunden innerhalb der EE nachging, nach einem Neustart passt die Uhrzeit wieder, ohne das an der EE oder am Projekt was geändert wurde.

Dabei kommt mir gerade der Gedanke, ob das ein Problem mit unseren Neustarts sein könnte, wenn die Uhrzeit so gravierend springen kann, ob dann ein Watchdog sagt, sicherheitshalber Neustarten?

Der Familienvater

Antworten

Zurück zu „homeputer CL“