Raspberrymatic – Firmware update auf Version 3.59.6.20210911 verfügbar
Nach einem Monat hat Jens am 11.09.2021 eine neue Raspberrymatic Formware mit der Version (3.59.6.20210911) für alle unterstützten Plattformen als „Maintenance Release“ freigegeben. Wenn man sich die aktuelle Änderungeliste anschaut, muss man zugeben, dass sich diese echt sehen lassen kann. Alleine die Menge der Änderungen zeigt, das die Entwicklung von Raspberrymatic lebt. Neben einigen sehr wichtigen Bugfixes, welche in der neuen Version eingeflossen sind, wurde auch wieder das eine oder andere neue Feature mit aufgenommen. Dadurch bin ich der Meinung, das die neue Version für jeden Anwender als interessant herausstellen. Ich schließe mich der Empfehlung von Jens an und kann die neue Version jedem empfehlen. Für mich persölich war interessant, wie der Update mit den neuen HomeMatic IP wired Komponenten funktioniert. Habe meine Gartensteuerung (Licht und Bewässerung) umgestellt.
Aktuelles
Zu erwähnen wären dieses mal vor allem Änderungen am WatchDog Mechanismus, der nun für jede WatchDog Meldung eine separate Systemvariable generiert und es somit nicht nur erlaubt kurz aufeinander folgende WatchDog-Alarmmeldungen besser nachzuvollziehen, sondern dadurch auch individueller in Programmen auf gewissen Alarmmeldungen reagieren zu können. Des Weiteren werden nun auch etwaig anstehende Updates von CCU-Addons mit auf der Hauptseite der WebUI angezeigt und sind somit einfacher ersichtlich. Und letztendlich gab es auch im Bereich der Anpassungen des zugrundeliegenden Linux-Betriebssystems wieder einige Änderungen/Verbesserungen die neben einigen Bugfixes auch auf Sicherheitsverbesserungen abzielen und auch in Punkto Sicherheit RaspberryMatic einen wesentlichen Schritt vor die Standard CCU3 Firmware setzen die leider immer noch auf eine ziemlich alte Buildroot Umgebung setzt und damit an unterschiedlichen Stellen auch nicht mehr ganz dem üblichen Stand in Punkto Sicherheit entspricht. Abgesehen davon sind natürlich diesmal wieder ein paar kleinere und größere Änderungen vorgenommen worden die hoffentlich auch diese Version wieder zu einer der stabilsten Versionen machen sollte.
Allgemeines
Dieses Mal habe ich wieder eine komplette Abendverarbeitung und Morgenverarbeitung abgewartet, um dann diesen Artikel zu veröffentlichen. Das Alles hat in meiner Installation mit insgesamt 169 Aktoren einwandfrei funktioniert. Ich betreibe in meinem Smart Home aufgrund der Erstinstallation vor zirka 5 Jahren einen Mix aus HomeMatic Funk, HomeMatic wired, HomeMatic IP Funk und seit letztem Monat auch HomeMatic IP wired Aktoren. Bisher gab es keine negativen Auffälligkeiten.
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 Installation 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.59.6.20210911. 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;
- Ein neuer HAP als (HmIP LAN Router) läuft problemlos;
- Alle HmIP Aktoren sind bisher nicht auffällig geworden;
- Alle CuXD Geräte funktionieren einwandfrei;
Liste aller Änderungen dieser RaspberryMatic Version direkt von Jens.
CCU/HomeMatic-System Änderungen:
- Fix eines Bugs der durch Fehlen einer eigenen 64bit Version von „libNRJavaSerial“ verhinderte, das die Funkmodul-Firmware eines RPI-RF-MOD/HM-MOD-PRI-PCB auf die jeweils aktuellste Version aktualisiert werden konnte (#1387).
- Erweiterung des „/bin/triggerAlarm.tcl“ Kommandotools um die Möglichkeit mittels eines zusätzlichen Parameters die anzulegende Alarmvariable als „systemintern“ zu markieren und damit von der normale Auflistung der Systemvariablen auszunehmen.
- WatchDog Alarmmeldungen werden nun mittels unterschiedlicher systeminterner Alarmvariablen ausgegeben statt alle WatchDog Meldungen in einer einzigen Alarmvariable unterzubringen. Dies ermöglicht, das mittels eigener WebUI Programme man auf ausgewählte Alarmmeldungen entsprechend reagieren kann. Des Weiteren wurden nun alle WatchDog Alarmmeldungen so umgestellt, das die zu generierenden Alarmvariablen alle mit „WatchDog: XXXXX“ beginnen und XXXXX hierbei einer individuellen Alarmmeldung entspricht (#1321).
- Umsetzung eines neuen monit-basierten WatchDog Checks der bei Einsatz eines RaspberryPi4 überprüft ob einer der blauen USB3 Ports parallel mit einem Funkmodul am GPIO Bus zum Einsatz kommt. Diese Kombination (Pi4 + USB3 + GPIO) ist nämlich dafür bekannt, das es dabei zu Funkbeeinträchtigungen kommt, da der RaspberryPi4 leider über den USB3 Bus größere Störstrahlung aussendet und damit ein Funkmodul, welches direkt am GPIO Bus betrieben wird, nicht mehr fehlerfrei eingesetzt werden kann. Die in diesem Fall erzeugte WatchDog Alarmmeldung soll auf diesen Umstand aufmerksam machen, kann jedoch durch anlegen der Statusdatei „/etc/config/rpi4usb3CheckDisabled“ auch deaktiviert werden (cf. viewtopic.php?f=65&t=69421).
- Umsetzen eines Bugfixes in „/bin/ha-proxy.js“ welcher durch eine falsche Position des „\u0027“ strings in einer regular expression dazu führte, das bei Einsatz von RaspberryMatic als HomeAssistant Add-on Dateiuploads mitunter nicht korrekt funktionierten (#1368).
- Aktualisierung des „generic_raw_uart“ Treibers auf die aktuellste 1.20 Version.
- Beseitigung eines Problems im Medioa NEOserver Add-on welches bei Einsatz der CCU eigenen HTTPS Umleitung dazu führte das die Konfigurationsseite des Addons nicht mehr aufgerufen werden konnte (#1382).
- Optimierung des FirewallSetups des RaspberryMatic Add-ons unter HomeAssistant, da hier der „ha-proxy“ Dienst nicht korrekt erkannt wurde und folglich die Konfigurationsseiten von RaspberryMatic aus HomeAssistant heraus mitunter nicht aufgerufen werden konnten. Zusätzlich wurde auch noch die Add-on Konfiguration so angepasst das nun die notwendigen Rechte existieren sollten, das das RaspberryMatic Add-on auf die Netzwerkkonfiguration korrekt zugreifen kann
- Die Initialisierung des „CustomStoragePath“ setups wurde in die Startupdatei des HMIPServer Dienstes verschoben, damit bei Nutzung eines CustomStoragePath auf einem Netzwerklaufwerk dieses korrekt verwendet werden kann (#1377).
- Aktualisierung des Mediola NEO Server Add-on auf die aktuellste 2.7.1 Version.
WebUI Änderungen:
- Umsetzung eines neuen „0134-WebUI-Add-ShowInternalSysvars“ WebUI Patches, welcher Funktionalität hinzufügt damit systeminterne Systemvariablen wie „Alarmmeldungen“, „Servicemeldungen“ in der WebUI Konfiguration mit angezeigt und teilweise editiert werden können (#1400, @jp112sdl).
- Optimierung des „0072-WebUI-Fix-hm_autoconf“ WebUI Patches, sodass statt fester Zahlenwerte nun entsprechend die Identifier „ID_GW_SYSALARM“ und „ID_GW_SYSSERVICE“ Verwendung finden.
- Umsetzen eines neuen „0133-WebUI-Fix-AlarmSysVarInternal“ WebUI Patches, welcher nun bei der Anzeige der aktuellen Alarmmeldungen auch systeminterne Alarmmeldungen nun mit ausgibt, statt diese zu übergehen. Dies sollte das Problem beheben das manchmal zwar Alarmmeldungen angezeigt wurden, dann aber in der Auflistung nicht korrekt auftauchten.
- Implementierung eines neuen „0132-WebUI-Fix-UnitDisplay“ WebUI Patches, der bei Anzeige von Einheiten sicherstellt, das zwischen Zahlenwert und Einheit immer ein notwendiger Space mittels „ “ Einfügung angezeigt wird.
- Umsetzung einer weiteren Verbesserung des „0119-WebUI-Fix-ProofAndSetValue“ WebUI Patches, welcher weitere falsche Gleitkommanutzungen bzgl. „ProofAndSetValue“ Funktion für die „COND_TX_THRESHOLD_LO“ und „COND_TX_THRESHOLD_HI“ Parameter von HmIP-basierten Stromsensoren wie „HmIP-PSM“ umsetzt (cf. viewtopic.php?f=65&p=677137#p677136).
- Neuer „0131-WebUI-ShowAddonUpdatesOnStartpage“ WebUI Patch, welcher nun auf der Startseite auch auf etwaig anstehende Updates von installierter Zusatzsoftware aufmerksam macht (#1384, #1385, @jp112sdl).
- Anpassungen am „0119-WebUI-Fix-ProofAndSetValue“ WebUI Patch vorgenommen um weitere Fixes bzgl. der Nutzung der „ProofAndSetValue()“ Funktion umzusetzen, da für manche Gerätetypen es nicht möglich war entsprechende Gleizkommazahlenwerte mit den notwendigen Nachkommastellen in den Geräteeinstellungen einzugeben (#1383, @Baxxy13).
- Neuer „0130-WebUI-Fix-ChannelSysVarPrefix“ WebUI Patch hinzugefügt, welcher einen Bug beseitigt der bei kanalverknüften Systemvariablen fälschlicherweise immer in WebUI Programmen den Prefix „Optisches Signal: Akustisches Signal:“ anzeigte (#1376).
- Überarbeitung des „0124-WebUI-Fix-ShowMultipleSpacesInSysVar“ WebUI Patches damit die Umsetzung mittels CSS style Anweisungen statt durch Nutzung von mehreren „ “ durchgeführt wird. Dies behebt ein Problem welches verhinderte das man inline html code in Systemvariablen korrekt einsetzen konnte (#1375).
- Anpassung des „0042-WebUI-HeatingControl-BatteryValveState“ WebUI Patches damit die Ventilöffnung nur ein einzelnes Mal für Geräte mit „HEATING_CONTROL_HMIP.LEVEL“ Datenpunkt dargestellt wird (#1374).
- Neuer „0127-WebUI-Sort-FirmwareOverview“ WebUI Patch hinzugefügt, welcher die Gerätefirmware nach Gerätetyp und Adresse sortiert (#1370, @Maik2208).
- Neuer „0129-WebUI-delete-debuggingoutput“ WebUI Patch hinzugefügt, welcher ein überflüssiges Debugpopupfenster entfernt (#1371, @Maik2208).
- Neuer „0128-WebUI-Fixing-Label-ControlPanel“ WebUI Patch hinzugefügt, welcher die Formatierung des englischen Textes des Update-Buttons für Access Points repariert (#1369, @Maik2208).
Betriebsystem Änderungen:
- U-Boot Patch integriert der ein Problem bei der Numerierung von USB Geräten beim booten beseitigt (cf. https://github.com/home-assistant/opera … /pull/1529).
- Änderung des „vm.min_free_kbytes“ sysctl Wertes auf 16384 für die RaspberryPi platform um die Systemstabilität in speicherintensiven Situationen zu verbessern (cf. https://github.com/home-assistant/opera … /pull/1525).
- Änderung aller internen „ln -sf XXX“ Kommandonutzungen zu „ln -sfn XXX“, sodaß sichergestellt ist, das der eigentliche symbolische Link ersetzt wird und nicht dessen Ziel. Dies sollte mögliche Probleme bei der Erzeugung von symbolischen Links beseitigen helfen (#1377).
- Möglichkeit hinzugefügt durch anlegen eines „/usr/local/etc/rc.prelocal“ Shell-Skriptes nutzerbezogene Dinge auszuführen bei denen die Netzwerkschnittstelle korrekt initialisiert sein muss, jedoch die HomeMatic Dienste noch nicht gestartet sein dürfen. Dies sollte es ermöglichen, etwaige Netzwerklaufwerke beim Booten vor deren Nutzung anbinden zu lassen (#1377, cf. https://github.com/jens-maus/RaspberryM … otvorgangs).
- Nutzung des „CONFIG_OF_BOARD“ Parameters für die U-Boot Konfigurationen aller RaspberryPi Boards umgesetzt, sodass nun jeweils der Hardware-spezifische DeviceTree verwendet wird. Zusätzlich musste der „CONFIG_REQUIRE_SERIAL_CONSOLE=n“ Parameter hinzugefügt werden, da es ansonsten passieren konnte das ausgewählte RaspberryPi Modelle nicht mehr booten konnten (#1378).
- Reparatur eines Problems im Startup-Skript des „xe-daemon“ für die Gastadditions in einer XenServer-basierten Umgebung welches dazu führte, das der Daemon nicht in den Hintergrund gesetzt wurde (#1381).
- Anpassungen an den Dateiupload CGI Skripten vorgenommen, sodass bei fehlendem „HTTP_CONTENT_LENGTH“ Query Parameter stattdessen „CONTENT_LENGTH“ verwendet wurde. Dies repariert ein Problem, das dazu führte, das im Falle der Nutzung von RaspberryMatic als HomeAssistant Add-on Dateiuploads in die WebUI bei Umleitung via Ingress nicht funktionierten und so die Installation von CCU Addons nicht funktionierten (#1368).
- Hinzufügen weiterer Intel-basierter IWLWIFI Firmwaredateien zur breiteren Unterstützung weiterer intelNUC Modelle.
- Hinzufügen eines potentiellen U-Boot Fixes der ein Problem beseitigt welches bei verbundenem USB Keyboard zu Bootproblemen führen konnte (cf. https://github.com/home-assistant/opera … /pull/1541)
- Reduzierung des „-t XX“ Timeout Wertes im Aufruf von „udhcpc“ umgesetzt. Dadurch sollte bei einem nicht aktiven DHCP Server die Bootup Zeiten signifikant reduziert werden und der Bezug der IP-Adresse früher im Hintergrund stattfinden.
- Aktualisierung der U-Boot Versionen für die rpi0 und rpi2 Platform auf die 2021.04 Version, da durch die erfolgten Verbesserungen bzgl. „CONFIG_BOARD“ nun ein Booten mit dieser neueren Version möglich ist.
- Aktualisierung der RaspberryPi Kernelversion auf die aktuellste 1.20210831 (5.10.60) Version, sowie Aktualsierung der Firmware/Bootloader auf die 1.20210805 Version.
- Aktualisierung des verwendeten Linux Kernels für die ova, intelnuc, odroid und tinkerboard Platform auf die aktuellste 5.10.62 Version.
- Aktualisierung der genutzten Buildroot/Linux Version auf die aktuellste 2021.08 Version.
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“). Zu beachten ist, das auf Grund der Unterstützung unterschiedlicher Geräte es getrennte Installationsarchive (*.zip Dateien) gibt die für die folgende Hardware jeweils einheitlich ist:
Hier findet ihr die jeweilige Firmware Version:
Danke
An dieser Stelle möchte ich nicht versäumen, Danke zu sagen an Jens und seinen Mitstreitern 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.
Hi! Gibt es eigentlich mittlerweile ein Lösung für dieses Problem mit dem Timeout wenn man eine „zu langsame“ SD Karte hat und das Update abbricht, weil das Entpacken zu lange dauert?
Nevermind. Das Problem ist in der aktuellen Version gefixt.
Um dahin zu kommen musste ich bei meinen Raspberrymatics allerdings einmalig die lighttp.conf anpassen (timeouts erhöhen)
Jetzt sollte das aber wohl erledigt sein.