Raspberrymatic – sehr umfangreicher Firmware update auf Version 3.55.10.20210213 verfügbar
Jens Maus hat gestern nach genau 7 Wochen eine neue offizielle RaspberryMatic Version (3.55.10.20210213) für alle unterstützten Hardwareplattformen freigegeben. Wie der Name schon verrät, basiert auch diese Version auf der aktuellen CCU3 Firmware 3.55.10 ist somit mit dieser zu 100% kompatibel und bringt alle Verbesserungen/Bugfixes mit. Die etwa zweiwöchige Verzögerung kam vor allem dadurch zustande, dass größere Änderungen in diese Version eingeflossen sind und diese höhere Entwicklungs- und Testzeiten notwendig machten. Es handelt sich wieder um eine Major Version, in der auch die Familie der unterstützten Hardwareplatformen um ein paar Plattformen gewachsen ist. Besonders ist hier die Umsetzung von RaspberryMatic als sogenanntes „Home Assistant Add-on“ zu nennen. Auch gibt es wieder eine Vielzahl von sehr interessanten Verbesserungen an der WebUI.
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. Ich habe das erstmalig über die neue Funktion „Direkt auf CCU laden und installieren„. Damit kann der Umweg über den Download auf PC oder MAC umgangen werden. Das hat bei mir wunderbar und richtig flott funktioniert.
Meine Installation:
Ich fahre mein produktives HomeMatic System seit Anfang des Jahres 2020 auf einem Intel NUC und das Update auf die Version 3.55.5.20210213. Dieses Update hat wie oben beschrieben 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;
Highlight HOME ASSISTENT
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. Diese erlaubt es neben einer großen Menge von Dritttanbieter-Systemen (z.B. Philips Hue, SONOS, etc.) auch die jeweilige Zentralensoftware – wenn möglich – auf ein und dem selben System zu betreiben. Das bedeutet, das es mit der Umsetzung von RaspberryMatic als „Home Assistant Add-on“ jetzt möglich ist, 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).
Möglich machte diese Add-on Umsetzung erst die generelle Umsetzung von RaspberryMatic als sogenannte Docker– bzw. Open Container Initiative (OCI) Lösung. Dadurch 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.
Liste aller Änderungen dieser RaspberryMatic Version (Infos von Jens Maus)
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).
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 Alex und 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.
Ist es denn möglich, das Funkmodul direkt am „Docker PC“ zu betreiben oder klappt das mit dem Durchreichen des Sticks weiterhin nicht?