3.63.8.20220330 freigegeben

Created with Sketch.

nachdem gestern die neue 3.63.8 CCU Firmware von eQ3 freigegeben wurde, ist nun auch bzgl. RaspberryMatic es mal wieder an der Zeit eine neue darauf basierende Firmwareversion freizugeben. In die neue stabile 3.63.8.20220330 Version die ich gerade freigegeben habe, sind neben der Integration der neueren CCU Firmware auch größere Änderungen eingefloßen, die diese Version wieder den Status eines Major Releases verleihen und somit Bugfixes und Veränderungen mit sich bringt.

Neben dem erwähnten Anheben auf die 3.63.8 OCCU Version – in der von Seiten von eQ3 einige eigene Bugfixes und kleinere Verbesserungen umgesetzt wurden – sei hier vor allem das Update der in der RaspberryMatic WebUI stark verwendeten “tclsh” Skriptsprache von der Version 8.2.3 auf die aktuellste 8.6.12 Version erwähnt. Das sollte gerade für Nutzer und Entwickler interessant sein, die im Hintergrund mitunter diese Skriptengine für eigene Entwicklungen eingesetzt haben. Aber auch die allgemeine WebUI sollte davon profitieren, da mit der neuen Skriptsprachenversion einige Bugfixes und Verbesserungen einhergehen die die generelle Sicherheit der WebUI verbessern. Auch wird die tclsh Engine nun im Zuge des RaspberryMatic Buildprozesses automatisch mit erzeugt, statt lediglich vorkompilierte Binärversionen aus OCCU zu verwenden. Dies hat den Vorteil, dass nun diese zentrale Skriptengine in einer 64bit Umgebung auch entsprechend “nativ” auf den Systemen ausgeführt wird und mitunter somit auch etwas performanter läuft. Zusätzlich wurden auch noch andere Bibliotheken, die bisher einfach als Binärversionen aus OCCU verwendet wurden (z.B. libXmlRpc, libxmlparser, tclrgea, tclrpc), in den Buildprozess integriert und liegen somit auch in nativen 64bit Versionen vor.

Abgesehen von diesen vor allem internen Umstellungen sind aber auch wieder Arbeiten an der WebUI eingeflossen. So wird nun z.B. der verfügbare lokale Speicherplatz auf der Update-Seite der WebUI mit angezeigt damit man dort unmittelbar sehen kann ob dieser für ein Update ausreichend ist oder aber man ggf. einen größeren Speicherplatz/SD-Karte verwenden sollte. Aber auch in Punkto Sicherheit ist ein wichtiger Bugfix in die WebUI eingeflossen der eine als kritisch deklarierte Sicherheitslücke (CVE-2022-24796) in bisherigen Versionen beseitigt.

Ein Update auf die neue Version kann also wirklich nur jedem empfohlen werden!

Die kompletten Änderungshistorie kann wie immer wie folgt eingesehen werden (wurde mit DeepL automatisiert übersetzt):

:construction: Änderungen:

CCU/HomeMatic-System Änderungen:

  • Aktualisierung der OCCU-Version auf 3.63.8-1 mit voller Kompatibilität zur CCU3-Firmware 3.63.8, die folgende Änderungen mit sich bringt:
    • ReGaHss Logik-Engine auf Version R1.00.0388.0230 aktualisiert (24. März 2022):
      • Behebung eines Fehlers in den URL-Parameter-Dekodierungsroutinen, der ein “+”-Zeichen im Parameterteil von URLs nicht als Leerzeichen dekodierte, was gegen RFC1866 verstieß (#1762) .
    • HmIP-WSC (ELV Bausatz) Geschwindigkeit bzw. Fahrzeit innerhalb von Programmen ergänzt.
    • HmIP-FSM16 – Fehlerhafte Beschreibung des Konfigurationsparameters „Wert Mindestsendeabstand“ korrigiert (war Wert Zufallsanteil).
    • Unterschiedliche Bezeichnung für Ein/Aus bei Hm und HmIP behoben.
    • HmIP-FWI (ELV Bausatz) – Die angezeigte Code-ID wurde unter Status/Bedienung um 1 zu hoch angezeigt.
    • Start-/Stopp langer Tastendruck innerhalb von Programmen war vertauscht.
    • Fehlende Übersetzung von Servicemeldungen hinzugefügt.
    • Umstellung von Sommer-/Winterzeit bei Homematic IP Geräten erfolgte in einigen Konstellationen zum falschen Zeitpunkt.
    • Das Urlaubsende wurde beim eTRV falsch angezeigt wenn Start- und Ende-Datum auf den gleichen Tag einstellt wurden.
    • Die auf der CCU mitgelieferte HmIPW-DRAP Firmware wurde aktualisiert auf Version 2.4.14.
    • Die auf der CCU mitgelieferte HmIP-HAP Firmware wurde aktualisiert auf Version 2.4.12.
    • HmIP-SMI55-2 – Der Hinweistext für den Batterie-/Netzbetrieb wurde angepasst.
    • Innerhalb von Programmen kann nun im Dialog „Wertebereich einstellen“ auch auf den exakten Wert getriggert werden.
    • Wiederherstellung von Gerätezuständen nach Geräteneustart: Wochenprofil aktiv / inaktiv bei Schalt-/Dimm- und Beschattungsaktoren, Manueller Modus und aktives Profil bei eTRVs.
    • HmIPW-WRC6 – Innerhalb von Programmen kann nun auf den Helligkeitswert getriggert werden.
    • Für Verknüpfungen zwischen Tastern und Dimmaktoren kann die Schrittweite des langen Tastendruckes gewählt werden.
    • Die Wandthermostate wurden mit der FW.-Version 2.8 überarbeitet und erhalten an Kanal 5 den neuen Parameter „Betriebsmode Thermostat/Hygrostat“. Der HmIP-BWTH erhält zusätzlich den Wärmebedarfskanal Boiler (Kanal 13). Das FW Rollout steht noch aus.
  • Die tcl/tclsh-Skripting-Engine wird nun in der Build-Umgebung für jede Zielplattform (einschließlich 64-Bit-Version) kompiliert, anstatt die vorkompilierten 32-Bit-Binärdateien von OCCU zu verwenden, die nur tcl 8.2.3 enthalten. Dies ermöglichte schließlich ein Upgrade von tcl auf die neueste Version 8.6.12 mit allen Fehlerbehebungen und Verbesserungen dieser neueren Version. Darüber hinaus werden die Shared Libraries libxmlparser.so, libXmlRpc.so, tclrega.so und tclrpc.so, die von einigen gängigen Homematic-Diensten verwendet werden, nun auch direkt aus der Build-Umgebung heraus kompiliert, anstatt nur vorkompilierte Versionen zu nehmen, so dass nun native 64bit-Versionen kompiliert/verfügbar sind (#903).
  • S48UpdateRFHardware wurde um eine erzwungene Coprozessor-Update-Funktionalität erweitert, so dass Benutzer eine bestimmte Version für ihr RF-Modul festlegen können, indem sie die gewünschte Firmware-Version in eine /etc/config/forced_coprocessor_version Datei eintragen.
  • ein “sleep 5” nach der eq3_char_loop modprobe hinzugefügt, um dem System (insbesondere wenn RaspberryMatic als HomeAssistant Add-on läuft) mehr Zeit zu geben das notwendigen eq3loop device zu initialisieren (#1707, #1752).
  • falls kein HomeMatic RF Modul installiert ist, werden nun Teile der Mac-Adresse in /var/board_serial abgelegt (#1729).

WebUI Änderungen:

  • Die Datei-Upload-Korrekturen im WebUI-Patch 0031-WebUI-Fix-FileUpload wurden überarbeitet und enthalten nun mehrere Sicherheitsüberprüfungen für eine gültige Admin-Sitzungskennung und Abfrage-String-Prüfungen sowie das Weglassen der kritischen Verwendung der URL-Abfrage-String-Parsing-Funktion. Dies sollte die Sicherheit erheblich verbessern und somit ein Sicherheitsproblem (CVE-2022-24796, @qx-f7) beheben.
  • Der WebUI-Patch 0132-WebUI-Fix-UnitDisplay wurde um eine weitere kleine Korrektur der Einheitenanzeige ergänzt.
  • 0167-WebUI-Fix-InternalTclURLs WebUI-Bugfix-Patch hinzugefügt, der alle in Tcl-Routinen verwendeten URLs so korrigiert, dass sie mit der Tcl 8.6-Version der http geturl-Funktion kompatibel sind (#1754, #1765)
  • 0133-WebUI-Fix-InternalIDExposure WebUI-Patch modifiziert und die HmIPW- und HmIP-DRSI-Prüfungen entfernt, die dazu führten, dass der Wartungskanal immer angezeigt wurde, anstatt manuell angezeigt zu werden (#1751).
  • 0166-WebUI-Fix-PowermeterControl WebUI Bugfix Patch hinzugefügt, der ScriptRuntimeErrors beim Anzeigen der Statusseiten eines HM-ES-TX-WM mit Firmware 2.5 und angeschlossenem IEC-Sensor behebt (#1748, #1749, @jp112sdl).
  • 0165-WebUI-ShowFreeUserspaceOnMaintenancePage WebUI-Patch hinzugefügt, um den freien Speicherplatz auf der Wartungskontrollseite anzuzeigen, so dass die Benutzer benachrichtigt werden, wenn nicht genügend Speicherplatz für die Anwendung eines Software-Updates vorhanden ist (#1737).
  • Aktualisierung der CodeMirror-Editor-Engine auf die neueste Version 5.65.2.
  • Die Anzeige des freien Speicherplatzes in help.cgi wurde korrigiert, so dass die richtigen Werte für den freien Speicherplatz aus der Statusausgabe von monit verwendet werden.
  • im WebUI-Patch 0057-WebUI-ImprovedDutyCycleDisplay die Warn- und Aufmerksamkeitsschwellen von CarrierSense (CS) auf >= 11% und >= 20% gesenkt. Bitte beachten Sie, dass diese Schwellenwerte rein empirisch gewählt sind, wobei selbst ein CS >= 20% noch tolerierbar sein könnte.

Betriebsystem Änderungen:

  • Unterstützung für das Laden von komprimierten Kernelmodulen (xz und zstd) mit modprobe/kmod hinzugefügt, indem BR2_PACKAGE_XZ und BR2_PACKAGE_ZSTD zu allen buildroot-Konfigurationen hinzugefügt wurden (#1750).
  • BR2_PACKAGE_KMOD_TOOLS zu den oci defconfigs hinzugefügt, so dass die kmod-Utilities (modprobe, etc.) gebaut werden, was es erlauben sollte, auch komprimierte Kernelmodule zu laden (#1750).
  • einen Fehler in der veröffentlichten Kubernetes-Helmdiagramm behoben (#1757, #1756, @angelnu).
  • fehlende CONFIG_SECCOMP Kerneloption für alle ODROID-basierten Plattformen hinzugefügt.
  • unnötige CONFIG_AUDIT-Kerneloptionen für die Tinkerboard-Plattform entfernt, so dass er sich im Wesentlichen genauso verhält wie die Kernel für die anderen unterstützten Plattformen.
  • weitere wpa_supplicant-Optionen hinzugefügt, um auch die ältere ‘wext’-Erweiterung zu unterstützen, so dass Wifi-Treiber von Drittanbietern (z.B. r8188eu), die nur wext-Unterstützung bieten, weiterhin funktionieren (vgl. home-assistant/operating-system#1811).
  • Tailscale auf die neueste Version 1.22.2 aktualisiert.
  • RaspberryPi4 eeprom auf die neueste pieeprom-2022-03-10.bin aktualisiert.
  • RaspberryPi Kernel+Firmware auf die neueste Version 1.20220308 (5.10.103) aktualisiert.
  • Upstream-Kernel auf die neueste Version 5.10.108 LTS aktualisiert.
  • Buildroot auf die Version 2022.02 LTS aktualisiert.

:family: Mitwirkende (diese Version, alphabetisch):

:memo: Support:
Hier sei auch noch einmal auf die umfangreiche Dokumentation von RaspberryMatic 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 einen öffentlichen Wiki an dem sich wirklich jeder gerne (nach entsprechender technischer Selbst-Einarbeitung) beteiligen kann um Anderen vor allem den Einstieg rund um das Thema “RaspberryMatic” zu erleichtern.

:package: Download:

Die neue Version kann wie gehabt von folgender URL als *.zip Datei für die verschiedenen RaspberryPi Modelle heruntergeladen und installiert werden:

https://github.com/jens-maus/RaspberryM … ses/latest

Zu beachten gilt, das auf Grund der Unterstützung unterschiedlicher Geräte es getrennte Installationsarchive (*.zip Dateien) gibt die für die folgende Hardware jeweils einheitlich ist:

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.

Hinweis:
Bitte beachten, dass natürlich vor jedem Update erst einmal ein manuelles Backup erfolgen sollte damit bei eventl. Fehlschlagen des WebUI-basierten Updates man mittels einer neuen SD-Karte dann sein aktuellstes Backup einfach wieder einspielen kann.

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 ein Bugreport im GitHub machen wenn das Problem von anderen Nutzern bestätigt werden konnte.

Viel Spass mit der neuen RaspberryMatic Version!