Nach nocht mal einem Monat hat Jens Gestern mittag wieder einmal eine neue RaspberryMatic Version veröffentlicht. Diese RaspberryMatic Version hört auf den Namen (3.53.34.20201121) und es gibt sie wieder für alle unterstützten Hardwareplattformen. Wie der Name verrät, basiert auch diese Version auf der aktuellen CCU3 Firmware 3.53.34 somit mit dieser zu 100% kompatibel. Auch diesmal kann auch diese neue RaspberryMatic Version wieder mit einigen über die CCU3 Firmware hinausgehenden Bugfixes und neuen Features überzeugen. Bei dieser Version handelt es sich wieder um eine MAJOR Version. Da zeigen die vielen Änderungen und Verbesserungen, welche nachfolgend beschrieben werden. Es gibt diesmal auch wieder einige Punkte, die mich begeistern, wie beispielsweise die Umstellung von RaspberryMatic auf eine 64bit Version.

Wichtige Info – Bitte beachten

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 das RaspberryMatic mit der reinen 64bit Zukunft weiter mithalten kann. Ein unmittelbarer Benefit davon ist z.B. das 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. Denn hier müssten Nutzer eines RaspberryPi2 einmalig mit der Umstellung auf diese neue Version Ihre SD-Karte bzw. RaspberryMatic komplett neu flashen. Das liegt daran, das 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.

Allgemeines

Hinweis:
Auf jeden Fall ist die Empfehlung vor jedem Update erst ein manuelles Backup zu erstellen. Dadurch hab ihr die Möglichkeit, bei auftretenden Problemen nach dem Update mit Hilfe eines aktuellsten Backups einfach euer System wiederherstellen zu können.

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 auch eine neue SD-Karte (bei Intsallation auf einem NUC nicht möglich!) 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.

Meine Installation:
Ich fahre mein produktives HomeMatic System seit Anfang des Jahres auf einem Intel NUC und das Update auf die Version 3.53.30.20201121 habe ich auch diesmal wieder mit der Update Funktion der WebUI durchgeführt. Dieses Update hat schnell und absolut problemlos funktioniert und folgendes läuft auch mit der neuen Version:

  • Alle HomeMatic wired Geräte funktionieren;
  • Die zwei LAN-Gateways (1x Raspberry Pi3 und 1x CCU2) funktionieren;
  • Alle HmIP Aktoren sind bisher nicht auffällig geworden;
  • Alle CuXD Geräte funktionieren einwandfrei;

Erste Erfahrungen:
Da ich gestern bereits kurz nach der Bereitstellung auf die neue Version upgedatet habe, ist die neue Version bei mir jetzt seit knapp 12 Stunden im Betrieb und die gesamte abendliche Automation ist ohne Schwierigkeiten durchgelaufen. Ich konnte keine Probleme feststellen. Gefühlt läuft RaspberryMatic in meiner Proxmox/VM Installation auf einem Intel NUC schneller. Anfangs hatte ich für knapp 30 Minuten einen deutlich höheren Duty Cycle, der sich aber von alleine schnell wieder auf den Standardwert von 17% eingependelt hat.

Liste aller Änderungen dieser RaspberryMatic Version (Infos von Jens Maus)

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 (viewtopic.php?f=65&t=61454&p=613916#p613916).
      • 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 (viewtopic.php?f=65&t=61869&p=612555#p612555).
  • 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 (siehe viewtopic.php?f=65&t=62135&p=615209#p615209).
  • 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.

Mitwirkende (dieser Version, alphabetisch):

Download Links

Die neue Version kann wie gehabt über den folgenden Link als *.zip Datei für die verschiedenen Modelle heruntergeladen und installiert werden Wichtig ist die für die jeweilige Hardware benötigte Version herunter zu laden und zu installieren. Wie bereits bei den Vorgängerversionen ist eine Unterscheidung anhand der Dateiendung möglich („-rpi3.zip“, „-rpi4“, „-rpi0.zip“ und „-tinkerboard.zip“, sowie „-CCU3.tgz“). Zusätzlich dazu gibt es nun noch eine Version für den Intel nuc unter dem Namen „-intelnuc.zip“., sowie eine Version für Open Virtual Appliance (OVA) – (ESXi, VirtualBox, Proxmox, Synology, QNAP, QEmu, HyperV) unter dem Namen: „-ova.zip“.

Hier findet ihr die jeweilige Firmware Version:

Danke

An dieser Stelle möchte ich nicht versäumen, Jens und seinen Mitstreitern, in diesem Fall Jerome Danke zu sagen für die wieder mal tolle Arbeit. Ich betreibe mein Smart Home seit Jahren mit einer RaspberryMatic Installation, angefangen über einen Raspberry Pi2 bis hinzu einem Raspberry Pi4. Zeitweise auch mal auf einem Asus Tinkerboard. Seit Anfang 2020 auf einem Intel NUC und unabhängig von der verwendeten Plattform läuft es immer zuverlässig.

2 Kommentare
  1. Avatar
    Rico sagte:

    Hallo zusammen,

    seitdem Raspberrymatic Philips hue nicht mehr unterstützt hat, habe ich kein Update mehr gemacht und auch die Entwicklung nicht weiter verfolgt. Daher gestattet mir kurz die Frage:
    Wird Philips hue inzwischen wieder unterstützt?

    Viele Grüße,
    Rico

    Antworten
  2. Avatar
    Manuel sagte:

    Sollte es durch „ AddonPopupScrollable“ tatsächlich möglich werden den „schließen“ Button im Zusatzsoftwarefenster auch bei kleinen Displays endlich sehen zu können?

    DAS wäre ja mal was

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.