EE startet gelegentlich neu

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
firefox_i
Beiträge: 221
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

EE startet gelegentlich neu

Beitrag von firefox_i » 22.01.2019, 08:13

Hallo zusammen,
seit Kurzem habe ich im INIT Makro das Versenden einer Mail drin.
Somit bekomme ich den Neustart der EE mit.

Ich hatte jetzt in den letzten Wochen einige Male einen Neustart.

Kann ich irgendwelche Logs einschalten um rauszubekommen was hier der Grund ist, oder ist das unter "ja ist halt so und lebe damit" zu verbuchen?
Gruß Sven

Produktivsytem mit CCU3 (Raspberrymatic) , knapp 80 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit CCU3 (Raspberrymatic) , ca. 40 Komponenten

Hardwareentwickler und bisschen Ahnung von Programmierung.

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 startet gelegentlich neu

Beitrag von Familienvater » 22.01.2019, 08:48

Hi,
firefox_i hat geschrieben:
22.01.2019, 08:13
Kann ich irgendwelche Logs einschalten um rauszubekommen was hier der Grund ist
Nein...
firefox_i hat geschrieben:
22.01.2019, 08:13
oder ist das unter "ja ist halt so und lebe damit" zu verbuchen
Das ist inzwischen meine Philosophie, je nach Sonnenaktivität, Erdstrahlung und anderer unbekannter Faktoren startet meine EE nach ca. 3 bis spätestens nach ca. 14 Tagen auch neu...

Wenn man Dinge wie eine Division by 0 oder eine echte Endlosschleife ausschließen kann, und sich der Makro-Code 110% an die Syntax hält, dann geht es nicht besser. Alles, was eine "Ausnahme" auslöst, wie eben z.B. ein dividieren durch 0 lassen die ExecEngine wortlos neu starten.

Der Familienvater

firefox_i
Beiträge: 221
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: EE startet gelegentlich neu

Beitrag von firefox_i » 22.01.2019, 09:00

Danke für die schnelle Antwort,
naja, also eine Division durch 0 kann ich glaub ausschließen (schau aber heute abend aber nochmal überall rein), denn ich rechne relativ wenig rum.
Aber an eine Division erinner ich mich eigentlich nicht.

Was mir auch aufgefallen ist:
Ich schaffe es nicht im INIT Makro einen Wert an die 16-fach LED Anzeige zu übertragen.
Seltsam....
Soll ich deshalb einen neuen Thread aufmachen, was meinst?
Gruß Sven

Produktivsytem mit CCU3 (Raspberrymatic) , knapp 80 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit CCU3 (Raspberrymatic) , ca. 40 Komponenten

Hardwareentwickler und bisschen Ahnung von Programmierung.

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 startet gelegentlich neu

Beitrag von Familienvater » 22.01.2019, 09:47

Hi,

ich würde ein sauberes "Staging" aus einem einzigen Init-Makro heraus machen (und nicht viele Init-Makros nutzen, da ist die Reihenfolge nicht unbedingt deterministisch bzw. logisch), und von dem einem Init-Makro z.B. ein weiteres Makro in die "Ausführungswarteschlange" stellen, was dann die LED16 initialisiert, und in dem Makro für die LED16 ggf. nochmal Wartezeit am Anfang einbauen, falls z.B. eine automatische Variablensicherung eingelesen wurde, könnte die ggf. in einem anderen Thread mit leichten Verzögerungen sonst kontraproduktiv wirken, weil Du im Makro an sagst, und aus der Variablensicherung kommt Aus, und da ist nicht ganz klar, wer gewinnt. Früher hat auf jeden Fall das An aus dem Init gewonnen, aber ich habe das Gefühl, das es nicht mehr immer so ist.

Bei mir schaue ich zuerst, das die "Umgebung eingerichtet wird" -> meine Settings eingelesen werden, dann wird mein Logging im nächsten Schritt initialisiert, und ist danach bereit zum Loggen, dann kommt ggf. eine Benachrichtigung per Mail/PushOver, das die Ausführung neu gestartet wurde, dann wird meine "Variablensicherung" wiederhergestellt, und z.B. irgendwelche Objekt-Makros wieder auf Warte-Anweisungen gehängt, damit die bei ausbleibenden Events irgendwas tun, und dann frage ich absichtlich und gezielt Zustände ab, oder schalte absichtlich Dinge an/aus.

Der Familienvater

firefox_i
Beiträge: 221
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: EE startet gelegentlich neu

Beitrag von firefox_i » 22.01.2019, 11:20

Hallo FV,
danke für die Anregung.

Ich habe tatsächlich aktuell nur ein einiziges INIT Makro.
In den Projektparametern habe ich "Aktuelle Werte der ExecEngine speichern/laden angehakt.
Ich hab ehrlich gesagt erwartet, dass diese Restaurieerung hier nicht kontraproduktiv ist und dass ein Wert den ich im INIT an die Hardware schicke auch tatsächlich übernommen wird.

Aber scheinbar funktioniert das da irgendwie nicht.
Aber das mit der Wartezeit probiere ich da mal aus.

Gruß
Sven
Gruß Sven

Produktivsytem mit CCU3 (Raspberrymatic) , knapp 80 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit CCU3 (Raspberrymatic) , ca. 40 Komponenten

Hardwareentwickler und bisschen Ahnung von Programmierung.

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 startet gelegentlich neu

Beitrag von Familienvater » 22.01.2019, 12:16

Hi,

wenn die EE abfliegt, dann gibt es keine Variablensicherung, die eingelesen werden könnte, weil die ja nur bei einem sauberen Shutdown der EE geschrieben wird (oder man müsste das zyklisch machen, aber dann darf die Sicherung nicht älter als 1h? sein, sonst wird die auch automatisch ignoriert).
Das Problem dabei ist aber, das sich ein automatischer Neustart von einem geregelten Shutdown und dann Neu Starten unterscheidet.

