RaspberryMatic 3.53.34.20201121 veröffentlicht

23.11.2020
3.187

Seit wenigen Tagen gibt es ein neues, offizielles RasberryMatic Update in der Version 3.53.34 für alle unterstützen Hardwareplattformen. Diese basiert auf der gleichlautenden OCCU/CCU3-Firmware von eQ-3 und ist folglich mit dieser 100% kompatibel. Sämtliche Änderungen sind dem nachfolgenden, sehr umfangreichen Changelog zu entnehmen.

Ein Vorwort von Jens Maus:

Eine wichtige Änderung, die mit dieser MAJOR Version daherkommt und die besondere Beachtung benötigt, ist die Umstellung von RaspberryMatic von einem 32bit Betriebssystem auf ein vollwertiges 64bit Betriebsystem, zumindest für die Hardwareplatformen, die 64bit fähige Prozessoren einsetzen (RaspberryPi4, RaspberryPi3, CCU3/ELV-Charly, OVA, IntelNUC).

Mit dieser Version wird RaspberryMatic also für die Zukunft fit gemacht und auch, wenn die Nutzung von >4GB RAM nicht primär ausschlaggebend für diese Umstellung war/ist, so sollte sie gerade für die x86-basierten Platformen (OVA, IntelNUC) zu einem gewissen Performancegewinn führen - darüber hinaus aber eben sicherstellen, dass RaspberryMatic mit der reinen 64bit Zukunft weiter mithalten kann.

Ein unmittelbarer Benefit davon ist z.B., dass mit dieser Version es endlich wieder eine kompatible RedMatic Addon Version gibt, die unter der OVA/IntelNUC Variante eingesetzt werden kann.

Für die Platformen, die mit 32bit Prozessoren daher kommen, ändert sich im Grunde nur für Nutzer eines RaspberryPi2 etwas:

Hier müssen Nutzer eines RaspberryPi2 einmalig mit der Umstellung auf diese neue Version Ihre SD-Karte bzw. RaspberryMatic komplett neu flashen. Das liegt daran, dass nun eine Trennung des RaspberryPi3 vs. RaspberryPi2 Images notwendig war (bisher nutzten beide das selbe). D.h. Nutzer, die bisher einen RaspberryPi2 einsetzen müssten nun einmalig ein Backup Ihrer Konfiguration machen, dann die SD-Karte neu mit dem passenden “rpi2” Image via Etcher&Co beschreiben und dann das Backup einfach wieder in der WebUI zurückspielen und von da an dann immer das dazu passende “rpi2” Image verwenden.

Für die anderen 32bit Hardware Platformen (RaspberryPi0, Tinkerboard) bleibt jedoch alles beim alten und das OS bleibt weiterhin ein 32bit OS.

Zusätzlich sei noch einmal auf die umfangreiche Dokumentation von RaspberryMatic hingewiesen, an der andere und ich auch bereits seit einiger Zeit gearbeitet haben und die alle anderen hier im Forum bisher zur Verfügung gestellten Dokumentationen rund um RapsberryMatic ersetzen. Zu erreichen ist die neue Dokumentation nun unter folgender Stelle:

Weiterführende Seite:
RaspberryMatic - Dokumentation / Wiki

Wie die URL schon vermuten lässt, handelt es sich hierbei um einen öffentlichen Wiki, an dem sich jeder gerne (nach entsprechender technischer Einarbeitung) beteiligen kann, um anderen vor allem den Einstieg rund um das Thema “RaspberryMatic” zu erleichtern.

Changelog

