Geschwindigkeit Rega Scripte

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

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

Re: Geschwindigkeit Rega Scripte

Beitrag von jmaus » 30.09.2023, 08:19

Henke hat geschrieben:
30.09.2023, 00:19
C++ habe ich ein paar Millionen Zeilen in 30+ Jahren geschrieben.
dito
Ich denke, bei C++ und Stringmanipulation kann ich helfen...
Gut zu wissen, wird aber nicht viel helfen, denn die ReGaHss ist leider komplett closed source und nur durch den Faktor "zur richtigen Zeit am richtigen Ort" hab ich vor fast 10 Jahren die Möglichkeit erhalten via NDA Zugriff auf die Quellen zu bekommen, damals noch in der Hoffnung eQ3 macht das irgendwann OpenSource oder öffnet diese für einen größeren Entwicklerkreis. Inzwischen ist diese Hoffnung aber leider durch andere interne Gegebenheiten bei eQ3 quasi gestorben und ich bin quasi notgedrungen inzwischen nebenbei auch noch der Hauptentwickler hinter der ReGaHss.

Und so bleibt dir leider nur einfach drauf zu warten das ich da irgendwann die Zeit und Muse finde daran zu arbeiten um hier ggf. eine Optimierung vorzunehmen. Hab da drin ja in der Vergangenheit bereits haufenweise Bugs beseitigt und Features eingebaut, trotzdem gebe ich da ungern Prognosen ab, denn die ReGaHss ist wie die Büchse der Pandorra. Und die öffnet man bekanntlich ja ungern ;)

Was mir aber definitiv helfen würde, wäre ein entsprechend sauber ausgestaltetes Issue im RaspberryMatic GutHub Projekt dazu. Dort sammle ich ja schon lange die verschiedensten Dinge rund um Bugs und Featureideen:

https://github.com/users/jens-maus/projects/2

Und wenn du da mal durchstöberst wirst du sehen das es da die verschiedensten Dinge gibt die man an der ReGa mal verbessern oder fixen könnte.

Aber eins sollte man weiterhin nicht vergessen - auch weil ich ja den Einblick in die Quellen habe: die ReGa ist an ihrem Laufzeitende angekommen und nicht nur schwer wartbar, sondern dafür werden definitiv keine großen neuen Festures mehr kommen auch einfach weil sie im Grunde "broken by design ist". Wir konnten zwar über die letzten zehn Jahre viele grobe Schnitzer reparieren und ausmerzen, aber das Grundproblem bleibt das sie einfach nicht mehr zeitgemäß ist und mit der Verarbeitung moderner Datenmengen und Nutzungszenarien sich immer schwerer tut (wie man auch an diesem Beispiel hier sehen kann). Deshalb weiterhin mein Rat - gerade weil du recht neu hier bist - besser auf externe moderne Engines wie ioBroker oder HoemAsistant zu setzen und generell den Ansatz zu fahren besser der ReGaHss so wenig wie möglich zuzumuten an Logiken oder Anfragezyklen, usw. Ergo besser die CCu einfach zu einem SmartHome-Hub zu degradieren und Logiken und komplexe Dinge besser in moderne SmartHome-Umgebungen wie HomeAssistant/ioBroker auszulagern.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Geschwindigkeit Rega Scripte

Beitrag von Henke » 30.09.2023, 20:44

jmaus hat geschrieben:
30.09.2023, 08:19
besser auf externe moderne Engines wie ioBroker oder HoemAsistant zu setzen
Brauche ich nicht. Ich habe deinen Rat durchaus befolgt und habe auf der CCU keine Systemvariablen und keine Programme die außer für Test verwendet werden. Als AddOn ist nur noch NodeRed übrig geblieben. Den Rest habe ich in RedHM eingebaut.
Bei mir läuft meine eigene Middle Ware direkt auf der CCU3: viewtopic.php?f=77&t=79745
Die hat eigene Zonen/Räume/Gewerke, ein Konzept das die Systemvariablen ersetzt in Baumstruktur, frei definierbare Geräte sowie eine MQTT Anbindung.
Ich brauche die Rega-Scripte um die CCU einmalig bzw. bei Änderungen auszulesen und ansonsten kommen die Daten per RPC bzw. werden (Masterset,...) darüber gelesen. Für den Umstieg bzw. andere Nutzer werden jedoch die Systemvariablen zyklisch bzw. bei Nutzung gelesen.
Wenn also irgendwann mal ein Gerät ersetzt wird, so bleiben die Flows gleich und es ist egal ob das neue Gerät eins von Homematic, Shelly oder was weiß ich ist. Wird Homematic eingestellt, so wandert NodeRed auf ein NAS, die Geräte werden ersetzt, aber die Flows, sprich die komplette Steuerung, bleibt.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“