Was mir in dem Zusammenhang einfällt:
Es kann sein, das nach dem automatischen Neustart der EE die Verbindung zu den Schnittstellenprozessen nicht immer zu 100% sauber hochkommt, dann kommen keine Events mehr, das Schalten müsste in dem Fall aber trotzdem funktionieren! Das ist aber angeblich ein Problem, was nur ich habe...

Der Familienvater

firefox_i
Beiträge: 221
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: EE startet gelegentlich neu

Beitrag von firefox_i » 22.01.2019, 12:23

Hmm okay,
das klingt als ob ich meine Umgebung nochmal etwas erweitern sollte und die Änderungen manuell sichern.
Schadet bestimmt nicht nehm ich mal an ;-)
Hast Du mir da nen heißen Tip aus deiner erfahrung, wie man das am besten angeht ?
Einfach mit SCHREIBEDATEI/LESEWERTEDATEI und das eben zyklisch oder bei Änderungen nehm ich an?


Also den Effekt, dass ich die LED Werte nciht schrieben konnte hatte ich bei einem geordneten Neustart (also nach dem aktualisiern der Programmierung z.B.).
Ne Idee woran das liegen könnte, dass da nix ans Display übermittelt wurde?

Danke schonmal
Gruß Sven

Produktivsytem mit CCU3 (Raspberrymatic) , knapp 80 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit CCU3 (Raspberrymatic) , ca. 40 Komponenten

Hardwareentwickler und bisschen Ahnung von Programmierung.

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 startet gelegentlich neu

Beitrag von Familienvater » 22.01.2019, 13:02

Hi,

kommt drauf an... Ich schreibe z.B. nicht auf einen Flash-Speicher, sondern habe an der Stelle des USB-Sticks ein NFS-Share gemounted.

Ich habe auch ein "riesiges" Makro, was alle Variablen mit Inhalt rausschreibt, die mir wichtig sind, und das Makro wird von den unterschiedlichsten Stellen getriggert, wobei da wieder jeder Aufruf vorher schaut, das eine mindest-Dauer seit dem letzten Schreiben vergangen ist (ich will nicht nach jedem Pieps n-Variablen rausschreiben, aber wenn das letzte Schreiben z.B. länger als 15 min her ist, dann wäre es schon mal wieder erlaubt), es gibt auch "erzwungenes" rausschreiben, wenn sich irgendeine wichtige Variable ändert, z.B. ein virtueller Options-Schalter ändert seinen Zustand, dann soll der sich auch bei einem automatischen Neustart in 10 Sekunden schon wieder auf den neuen Zustand initialisieren. Ich habe da aber insgesamt 3 verschiedene Dateien, in die ich solche Zustände sichere, eine ist nur für solche virtuellen Schalter, dann gibt es die mit den Variableninhalten, und eine mit Verbräuchen/Betriebsstundenzählern etc.

Wenn etwas bei mir nicht tut, dann baue ich da zuerst Logging-Ausschriften drumherum, dann weiß ich, das das Makro davor und auch nach der Zeile noch lief, dann schaue ich ggf. ins eh extensiv loggende Syslog vom rfd, ob zu dem Zeitpunkt was vom rfd an das Gerät gesendet werden sollte, und wenn ich dann immer noch nicht schlauer bin, dann mache ich sogar zur Not einen tcpdump auf die Kommunikation der EE mit den Schnittstellenprozessen, ob da entsprechend ein SetValue ausgeführt wurde. Damit sind meine Möglichkeiten des Debuggens dann am Ende :-)

Was natürlich sein kann, das die EE glaubt, die LED hat schon den Zustand, dann spart die sich das Funken bzw. das SetValue an den rfd, das würde ich aber in meinen als ersten Schritt eingebauten Logging-Ausschriften sehen, weil ich mir bei soetwas regelmäßig den Zustand vorher und nacher ausgeben lasse.

Der Familienvater

firefox_i
Beiträge: 221
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: EE startet gelegentlich neu

Beitrag von firefox_i » 22.01.2019, 19:52

Familienvater hat geschrieben:
22.01.2019, 13:02

Was natürlich sein kann, das die EE glaubt, die LED hat schon den Zustand, dann spart die sich das Funken bzw. das SetValue an den rfd, das würde ich aber in meinen als ersten Schritt eingebauten Logging-Ausschriften sehen, weil ich mir bei soetwas regelmäßig den Zustand vorher und nacher ausgeben lasse.

Der Familienvater
Nabend,
eben um das zu checken hab ich versucht eine "0" rein zuschreiben um alle LEDs aus zu machen...aber auch das hat er nicht gefressne.

Ich werden mal testen und berichten.

Aktuell würde ich die Sicherungen noch(!) auf die SD machen.
Ich hab aber eh vor, das ganze von der CCU2 auf nen Raspi zu schieben und dort dann ne SSD als Medium anzuhummeln.
Das mit der NFS Share wäre auch ne Idee....
Hast mir nen Tip wo ich nachlesen kann wie ich das bewerkstellige?
Gruß Sven

Produktivsytem mit CCU3 (Raspberrymatic) , knapp 80 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit CCU3 (Raspberrymatic) , ca. 40 Komponenten

Hardwareentwickler und bisschen Ahnung von Programmierung.

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 startet gelegentlich neu

Beitrag von Familienvater » 22.01.2019, 20:15

Hi,

steht hier wahrscheinlich auch irgendwo in den tiefen des Forums, ansonsten google oder andere Suchmaschinen...

Der Familienvater

Antworten

Zurück zu „homeputer CL“