3.55.10.20210213 freigegeben

Created with Sketch.

Nach einer etwas länger als geplanten Entwicklungszeit, habe ich soeben eine neue offizielle RaspberryMatic Version (3.55.10.20210213) für alle unterstützten Hardwareplattformen freigegeben. Die etwa zweiwöchige Verzögerung kam vor allem dadurch zustande, dass größere Änderungen die in diese Version eingeflossen sind, ausgiebigere Entwicklungs- und Testzeiten notwendig machten. Umso mehr freue ich mich nun natürlich, diese neue Major-Version von RaspberryMatic für jedermann nun endlich freigegeben zu haben.

Neben dem Umstand, dass diese neue Version nun auch volle Kompatibilität zur eQ3 OCCU/CCU3 3.55.10 Firmware mit sich bringt, ist auch die Familie der unterstützten Hardwareplatformen erfreulicherweise um ein paar Plattformen angewachsen. Allem voran sei hier die Umsetzung von RaspberryMatic als sogenanntes “Home Assistant Add-on” zu nennen. Wem Home Assistant noch kein Begriff ist, sei gesagt, dass es sich hierbei um eine sehr potente und stark wachsende Middleware (ähnlich wie ioBroker) handelt, die es erlaubt neben einer großen Menge von Dritttanbieter-Systemen (z.B. Philips Hue, SONOS, etc.) auch die jeweilige Zentralensoftware – wenn möglich – auf ein und das selbe System zu konsolidieren. D.h. mit der Umsetzung von RaspberryMatic als “Home Assistant Add-on” ist es nun möglich auf seinem bestehendem Home Assistant System (das entweder selbst auf einem RaspberryPi oder auch rein virtuell betrieben werden kann) zusätzlich RaspberryMatic als HomeMatic Zentralensoftware laufen zu lassen um darin dann wie gewohnt seine HomeMatic/homematicIP Geräte zu pflegen (mehr dazu siehe Installation-HomeAssistant).

ha-addon-step0.png
Beispiel Screenshot – Home Assistant mit RaspberryMatic Add-on

Möglich machte diese Add-on Umsetzung erst die generelle Umsetzung von RaspberryMatic als sogn. Docker– bzw. Open Container Initiative (OCI) Lösung. D.h. nun ist es zusätzlich möglich RaspberryMatic auf existierenden amd64, aarch64 oder armhf Systemen (z.B. RaspberryPi3/4, intelNUC, etc.) als reiner “Docker-Container” virtuell zu betreiben, um so die CCU Zentralensoftware auf seinem ggf. bereits bestehenden Ubuntu/Debian/Linux System laufen zu lassen. Darüberhinaus wurde die Docker-Umsetzung in RaspberryMatic sogar soweit umgesetzt, dass sogar eine direkte Unterstützung für sogenannte Kubernetes/K8s Umgebungen implementiert wurde.

Zusätzlich zu der Unterstützung dieser neuen Plattformen, sei als weiteres “Highlight” dieser neuen Major-Version noch die Unterstützung für die von Alexander Reinert mit großem Einsatz entwickelten HB-RF-ETH Adapterplatine genannt. Mit dieser Adapterplatine ist es – ähnlich wie bei den anderen HB-RF-USB und HB-RF-USB2 Platinen – möglich, ein RPI-RF-MOD oder HM-MOD-RPI-PCB Funkmodul abgesetzt von der eigentlichen CCU-Zentrale zu betreiben, um so nicht nur eine größere Flexibilität beim Standort des Funkmodules zu haben, sondern durch das Absetzen auch gleich noch eine bessere Sende-/Empfangsqualität zu erreichen. Entgegen den USB-basierten Varianten der Adapterplatine, ist es mit dieser Ethernet/LAN-basierten Variante nun möglich diese an einem beliebigen Ort in seinem lokalen Netzwerk (sogar mit PoE Unterstützung) zu positionieren um so einen optimaleren Standort für das Funkmodul zu finden, während die eigentliche CCU Zentrale dann an einem taktisch besseren Ort (z.B. im Keller/Serverraum) verbleiben kann.

:construction: Änderungen:

Wie immer kann die komplette Liste aller in dieser Version umgesetzten Änderungen/Bugfixes hier eingesehen werden:

Major-Änderungen:

  • Unterstützung für den Betrieb von RaspberryMatic als Add-on unter Home Assistant. RaspberryMatic kann nun als vollwertiges Add-on unter Home Assistant OS genutzt werden. Dies ermöglicht z.B. den parallelen Betrieb als Home Assistant und HomeMatic CCU Zentrale auf der selben Hardware (siehe Dokumentation, #1087).
    Bitte beachten: Die aktuelle Umsetzung als Home Assistant Add-on hat immer noch Beta-Qualität! Zwar sind alle gängigen WebUI Features bereits umgesetzt und voll lauffähig, jedoch fehlt noch die notwendige Umsetzung der benötigten Kernelmodule um innheralb des Add-ons dann auch direkt ein RPI-RF-MOD oder HM-MOD-RPI-PCB Funkmodul nutzen zu können. Die HomeMatic/homematicIP Konnektivität kann also aktuell lediglich mit einem HmIP-RFUSB, HM-LGW-O-TW-W-EU, HM-CFG-USB-2, HM-CFG-LAN and HMW-LGW-O-DR-GS-EU umgesetzt werden. Die Unterstützung für das RPI-RF-MOD/HM-MOD-RPI-PCB (inkl. HB-RF-USB/ETH) ist daher noch “Work-In-Progress” (siehe #1087).
  • Unterstützung für den Betrieb von RaspberryMatic als reine Docker– bzw. Open Container Initiative (OCI) Container hinzugefügt. RaspberryMatic kann nun alternativ als reiner Docker-Container unter bereits bestehenden amd64, aarch64 oder armhf Systemen unter Linux oder Windows Systemen als reine virtual appliance betrieben werden (siehe Dokumentation, #786, @angelnu).
  • Grundsätzliche Unterstützung für den Betrieb von RaspberryMatic unter einer Kubernetes/K8s Umgebung mit entsprechender Unterstützung einer einfachen Installation mittels Helm Charts unter ArtifactHub hinzugefügt (siehe Dokumentation, @angelnu).
  • Unterstützung für die HB-RF-ETH Adapterplatine hinzugefügt. Diese, freundlicherweise von Alexander Reinert (@alexreinert) in Eigenregie entwickelte, Adapterplatine erlaubt es ein RPI-RF-MOD oder HM-MOD-RPI-PCB Funkmodul abgesetzt von der eigentlichen CCU Zentrale frei im lokalen Netzwerk zu nutzen. Für das grundsätzliche Setup unter RaspberryMatic muss hierbei lediglich eine Datei “/etc/config/hb_rf_eth” angelegt werden in der die statische IP-Adresse der HB-RF-ETH Adapterplatine vermerkt ist. Danach sollte beim Hochfahren von RaspberryMatic automatisch die Verbindung zum Funkmodul über das angegebene HB-RF-ETH erfolgen und folglich angebunden werden (#873).
    Bitte beachten: Die Unterstützung für das HB-RF-ETH hat immer noch experimentellen Status. Durch Abhängigkeiten bei der Entwicklung der notwendigen Kerneltreiber und der Firmware des HB-RF-ETH selbst ist es notwendig, dass vor eventl. zukünftigen Firmware-Updates des HB-RF-ETH die Kompatibilität mit der Version der in RaspberryMatic integrierten Kerneltreiber überprüft wird. Ansonsten kann es passieren, dass das HB-RF-ETH nach einem Firmware-Update nicht mehr von den Kerneltreibern angesprochen werden kann. Die in dieser Version integrierten Kerneltreiber des HB-RF-ETH tragen die Version 1.14 welche aktuell bis zur Version 1.2.9 der HB-RF-ETH Firmware kompatibel ist.

CCU/HomeMatic-System Änderungen:

  • Aktualisierung der OCCU Umgebung auf Version 3.55.10-2 die neben einer vollen Kompatibilität zur CCU3 3.55.10 Firmware folgende Verbesserungen mit sich bringt:
    • Einzelne Konfigurationsparameter einzelner Geräte konnten nicht verändert werden. Betroffen waren sowohl Homematic IP als auch Homematic Geräte.
    • Korrektur von Standardkonfigurationswerten des HmIP-SCTH230.
  • Überwachung eines angebundenen HB-RF-ETH als zusätzlichen Monit-WatchDog umgesetzt. Bei Ausfall der Verbindung zu einem HB-RF-ETH wird nun innherlab von 13 Sekunden eine entsprechende Alarmmeldung in der WebUI generiert.
  • Bei Einsatz eines RPI-RF-MOD Funkmodules wird dieses nun automatisch als separates Gerät mit aufgelistet und erlaubt über den darin inbegriffenen Maintenance-Kanal (:0) nun die direkte Überwachung des DutyCycle oder CarrierSense Levels.
  • Zusätzliche CarrierSense-Überwachung hinzugefügt. Bei Existenz eines “RPI-RF-MOD”, “HmIP-CCU3” oder “HmIP-HAP” Gerätes wird nun dessen “CARRIER_SENSE_LEVEL” überwacht. Sobald dieser Wert über 80% steigt wird eine Warnung im Syslog erzeugt. Zusätzlich wird ab einem Wert von 98% eine entsprechende Alarmierung in der WebUI erzeugt um Nutzer direkt über diesen Umstand zu informieren.
  • Aktualisierung des notwendigen “generic_raw_uart” Kerneltreibers auf die aktuellste verfügbare Version.
  • Aktualisierung des “detect_radio_module” Tools zur Erkennung aller Parameter eines RPI-RF-MOD/HM-MOD-RPI-PCB auf die aktuellste verfügbare Version.
  • Latin1/ISO-8859-1 Textkodierung im “/bin/hm_autoconf” Skript sichergestellt um mit den Interna in ReGaHss konform zu sein.
  • Unterstützung für die Anzeige der DutyCycle-Werte von angebundenen HmIP-HAP basierten LAN Gateways hinzugefügt. Auf der Hauptseite der WebUI können nun bis zu 15 DutyCycle Anzeigen von RF-Gateways dargestellt werden. Des Weiteren wurde die genutzte ProgressBar nun mittels einer Standard Javascript-Klasse umgesetzt die eine verlässlichere Anzeige des DutyCycle ermöglicht. Auch werden nun bei Überschreibung des DutyCycle von angebundenen HmIP-HAP Gateways ein entsprechender WebUI Alarm erzeugt und auch der Status angebundener HmIPW-DRAP mit überwacht (#1019, #605, @jp112sdl).
  • Reparatur des ‘multimacd’ Monit-WatchDog checks durch Überprüfung der Existenz der /var/etc/multimacd.conf Datei statt nur nach /dev/eq3loop zu prüfen.
  • Schaffen der Möglichkeit über das Anlegen einer “/etc/config/CustomStoragePath” Datei den Pfad für das Speichern der Diagramme und nächtlichen Backups selbst zu definieren. Damit können Nutzer, die keinen USB Stick zur Speicherung der Diagramme/Backups nutzen wollen/können, z.B. einen Netzwerkpfad zu einem netzwerkinternen NAS System spezifizieren und dann werden die angelegten Diagramme/Backups automatisch in diesem Pfad abgelegt (#914).

WebUI Änderungen:

  • Anpassung des “0088-WebUI-Fix-MissingJSONMethods” WebUI Bugfix Patches um eine weitere fehlende JSON Methodendatei (/www/api/methods/ccu/getversion.tcl) hinzuzufügen damit die “CCU.getVersion” JSON API Funktion korrekt nutzbar ist (#1123).
  • Anpassung des “0097-WebUI-SetSysvarValueByUser” WebUI patches, sodass beim Editieren des Inhaltes von Systemvariablen in der WebUI automatisch verhindert wird das die reservierten “‘” und “\” Zeichen verwendet werden (#1111, @jp112sdl).
  • Anpassung des “0001-RaspberryMatic” WebUI Patches, sodass für die Hauptseite statt einer “top.window.location.href” Umleitung eine reine “window.location.href” Umleitung verwendet wird und dadurch es einfacher möglich wird die WebUI in andere Webseiten zu integrieren.
  • Neuer “0110-WebUI-Fix-cp_software-Typo” WebUI Bugfix-Patch hinzugefügt, der ein geringfügiges Problem in “cp_software.cgi” beseitigt (siehe eq-3/occu#110).
  • Neuer “0109-WebUI-Fix-SystemLanguageDefaultNames” WebUI Bugfix-Patch hinzugefügt, welcher alle intern genutzten “${…}” Bezeichner, die fälschlicherweise in externen APIs (z.B. XML-RPC, JSON-RPC, ReGa-Skripts, etc.) mit exportiert wurden, in eine global wählbare “Systemsprache” übersetzt. Das bisher als “Klarnamenbug” bekannte Problem wurde dadurch beseitigt, das der Nutzer nun einmalig eine Systemsprache auswählt und dann diese internen Bezeichner für Räume, Funktionen und interne Systemvariablen in die ausgewählte Sprache einmalig umbenannt werden (#1070, @jp112sdl).
  • Anpassung der “0001-RaspberryMatic” und “0012-WebUI-RecoveryButton” WebUI Patches um WebUI Feature, die in der Docker/OCI Platform nicht benötigt werden, komplett zu deaktivieren oder auszublenden (#1093).
  • Anpassung des “0039-WebUI-Fix-Style-Glitches” WebUI Patches um im “Baumstruktur öffnen” Knopf einen “<br/>” Zeilenumbruch unterzubringen.
  • Neuer “0108-WebUI-ShowInvisibleHmIPChannelsInPrograms” WebUI Patch hinzugefügt der es nun erlaubt in WebUI Programmen bisher unsichtbare HmIP Kanäle (bei Bedingungen und Aktivität) zu nutzen welches nun mit der WebUI Dokumentation besser übereinstimmen sollte.
  • Neuer “0107-WebUI-Fix-rgbw.fn-CheckMetaDataIsNotNULL” WebUI Bugfix Patch hinzugefügt der aufgetretene “ScriptRuntimeError” Meldungen bei der Nutzung eine RGB Auswahldialoges beseitigt (#1052, @jp112sdl).
  • Neuer “0106-WebUI-Improvement-TreatOPERATOR_NONEasOPERATOR_OR ” WebUI Patch hinzugefügt welches es nun erlaubt auch interne Systemprogramme korrekt via Bearbeitung in der WebUI zu modifizieren (#462, @jp112sdl).
  • Neuer “0105-WebUI-Fix-DeviceInBoxHmIPOnly” WebUI Bugfix Patch hinzugefügt, welcher vermeintliche Falschmeldungen beim Starten des Anlernmodus bei Nutzung eines HmIP-RFUSB beseitigt. Hier kam es zu ignorierbaren Fehlermeldungen, das der HomeMatic (BidCos-RF) Anlernmodus nicht gestartet werden konnte (#372).
  • Neuer “0104-WebUI-Add-AssignFunctionAndRoomToHmRFChan0” WebUI Patch hinzugefügt der nun standardmäßig dafür sorgt das die bisher verborgenen Maintenance-Kanäle “:0” von HomeMatic+homematicIP Geräten mit in der Geräteübersicht in der WebUI angezeigt und folglich nun auch Raum- und Gewerkinformationen einfacher/intuitiver zugewiesen werden können (#976, @jp112sdl).
  • Neuer “0102-WebUI-Fix-TrailingNewLineInFirewallIPTextarea” WebUI Bugfix Patch hinzugefügt, welcher bei der Eingabe von IP-Adresses in der WebUI Firewall sicherstellt das störende Whitespaces entfernt werden (#1038, @jp112sdl).
  • Neuer “0101-WebUI-Fix-JSON-describe” WebUI Bugfix Patch hinzugefügt der invalide JSON Response strings bei “system.describe” Requests beseitigt (#1037).

Betriebsystem Änderungen:

  • Optimierung der Lüftersteuerung in “/opt/argononed/argononed.sh” (#1116).
  • Hinzufügen eines neuen Monit-WatchDog Checks der bei Nutzung einer eMMC (z.B. bei Einsatz eines Tinkerboard S) in regelmäßigen Abständen Lebenszyklus Einträge der eMMC überwacht und eine WebUI Alarmierung auslöst wenn die Lebenzeit der eMMC über 90% ausgeschöpft ist.
  • Aktualisierung der Monit Version auf die aktuell stabilste 5.27.2 um wichtige Bugs zu beseitigen (#1114).
  • Aktualisierung des RaspberryPi Kernel+Firmware auf die aktuellste 5.4.83 LTS-patch Version.
  • Aktualisierung der Linux Kernel Versionen für die intelNUC, OVA und Tinkerboard Platform auf die aktuellste 5.4.94 LTS Version.
  • Aktualisierung der mitgelieferten RaspberryPi4 EEPROM Version auf aktuell stabile “pieeprom-2021-01-16.bin” Version.
  • Aktualisierung des e1000e Paketes auf die aktuellste 3.8.7 Version.
  • Aktualisierung der JAVA Umgebung auf die aktuellste 8.52.0.23-ca-jdk8.0.282 LTS Version.
  • Aktualisierung der Buildroot/Linux Umgebung auf die aktuelle 2020.11.2 Version.
  • Hinzufügen einer “/etc/profile.d/node-path.sh” profile Datei die den Standard NODE_PATH setzt damit bei Ausführung von nodejs Anwendungen der korrekte Standardpfad zu bereits vorinstallierten node modulen gesetzt ist.
  • Nutzer können nun zur automatischen Einrichtung einer WiFi/WLAN Verbindung eine “SetupWIFI” Datei auch unter /etc/config ablegen. Nach einem Neustart werden dann daraus automatisch die Zugangsdaten dazu genutzt die passende wpa_supplicant.conf Datei zu generieren.
  • Beseitigung aller vom “shellcheck” Lintertool angemerkten Fehler und Warnungen in genutzten Shellskripten.
  • Aktivierung des Memory- und CPU-Hotplugging für die OVA Plattform um mittels zusätzlicher udev rules es zu ermöglichen zur Laufzeit zusätzliches RAM oder CPU Ressourcen der virtuellen Maschine zuweisen zu können.
  • Hinzufügen eines eigenen “S13irqbalance” Skriptes that vor Start von irqbalance das notwendige “/run/irqbalance” Verzeichnis anlegt.
  • Hinzufügen des fehlenden CONFIG_PID_FILE_PATH Pfades um es zu ermöglichen das man in cron Dateien auch spezielle “@” statements (@yearly, @montly, etc.) nutzen kann.
  • Hinzufügen der notwendigen “CONFIG_X86_INTEL_LPSS=y” kernel option um für die intelNUC Plattform den eMMC Support zu ermöglichen.
  • Bugfix für die korrekter Unterstützung eines RaspberryPi400 hinzugefügt wenn dieser via USB Medium gestartet werden soll.
  • Ersetzen des bisherigen OVA-basierten Checks für das Speichern von Diagramme und Backupdateien im alten “/usr/local/sdcard” Pfad (z.B. in einem lokalen Verzeichnis) gegen einen Check for nicht-mcc basierte (SD Karten) Medien generell. Dies sollte es ermöglichen, dass beim Booten über ein USB Medium automatisch dieses mit für das Speichern von Diagrammen und täglichen Backups genutzt wird statt ein weiteres externes USB Medium nutzen zu müssen (#1026).
  • Sicherstellen das die “HM_LED_XXX” Triggerwerte niemals leer sind, sodass es auch mitunter nicht mehr zu “write error” Ausgaben kommen sollte wenn die rootfs Gerätetrigger nicht korrekt identifiziert werden können (#1028).
  • Entfernen der obsoleten “CONFIG_PGTABLE_MAPPING” Kerneloption, da diese für etwaige Speicherbezogene Probleme bekannt war.
  • Sicherstellen, das die vom Linux kernel bereitgestellten, sogenannten “disk-activity” LED Trigger auf allen unterstützen Plattformen prinzipiell verfügbar sind.
  • Sicherstellen das “root:root” auch als Nutzer und Gruppe unter allen Umständen für das /usr/local/etc angegeben ist, da es sonst zu problemen bei der Aktivierung des SSH Zugangs kommen konnte (siehe viewtopic.php?p=630194#p630121).
  • Hinzufügen der USB-Host LED Trigger Funktionen im Linux kernel der es potentiell erlauben sollte USB-Geräte bezogene LED Steuerungen umzusetzen (#1028).

: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!