CCU/HomeMatic-System Änderungen:

  • Aktualisierung der OCCU Umgebung auf Version 3.53.34-3 die neben einer vollen Kompatibilität zur CCU3 3.53.34 Firmware auch noch die folgenden Verbesserungen mit sich bringt:

    • Aktualisierung der “ReGaHss” Logikengine auf Version “R1.00.0388.0226 (Nov 2 2020)” die folgende Änderungen beinhaltet:

      • Problem innerhalb der “delayed” State() Funktionalität beseitigt wo “State(x, 0, true/false)” Auslösungen zu ScriptRuntimeErros führen konnte und wo das “retrigger” Argument nicht die selben Standardwerte wie die traditionellen einfachen “State(x)” Aufrufe aufwies (#942).
      • Problem beseitigt bei der die Funktion “x.DPArchive()” nur auf Datenpunkten genutzt werden konnte die vorher auch via “x.Visible()” auf “visible” gesetzt wurde. Nun arbeiten diese Funktionen vollkommen unabhängig voneinander und erlauben das ein Datenpunkt nun auch auf “non visible” steht, aber die Protokollierung eingeschalten ist (#948).
      • Beseitigung eines kürzlich aufgetretenen Bugs bei der Nutzung von “system.Exec()” in Kombination mit dem “&” Hintergrundmodus bei dem es dazu kam, das mit jeder Ausführung ein Zombie-Prozess erzeugt wurde der auch nicht nach längerer Zeit beendet wurde und somit zu Systeminstabilitäten führen konnte).
      • Beseitigung eines Problems in “system.Exec()” das bei jeder Ausführung nicht geschlossene stdin Pipes übergelassen hatte und somit zu Systeminstabilitäten führen konnte.
    • Übersichtlichere Darstellung der Datenpunkte in Diagrammen (bei „Mouseover“).
    • Formatierung im Dialog zur Einstellung der Pumpenschutzfunktion beim Bearbeiten einer direkten Verknüpfung mit der HmIP-FAL korrigiert.
    • Im HmIPServer kam es zu False-positive Log Meldung (“NoSuchDeviceException” im “LegacyNotificationHandler”).
    • Problem beim Dimmen von Wired Dimmaktoren mittels HmIP Funk-Fernbedienungen wurde korrigiert.
    • Bargraph der Duty Cycle Anzeige bei zusätzlichen Gateways korrigiert.
    • Beim Konfigurieren der Dimmkanäle (6,7,8) des HmIP-MP3P wurde die Ausschaltdauer nicht an das Gerät übertragen.
  • Problem bei der Erzeugung des “.nobackup” Statusfiles im NEO Server CCU Addon Setup beseitigt sodass es nun definitiv nicht mehr Teil des Systembackups werden sollte.

  • Überarbeitung des “/bin/checkUsrBackup.sh” Hilfskriptes, sodass bei beabsichtigtem Fehlen eines für HmIP-passenden Funkmodules es nicht mehr zu einer Fehlermeldung kommen sollte wenn man ein Backup wiederherstellen lässt (#890).

  • Problem beseitigt bei dem die “.doCoproFactoryReset” Statusdatei fälschlicherweise bei Einsatz eines HM-MOD-RPI-PCB nicht gelöscht wurde.

  • Anpassungen beim Funkmodulsetup sowie in der WebUI vorgenommen, sodass bei Fehlen eines RPI-RF-MOD Funkmodules die “Advanced LAN Routing” Funktionalitäten des HMIPServer deaktiviert werden und zusätzlich in der WebUI eine Warnung angezeigt wird das manche Funktionalitäten ( HmIPW-DRAP , HmIP-HAP Anbindung) jedoch dieses Funkmodul zwingend voraussetzt.

  • Hinzufügen einer dynamischen Berechnung der Allokierung des Java Memory Heap Sizes, sodass bei Nutzung des HMIPServer je nach eingesetzter Hardware/RAM Größe es zu einer optimaleren Ausnutzung der zur Verfügung stehenden Ressourcen kommt und ggf. auch eine performantere Ausnutzung des HMIPServer möglich wird.

WebUI Änderungen:

  • Verbesserung des “0085-WebUI-AddonPopupScrollable” WebUI Patches, sodass auch andere popupTable Nutzung in der WebUI um Scrollbalken erweitert werden und damit kein Popup mehr ausserhalb des sichtbaren Bereiches landen sollten.
  • Neuer “0086-WebUI-Fix-500Error” WebUI BugFix Patch welcher sämtliche “Error 500” Fehler bei der Nutzung von “Ajax.Request()” mit einer leeren “puts” Rückgabe beseitigen sollte (#959).
  • Verbesserung des “0026-WebUI-Fix-CacheControl” WebUI Patches sodass auch für die “webui.js” und “jquery” aufrufe keinerlei “?version=” parameter mehr notwendig sind.
  • Neuer “0087-WebUI-Fix-DoubleSIDs” WebUI BugFix Patch welcher das doppelte hinzufügen von “?sid=@xxxxxx@” URL parametern verhindern sollte beim Aufruf der “LoadFromFile()” Funktion (#959).
  • Anpassung des “0036-WebUI-AppleIcons” WebUI Patches um mit den aktuellen Änderungen am CacheControl WebUI Patch kompatibel zu sein.
  • Neuer “0088-WebUI-Fix-MissingReportValueUsage” WebUI BugFix Patch der die fehlende “/www/api/methods/interface/reportvalueusage.tcl” JSON RPC Funktion umsetzt (#965).
  • Verbesserung des “0077-WebUI-NegateCondition” WebUI Patches sodass statt eines leeren Auswahlfeldes die Negierung einer Bedingung etwas intuitiver dargestellt wird (#966).
  • Neuer “0090-WebUI-Add-ReGaSaveButton” WebUI Patch der einen neuen “Änderungen speichern” Knopf integriert und damit es nicht mehr notwendig macht sich zwangsläufig auch zum Speichern der Einstellungen abzumelden (#979, @jp112sdl).
  • Neuer “0091-WebUI-Add- HM-OU-LED16 -LedStatus” WebUI Patch der den jeweiligen LED status eines HM-OU-LED16 Gerätes auch in der WebUI entsprechend visualisiert (#985, @jp112sdl).
  • Neuer “0092-WebUI-Fix-DeviceReplacement” WebUI Bugfix Patch der das Problem beseitigen sollte das ein Gerätetausch seit einigen CCU Versionen nicht mehr korrekt in der WebUI beendet wurde (#879, @jp112sdl).
  • Neuer “0093-WebUI-AllowAdminUserChanges” WebUI Patch der es nun erlaubt den Standard “Admin” Nutzer zu löschen um ggf. die Sicherheit zu erhöhen bzw. Standard-Angriff-Szenarien zu reduzieren (#987, @jp112sdl).
  • Neuer “0094-WebUI-userSysVarTblValuesWordWrap” WebUI Patch um im Favoritenauswahldialog bei der Anzeige von Wertelisten-Systemvariablen einen Zeilenumbruch vorzunehmen um Probleme mit zu langen Wertestrings zu vermeiden (#991, @jp112sdl).

Betriebsystem Änderungen:

  • MAJOR Update des zugrundeliegenden Buildroot/Linux Betriebssystems durch Umstellung auf ein vollwertiges 64bit Betriebssystem bzw. Umgebung. Nun sollte auf 64bit fähiger Hardware wie RaspberryPi4, RaspberryPi3 (CCU3, ELV-Charly) oder x86-basierter Umgebungen (OVA, IntelNUC) ein vollwertiges 64bit Betriebsystem bzw. Umgebung zur Verfügung stehen. BITTE BEACHTEN:

    • Existierende Nutzer einer x86 OVA-basierten Variante sollten nach dem Update auf diese Version in Ihrer Virtualisierungsumgebung etwaige 64bit Einstellungen in der RaspberryMatic VM vornehmen um 64bit Optimierungen zu ermöglichen
    • Nutzer von RaspberryPi2 Hardware müssen mit dieser Version einmalig eine komplette Neuinstallation Ihrer SD-Karte unter Nutzung des neuen “rpi2” Platformimages vornehmen und in Zukunft für weitere Updates die neuen “rpi2” Images nutzen. Durch die 64bit Unterstützung war es notwendig eine Trennung des zwischen RaspberryPi2 und RaspberryPi3 Hardware vorzunehmen, sodass nun der RaspberryPi2 ein separates Platformimage nutzt.
    • Um weiterhin 32bit Anwendungen lauffähig zu halten wurde eine entsprechende 32bit Kompatibilitätsschicht umgesetzt womit auch alle gängigen CCU Addons bereits erfolgreich getestet wurden. Trotzdem soll daraufhin gewiesen werden, das es mitunter Addons/Erweiterungen geben kann die ggf. damit Probleme machen könnten oder für die es von Vorteil wäre das Addon auf 64bit Unterstützung umzustellen.
  • Hinzufügen von IPv6 “localhost” und “allnodes”/”allrouters” Definition in /etc/hosts um die generelle IPv6 Kompatibilität zu verbessern.

  • Nutzung einer dedizierten “umask” in S06InitSystem sowie explizites generieren eines /etc/config/firmware Verzeichnisses damit HMIPServer nicht mehr über dessen Fehlen benachrichtigt.

  • Um eine WiFi/WLAN Verbindung automatisch beim ersten Start von RaspberryMatic direkt einrichten/nutzen zu können (z.B. bei Nutzung eines RaspberryPi ZeroW) kann nun eine /boot/SetupWIFI Datei in der FAT32 basiertes bootfs Partition angelegt werden. Sobald in dieser Datei in der ersten Zeile die SSID und in der zweiten Zeile das Zugangspasswort vermerkt wird generiert RaspberryMatic nun automatisch die passende /etc/config/wpa_supplicant.conf Konfiguration und die startet die WLAN Verbindung entsprechend.

  • Entfernen der NETLINK Interfaceüberwachung für das “wlan0” interface das ansonsten zu regelmäßigen Neustarts von ifplugd führen konnte.

  • Hinzufügen der “-w” Option für den start von “ifplugd.eth0”. Dies sollte dem Netzwerk Setup die notwendige Zeit geben und erst mit dem Start des NTP und anderen Diensten fortfahren wenn das eth0 Interface korrekt hochgefahren wurde (siehe viewtopic.php?f=65&t=62143).

  • Entfernen aller Nutzungen der CONFIG_RTC_SYSTOHC Kerneloption sowie wiedereinführen der cron-basierten systohc RTC Clock Synchronisationen um die hardware clock Nutzung entsprechend zu verbessern.

  • Integration eines neuen ZRAM-basierten Swap Mechanismus (siehe https://github.com/StuartIanNaylor/zram-swap-config) welcher eine ZRAM-basierte Swap Partition dem System zur Verfügung stellt. Dies sollte das generelle Memory Management des Systems gerade in Situationen mit hoher Speicherauslastung verbessern.

  • Hinzufügen der “-e 1” Option für den nächtlichen BadBlocksCheck sodass bei Auftreten eines BadBlock Fehlers es zum sofortigen Abbruch und Fehlermeldung kommt, statt das gesamte Gerät nach weiteren Fehlern abzusuchen. Dies sollte harte Abstürze bei defekten SD karten vermeiden helfen und auch vermeiden das in Folge die badblocks.txt Datei das gesamte RAM aufbraucht.

  • Aktualisierung des “linux-firmware” Paketes auf die aktuellste 20201022 Version.

  • Aktualisierung des “ethtool” Paketes auf die aktuellste 5.9 Version um weitere Fehler zu beseitigen.

  • Aktualisierung des “Monit” Paketes auf die aktuellste 5.27.1 Version zur Beseitigung einiger Fehler (#993).

  • Aktualisierung der Java Umgebung auf die jeweils aktuellste 8.50.0.xxx-ca-jdk8.0.275 LTS Version.

  • Aktualisierung der Buildroot/Linux Umgebung auf die aktuelle 2020.08.2 Version.

  • Aktualisierung des RaspberryPi Linux Kernels samt passender RaspberryPi firmware auf die aktuelle 1.20201022 Version.

  • Aktualisierung der verwendeten Linux Kernelversion auf die aktuellste LTS 5.4.x version (5.4.77) für alle unterstützen Platformen.

Relevante Downloads:
RaspberryMatic (GitHub)

Weiterführende Seite:
Diskussionen im HomeMatic-Forum

Kommentieren

- Code scannen, um zur Orginalseite zu gelangen -