3.89.9.20260914 freigegeben

Created with Sketch.

Hallo zusammen,

nun sind bereits wieder zwei Monate seit dem letzten offiziellen OpenCCU-Release vergangen. In der Zwischenzeit wurden jedoch erneut zahlreiche Verbesserungen und Fehlerkorrekturen an OpenCCU vorgenommen. Nach einer gewissen Stabilisierungsphase habe ich daher heute die neueste Version OpenCCU 3.89.9.20260914 für jedermann freigegeben.

Allen voran erfolgte in dieser Version neben verschiedenen kleineren Fehlerkorrekturen und Verbesserungen die bereits seit Längerem angekündigte Umstellung von “OCCU” auf “OpenCCU-Base” (siehe viewtopic.php?f=65&t=88252). Wie viele von euch wissen, hat eQ-3 zusammen mit den Entwicklern rund um OpenCCU vor Kurzem nahezu den gesamten Quellcode der CCU-Plattform in einem neuen “OpenCCU-Base”-Repository veröffentlicht. Im Zuge des finalen Releases von OpenCCU-Base haben wir nun den Build-Prozess so umgestellt, dass ab dieser OpenCCU-Version nahezu alle wichtigen CCU-relevanten Prozesse und Dienste – einschließlich der WebUI – direkt aus ihrem jeweiligen Quellcode gebaut werden. Auch wenn diese Umstellung bei der Installation der neuen Version zunächst keinen unmittelbar sichtbaren Unterschied macht, hat sie erheblichen Einfluss auf den technischen Unterbau und die Zukunft von OpenCCU.

Bereits diese neue Maintenance-Version enthält einige Verbesserungen am Kern der CCU-Prozesse und -Dienste. Diese gehen auf Änderungen und Fehlerkorrekturen zurück, die nicht nur von den bisherigen Kernentwicklern rund um OpenCCU umgesetzt, sondern auch von neuen und interessierten Entwicklern beigesteuert wurden. Dies hat letztlich sogar dazu geführt, dass OpenCCU-Base nun die Versionsnummer “3.89.9” trägt und sich damit auch in der Versionsnummer von der alten, inzwischen obsoleten eQ-3-eigenen CCU-Firmware abhebt. :D

Studiert daher gerne einmal genauer die nachfolgende vollständige Änderungshistorie. Gerade unter dem Punkt “OpenCCU-Base auf Version 3.89.9 aktualisiert” sind zahlreiche Verbesserungen und Fehlerkorrekturen aufgeführt, die Änderungen an zentralen CCU-Diensten mit sich bringen und nun exklusiv in OpenCCU zu finden sind.

Hier daher die vollständige Änderungshistorie dieser neuen Version (automatisiert mit ChatGPT übersetzt):

:construction: Änderungen:

🏠 Änderungen an den CCU-/homematicIP-Diensten

  • OpenCCU-Base auf Version 3.89.9 aktualisiert (#4170, @jens-maus) – https://github.com/OpenCCU/OpenCCU-Base/commits/3.89.9
    • Beschädigung der ‘.dev’-Systeminformationen durch vorzeichenbehaftete ‘char’-Werte auf ‘x86_64’ behoben (Typ-Byte >= ‘0x80’) von @hausbus in #9
    • Veraltetes ‘tclticks’-Paket deaktiviert von @jens-maus in #10
    • ‘rfd’: Ermittlung der ‘libusb’-Header und -Bibliotheken korrigiert, wenn ‘HAS_USB_SUPPORT’ aktiviert ist, von @jens-maus gemeinsam mit @Copilot in #11
    • ‘rfd’: Wiederherstellung der Verbindung zu LAN-Gateways verbessert von @virgin09 in #13
    • Mehrere C++-Compilerwarnungen behoben von @jens-maus in #15
    • Build-Umgebung fertiggestellt, sodass WebUI-Dateien ebenfalls aus ‘www_source’ generiert werden, von @jens-maus in #14
    • ‘rfd’: Lebensdauer des LGW-Controllers während des Wiederaufbaus der Verbindung synchronisiert von @virgin09 in #16
    • LAN-Gateway: Durch Groß-/Kleinschreibung verursachte Abweichung der Seriennummer zwischen Verbindung und Status behoben von @virgin09 in #17
    • Korrekturen an der Build-Umgebung von @jens-maus in #18
    • ‘libxmlparser’ auf Version V1.13 aktualisiert von @jens-maus in #19
    • Benutzerdefiniertes Build-Target ‘compat-libraries’ hinzugefügt, um ausschließlich ‘libxmlparser’/’libXmlRpc’ zu bauen, von @jens-maus in #20
    • DEVDB-Erstellungsskript so geändert, dass ‘lsort’ für eine deterministische Erzeugung verwendet wird, von @jens-maus in #21
    • ‘eq3_char_loop’ einschließlich Kompatibilität mit Kernel v6 auf Version 1.4 aktualisiert von @jens-maus in #22
    • ‘rfd’ auf Version 1.2.0 und ‘hs485d’ auf Version 2.6.0 aktualisiert von @jens-maus in #23
    • ‘tclrega’ und ‘tclrpc’ auf die neuesten Versionen 1.4 aktualisiert von @jens-maus in #24
    • Korrekturen an der ‘devicetypes’-Generierung hinzugefügt, damit der Build bei Bedarf abgebrochen wird, von @jens-maus in #25
    • Generierung der Versionsdatei im CMake-Build verbessert von @jens-maus in #26
    • ‘libXmlRpc’: Registrierung des Dispatchers bei einem fehlgeschlagenen Wiederaufbau der Verbindung beibehalten von @jens-maus in #27
    • CI-Workflow hinzugefügt von @jens-maus in #28
    • ‘libxmlparser’: Unsichere Verarbeitung von ‘XMLNode’-Arrays behoben von @jens-maus in #29
    • Compilerwarnungen in ‘hss_led’, ‘libeq3config’ und ‘rfd’ behoben von @jens-maus in #30
    • WebUI: Nicht mehr benötigte, veraltete Dateien bereinigt von @jens-maus in #31
    • Fehlende Dateien ‘serial.tcl’ und ‘tclload.tcl’ hinzugefügt, um die fehlenden ‘GetSerialNumber’- und Tcl-Ladeanweisungen bereitzustellen, von @jens-maus in #32
    • ‘HMServer.jar’ auf eine funktionsfähige, ausschließlich HomeMatic unterstützende Version zurückgesetzt von @jens-maus in #33
    • ‘HmIP-RFUSB’-‘fwmap’ korrigiert, indem Firmware 4.4.18 als Standard definiert wurde, von @jens-maus in #34
    • ‘hss_led’: Fehlende Definition ‘PLATFORM_CCU3’ hinzugefügt von @jens-maus in #35
  • Mit der ‘ash’-Shell zusammenhängende Dotfiles des Benutzers ‘root’ korrigiert, sodass sie auf die richtigen Speicherorte verweisen (#4163, @jens-maus)
  • Durch die Aktualisierung von OpenCCU-Base verursachte fehlerhafte Hervorhebung des WebUI-Patch-Kanals behoben (#4161, @jens-maus)
  • Build des Recovery-Systems für ‘generic-aarch64’ auf die Plattform ‘a53’ umgestellt (#4158, @jens-maus)
  • Korrektur: ‘snprintf’ in ‘hmlangw.cpp’ verwenden (#4148, @anupamme)
  • Von OCCU auf OpenCCU-Base umgestellt (#4129, @jens-maus)
  • Korrektur: Unbeschränktes ‘_tcscpy’ in ‘xmlParser.cpp’ durch längengeprüftes ‘memcpy’ ersetzt sowie Prüfungen auf fehlgeschlagene Speicherallokationen und Überläufe hinzugefügt (#4056, @anupamme)
  • Fehlendes Entfernen des Crontab-Eintrags beim Deaktivieren von CloudMatic behoben (#4111, @jens-maus)
  • Korrektur der SID des Ingress-Hinweises (#4080, @sandmaennchen5)
  • Änderungen der UPnP-/SSDP-UDN für die Verwendung mit OCI/HA korrigiert (#4109, @jens-maus)
  • Fehlerhafte Falsch-positiv-Erkennung in ‘checkPortForwarding.sh’ behoben (#4050, @jens-maus)

🌐 Änderungen an der WebUI

  • Durch die Aktualisierung von OpenCCU-Base verursachte fehlerhafte Hervorhebung des WebUI-Patch-Kanals behoben (#4161, @jens-maus)
  • ‘ScriptRuntimeError’ in Programmen behoben, der durch die undefinierte Variable ‘sValue’ in ‘destinationIsParameterVisible()’ verursacht wurde (#4082, @jens-maus)

🖥️ Änderungen am Betriebssystem

  • ‘kernel-upstream’ auf Version 6.18.51 aktualisiert (#4169, @jens-maus)
  • Tailscale auf Version 1.102.4 aktualisiert (#4167, @jens-maus)
  • ‘daemonize’ auf den neuesten HEAD-Stand aktualisiert, um Kompilierungsprobleme mit GCC 15 zu beheben (#4150, @jens-maus)
  • Buildroot auf Version 2026.08 aktualisiert (#4142, @jens-maus)
  • ‘java-azul’ auf Version 21.52.203-ca-jre21.0.12.1 aktualisiert (#4117, @jens-maus)
  • ‘rpi-eeprom’ auf Version da7cd20 aktualisiert (#4171, @jens-maus)
  • ‘vcgencmd’: Callback-Prototyp für Kompatibilität mit C23/GCC 15 korrigiert (#4159, @jens-maus)
  • ‘vcgencmd’: Prototyp des Bulk-Receive-Callbacks für C23/GCC 15 korrigiert (#4157, @jens-maus)
  • Build von ‘openvmtools’ durch Bereitstellung einer Korrektur für GCC 15 behoben (#4151, @jens-maus)
  • Patch für ‘wiringpi-rpi’ an den Makefile-Kontext von v3.20 angepasst (#4146, @jens-maus)
  • ‘wiringpi-rpi’ auf Version v3.20 aktualisiert (#4137, @jens-maus)
  • ‘rpi’: Energy Efficient Ethernet (802.3az) deaktiviert, um die Verbindungsstabilität zu verbessern (#4136, @jens-maus)
  • ‘qemu-guest-agent’ auf Version 11.1.1 aktualisiert (#4133, @jens-maus)
  • ‘wiringpi-odroid’ auf Version df44ee6 aktualisiert (#4118, @jens-maus)
  • ‘rpi5’/U-Boot: Prüfung des internen RP1-PCIe-Hosts des BCM2712 übersprungen, um einen Fehler bei der Linux-RP1-BAR-Zuweisung zu verhindern (#4101, @jens-maus)
  • Raspberry-Pi-FDT aus dem CMA-Allokationsbereich verschoben (#4100, @jens-maus)

🔄 Weitere Änderungen

  • ‘translations/en.yaml’ zur ‘config.yaml’ der HA-App hinzugefügt (#4175, @jens-maus)
  • Pin-Modus in Abhängigkeits-Updatern beibehalten, um Regressionen beim Wechsel zwischen Commit und Release zu verhindern (#4173, @jens-maus)
  • ‘qs’ in ‘/home-assistant-addon-proxy’ von Version 6.15.2 auf 6.16.0 aktualisiert (#4139, @dependabot[bot])
  • ‘home-assistant-addon-proxy’ auf Version 0.7.0 aktualisiert (#4110, @jens-maus)
  • Exec-Form für den ‘HEALTHCHECK’-Befehl im OCI-Dockerfile verwendet (DL3025) (#4077, @jens-maus)
  • ‘home-assistant-addon-hapdrap’: Erkennung von OpenCCU-Containern mit ‘app_*’ und ‘addon_*’ unterstützt (#4059, @jens-maus)
  • ‘body-parser’ in ‘/home-assistant-addon-proxy’ von Version 2.2.2 auf 2.3.0 aktualisiert (#4035, @dependabot[bot])

:memo: Support:
Hier sei auch noch einmal auf die umfangreiche Dokumentation von OpenCCU hingewiesen, an der bereits seit einiger Zeit gearbeitet wird und die auch sukzessive mit jeder Version verbessert wird. Zu erreichen ist die Dokumentation unter folgender Stelle:

Wie die URLs schon vermuten lassen, handelt es sich hierbei teils um ein öffentliches Wiki, an dem sich wirklich jeder gerne nach entsprechender technischer Selbst-Einarbeitung beteiligen kann, um anderen vor allem den Einstieg rund um das Thema “OpenCCU” zu erleichtern.

:package: Download/Installation:

Die neue Version kann wie gehabt von folgender URL für die verschiedenen Installationsplattformen von RaspberryPi über Tinkerboard bis hin zu allen virtuellen Plattformen heruntergeladen und entsprechend installiert werden:

https://github.com/OpenCCU/OpenCCU/releases/latest

Zu beachten gilt, dass es aufgrund der Unterstützung unterschiedlicher Geräte/Plattformen getrennte Installationsarchive und Installationsweisen gibt, die für die jeweilige Hardware unterschiedlich sein können. Hier bitte entsprechend die Dokumentation konsultieren.

Download-Statistik nach Plattform:

  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild
  • Bild

Update/Upgrade:
Das Update auf diese Version kann bei Einsatz einer Vorversion unter “Einstellungen->Systemsteuerung->Zentralen-Wartung” durch Upload der jeweiligen *.zip- oder *.tgz-Datei (Nicht ausgepackt!) erfolgen. Alternativ kann natürlich weiterhin auch einfach eine neue SD-Karte verwendet werden und das im Archiv befindliche *.img auf die neue SD-Karte kopiert werden, um dann von dort aus neu zu booten und via Backup-Restore das jeweils aktuelle Backup wiederherstellen zu lassen. Bei den virtuellen Plattformen (ova bzw. oci) erfolgt das jeweilige Update/Upgrade gegebenenfalls über die eingesetzte Virtualisierungsumgebung.

Hinweis:
Bitte beachten, dass vor jedem Update erst einmal ein manuelles Backup erfolgen sollte, damit bei einem eventuellen Fehlschlagen des WebUI-basierten Updates mittels einer neuen SD-Karte das aktuellste Backup einfach wieder eingespielt werden kann. Dies gilt für diese Version wegen der automatischen Repartitionierung des Speichermediums ganz besonders.

Für Bugreports und Featurerequests bitte den GitHub Issue-Tracker nutzen, damit ich die Anfragen geordnet abarbeiten kann. Support- und Hilfeanfragen bei vermeintlichen Nutzungsproblemen bitte weiterhin hier als Erstes im Forum platzieren und erst daraus einen Bugreport auf GitHub machen, wenn das Problem von anderen Nutzern bestätigt werden konnte.

Viel Spass mit der neuen OpenCCU Version!