RaspberryMatic 3.79.6.20250118 – Neue Version

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 12944
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 793 Mal
Danksagung erhalten: 2830 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von Baxxy » 04.02.2025, 21:03

ivo-int hat geschrieben:
04.02.2025, 20:42
Ist das nur bei mir so?
Bei mir zumindest nicht.
RM_HM_DV.JPG
Vielleicht hängt das mit den nachgebauten Geräten zusammen, was ist den PIR_Buero?
Laut SN kein original HM-Gerät. :wink:

ivo-int
Beiträge: 317
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 40 Mal
Danksagung erhalten: 17 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von ivo-int » 04.02.2025, 21:24

Baxxy hat geschrieben:
04.02.2025, 21:03
Vielleicht hängt das mit den nachgebauten Geräten zusammen, was ist den PIR_Buero?
Laut SN kein original HM-Gerät. :wink:
Ja, das ist ein nachgebauter "HM-Sec-MDIR".

Sorry, ich muss mich korrigieren. Bei einigen sind die Profile noch vorhanden, auch bei Nachgebauten. Was kann ich weiter überprüfen?
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

jp112sdl
Beiträge: 12291
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 872 Mal
Danksagung erhalten: 2198 Mal
Kontaktdaten:

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von jp112sdl » 04.02.2025, 21:33

Baxxy hat geschrieben:
04.02.2025, 21:03
Vielleicht hängt das mit den nachgebauten Geräten zusammen
Die WebUI macht da keinen Unterschied, so lange es sich um ein natives Model aus den hauseigenen RF-Types handelt

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

ivo-int
Beiträge: 317
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 40 Mal
Danksagung erhalten: 17 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von ivo-int » 04.02.2025, 22:21

Ich habe mit SDV 4 nochmals alles überprüft. Keine Fehler gefunden.

Was kann ich noch überprüfen?
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

Benutzeravatar
Baxxy
Beiträge: 12944
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 793 Mal
Danksagung erhalten: 2830 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von Baxxy » 05.02.2025, 13:32

ivo-int hat geschrieben:
04.02.2025, 22:21
Was kann ich noch überprüfen?
Bei dem Thema muss ich leider passen, ich habe keinen Plan unter welchen Bedingungen da die korrekten Profile angeboten werden oder eben nicht.

Benutzeravatar
Baxxy
Beiträge: 12944
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 793 Mal
Danksagung erhalten: 2830 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von Baxxy » 05.02.2025, 14:29

Kleines Update zu den Programmen die nach einiger Zeit "nicht mehr funktionieren".

Wie schon vermutet wurde sind das leider Nebenwirkungen der neuen ReGa wenn System.Exec() genutzt wird.
  • das Problem tritt sporadisch auf wenn man System.Exec() nutzt
  • die Chance betroffen zu sein steigt mit der Anzahl der System.Exec() - Aufrufe
Ich habe mal spaßeshalber alle 9s einen System.Exec() mit Output gemacht der ins Syslog geloggt wird. Im bisher schlechtesten Fall war die Programmabarbeitung ca. 5Min nach Zentralenstart nicht mehr funktional.
  • ob es einen Unterschied macht ob man System.Exec() mit Output oder "ohne Output und in den Hintergrund schicken" nutzt habe ich nicht getestet
Sehen ob man betroffen ist kann man recht einfach mittels top auf der Konsole.
Weil ich es bunt schöner finde und der output sich viel besser sortieren und filtern lässt nutze ich htop aus den hm-tools.
RM96_ReGa_Zombies_1.JPG
1 ist der normale ReGaHss - Prozess
2 ist ein ReGaHss - Zombie - Prozess

Bei der Ausführung von System.Exec() wird ein sogenannter "exec-child" geforkt:

Code: Alles auswählen

Feb  5 14:06:54 RM-Test-VM-96 local0.debug ReGaHss: Verbose: forking new exec-child (bg=0): '/bin/sh -c 'echo "load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]" | /bin/tclsh'' [ExecProcess():iseDOMpersist.cpp:395]
Ab und an schafft es die ReGa dann nicht den exec-child zu entsorgen:

Code: Alles auswählen

