3.63.9.20220521 freigegeben

Created with Sketch.

Hallo,

nach fast einem Monat Entwicklungsarbeit an RaspberryMatic habe ich soeben eine neue stabile Version (3.63.9.20220521) freigegeben. Bei dieser handelt es sich um ein Maintenance Release welcher vor allem einige in der letzten Version aufgetretenen Fehler beseitigt und darüberhinaus auch noch ein paar kleinere Verbesserungen mit sich bringt die sicherlich für den Einen oder Anderen durchaus interessant sein könnten.

Hervorzuheben ist hierbei vor allem die Integration eines neuen Port-Forwarding WatchDog-Skriptes welcher standardmäßig nun jeden Sonntag um ca. 04:00 nachts eine Überprüfung der Internetverbindung vornimmt. Hierbei wird versucht ein etwaig aktiviertes Port-Forwarding auf die CCU/RaspberryMatic Zentrale im genutzten Internet-Router zu identifizieren und davor explizit dann via WebUI Alarmmeldung zu warnen. Wie eigentlich bekannt sein sollte, ist gerade solch ein direktes Port-Forwarding auf eine CCU bzw. RaspberryMatic-Zentrale – auch wenn diese prinzipiell via HTTPS und Login+Passwort vermeintlich “abgesichert” ist – aus verschiedensten Gründen als hoch sicherheitskritisch zu betrachten und es wird daher allgemein von jeglichem Port-Forwarding zur direkten Freigabe einer CCU/RaspberryMatic abgeraten. Trotzdem existieren leider zahllos frei zugängliche CCU/RaspberryMatic Systeme im Internet die mit solchen einem Port-Forwarding von deren Besitzern wissentlich oder unwissentlich somit für jedermann freigegeben wurden und diese auch bereits aktiv attackiert werden. Um diesem Umstand Rechnung zu tragen und vor solch einem sicherheitskritischen Port-Forwarding zu warnen wurde nun dieser besagte Port-Forwarding WatchDog integriert. Damit sollte dann hoffentlich früher oder später irgendwann keine RaspberryMatic Zentrale frei verfügbar im Internet mehr zu finden sein und stattdessen die Nutzer hoffentlich alle auf eine sichere VPN-basierte Zugangslösung (wie z.B. via dem integrierten Tailscale) umgestiegen sein.

Darüberhinaus wurden in dieser Version zahllose kleinere und größere Fehler/Bugs beseitigt die im gesamten die Stabilität und Kompatibilität weiter verbessern sollte.

Die kompletten Änderungshistorie kann wie immer wie folgt eingesehen werden (wurde mit DeepL automatisiert übersetzt):

:construction: Änderungen:

CCU/HomeMatic-System Änderungen:

  • ein neues /bin/checkPortForwarding.sh Prüfskript hinzugefügt, das regelmäßig jeden Sonntag gegen 4:00 Uhr morgens per Cron ausgeführt wird. Dieses neue Prüfskript wird versuchen, jede sicherheitskritische Portweiterleitung zu identifizieren, die in dem Internet-Router, mit dem RaspberryMatic verbunden ist, wirksam ist. Sobald eine solche bösartige Portweiterleitung identifiziert wird, wird eine WebUI WatchDog Alarmmeldung ausgelöst, so dass die Benutzer reagieren können und ihnen geraten wird, diese kritische Portweiterleitung in ihrem Internet-Router zu deaktivieren und stattdessen VPN-basierte Lösungen zu verwenden (z.B. tailscale).
  • generic_raw_uart homematic Kernelmodul auf die neueste verfügbare Version (1.26) aktualisiert.
  • detect_radio_module auf die neueste verfügbare Version aktualisiert.
  • das maximale HMIPServer-Startintervall auf 150 erhöht, was zu einer maximalen Zeit von 300 Sekunden (5 min) beim Versuch führt, HMIPServer auf langsamerer Hardware (z.B. RaspberryPi1) zu starten (#1817).

WebUI Änderungen:

  • eine weitere Reihe von Kodierungsproblemen bei der Konvertierung zwischen UTF-8 und ISO-8859-1 Zeichenkodierung in den verschiedenen internen und externen APIs behoben, so dass die Verwendung von deutschen Umlauten in der WebUI nicht mehr fälschlicherweise als UTF-8 kodiert in der zentralen ReGaHss-Datenbank enden sollte. Dies sollte bestimmte Probleme mit der Umlautkodierung beheben, die entweder in der WebUI bei der Umbenennung von Geräten/Kanälen auftraten, aber auch bei der Verwendung der rega scripting oder rpc api mit Remote-Aufrufen und utf-8 kodierten Namen, die Umlaute enthalten (#1825, #1821, #1782).
  • Der Patch für die WebUI-Hilfeseite wurde angepasst, um auch die ausgelieferte Java- und Node.js-Version anzuzeigen.
  • CodeMirror auf die neueste Version 5.65.3 aktualisiert
  • eine neue Einstellungsoption zum 0135-WebUI-Add-ControlPanel-AdvancedSettings WebUI-Patch hinzugefügt, um die neue Portforwarding-Prüfung zu deaktivieren (#1822, @jp112sdl).

Betriebsystem Änderungen:

  • Upstream-Linux-Kernel auf die neueste Version 5.15.41 LTS aktualisiert
  • rpi-eeprom-Paket aktualisiert, um die neueste pieeprom-2022-04-26.bin-Version auszuliefern.
  • Tailscale auf die neueste Version 1.24.2 aktualisiert und ein entsprechendes Update der go 1.18.x-Abhängigkeit hinzugefügt.
  • qemu Gast-Agent auf die neueste Version 7.0.0 aktualisiert.
  • Java Azul auf die neueste Version 8.62.0.19-ca-jdk8.0.332 aktualisiert.
  • Behebung eines Fehlers in der lighttpd-Konfiguration, der bestimmte URL-kodierte Zeichen wie %Fx verschluckte, wobei x einer beliebigen Hexadezimalzahl entspricht. Dies verhinderte die Verwendung der URL-Kodierung zum Senden von HTTPS-Anfragen mit iso-8859-1 kodierten Umlauten (#1831).
  • Hinzufügen der fehlenden CONFIG_E1000E Linux-Kernel-Konfigurationsoption für die Intelnuc-Plattform, die zu fehlenden Netzwerkschnittstellen für bestimmte NUC-Generationen seit dem Kernel 5.15.x-Upgrade führte.
  • “StarTech.com SATA to USB Cable – USB 3.0 to 2.5″ SATA III Hard Drive Adapter” zur Liste der unterstützten USB-Quirks hinzugefügt (vgl. home-assistant/operating-system#1883)
  • “-x jitter” zu Standard-DAEMON_ARGS hinzugefügt, so dass die zeitaufwendige JITTER-Entropiequelle weggelassen wird und hwrng oder urandom verwendet wird, was trotzdem mehr Entropiedurchsatz liefert (#1817).
  • Fehlerhaftes S08argononed-Startskript behoben, dem die notwendige .sh-Erweiterung zum Ausführen des argonone-Daemon-Skripts fehlte, was dessen Autostart verhinderte (#1819).
  • fehlende CONFIG_SENSORS_PWM_FAN Kernelkonfiguration hinzugefügt, damit der RaspberryPi POE/FAN HAT wieder funktioniert (#1838).

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