Feb  5 14:06:54 RM-Test-VM-96 local0.debug ReGaHss: Verbose: exec-parent pid: 1868, exec-child pid: 12148, ppid: 1 [ExecProcess():iseDOMpersist.cpp:498]
Feb  5 14:06:57 RM-Test-VM-96 local0.debug ReGaHss: Verbose: exec-child (PGID: 12148) doesn't exist anymore, cleaning up [ExecTimeoutHandler():iseDOMpersist.cpp:341]
Zurück bleibt der exec-child dann als ReGaHss - Zombie - Prozess.
Sobald man auch nur einen ReGaHss - Zombie - Prozess hat werden keine DANN-Aktionen aus den Programmen mehr ausgeführt!
Wenn ich den ReGaHss - Zombie - Prozess kille läuft alles wieder normal weiter.

Summa summarum ist es nicht empfehlenswert die aktuelle Version zu benutzen wenn man in Scripten System.Exec() - Aufrufe, egal welcher Art, nutzt. Kann gut gehen, muss aber nicht.
Die ReGa 245 der Vorversion zeigt diese Probleme nicht.

Benutzeravatar
jmaus
Beiträge: 10183
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 509 Mal
Danksagung erhalten: 2121 Mal
Kontaktdaten:

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von jmaus » 05.02.2025, 14:44

Baxxy hat geschrieben:
05.02.2025, 14:29
Summa summarum ist es nicht empfehlenswert die aktuelle Version zu benutzen wenn man in Scripten System.Exec() - Aufrufe, egal welcher Art, nutzt. Kann gut gehen, muss aber nicht.
Die ReGa 245 der Vorversion zeigt diese Probleme nicht.
Und weiterer Hinweis meinerseits zu dem Problem: Ich bin da gerade dran, da ich dank Baxxy nun in einer Testumgebung das gleiche reproduzierbar hier habe und damit sich das Problem dann eingrenzen lassen sollte.
RaspberryMatic 3.79.6.20241122 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
Baxxy
Beiträge: 12944
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 793 Mal
Danksagung erhalten: 2830 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von Baxxy » 05.02.2025, 15:27

Noch ein paar Nebendetails:
Ich triggere mein Testprogramm mit dem Zeitmodul alle 9s. Konnte bisher noch keine Aussetzer damit feststellen.
Nur so als Info weil ja gerne mal gesagt wird zu kleine Zeitspannen sind zu meiden. :wink:

Das Testscript beinhaltet 2 System.Exec() - Aufrufe. 1x mit Output, 1x mit "in den Hintergrund".
Ich ballere also grob 12x System.Exec() pro Minute raus.

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("/bin/sh -c '" # 'echo "load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]" | /bin/tclsh' # "'", &stdout, &stderr);
WriteLine(stdout);
system.Exec ('logger -t BX-Debug -p user.debug -- "'#stdout#'" &');
Vom Prinzip ist es das Script das der ioBroker im ReGa-Adapter nutzt wenn man unter "Synchronisiere" den DutyCycle angehakt hat.
Ausgeführt wird's dann entsprechend dem konfigurierten "Intervalle (s)".

Benutzeravatar
Baxxy
Beiträge: 12944
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 793 Mal
Danksagung erhalten: 2830 Mal

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von Baxxy » 07.02.2025, 15:33

Weiteres Update:
Jens hat den Fehler in der ReGa gefunden und beseitigt.
Diese ReGa läuft in meinem Testsystem seit gestern morgen mit dem obigen Testscript wobei ich den Zyklus noch auf 5s verringert habe.
(also etwa 1440 System.Exec() Aufrufe pro Stunde)

Stand jetzt, also ca. 1,5 Tage kein einziger Zombie.

Dürfte dann im nächsten Nightly drin sein.

Benutzeravatar
frizzle
Beiträge: 13
Registriert: 05.01.2017, 13:25
System: Alternative CCU (auf Basis OCCU)
Wohnort: Paderborn
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: RaspberryMatic 3.79.6.20250118 – Neue Version

Beitrag von frizzle » 07.02.2025, 16:53

Prima!
Wie und wann kommt man an das Nightly ran?

Antworten

Zurück zu „RaspberryMatic“