3.45.5.20190330 freigegeben

Created with Sketch.

Hallo Zusammen,

rechtzeitig vor dem nächste Woche startenden Usertreffen, der bald erfolgenden Sommerzeitumstellung und fast synchron mit dem Release der CCU3 3.45.5 Firmware habe ich soeben die neueste RaspberryMatic 3.45.5.20190330 freigegeben. Wie die Version bereits verrät basiert diese Version auf der 3.45.5 Version der CCU Firmware. Bei dieser RaspberryMatic Version handelt es sich um eine Major Version die einige größere Änderungen mit sich bringt an denen ich längere Zeit gearbeitet habe und die hoffentlich auf großen Zuspruch treffen. Darüberhinaus bringt sie natürlich alle Änderungen der CCU 3.45.5 Version mit sich und integriert zusätzlich noch ein paar last-minute Fixes für Probleme die erst im Zuge des 3.45.5 Releases aufgefallen sind (so z.B. einen Fix um die Parametereinstellungen von HmIP-Heizungsgruppen trotzdem weiterhin einstellbar zu haben).

Die komplette Liste aller Änderungen in dieser Version kann wie immer hier eingesehen werden:

  • OCCU wurde auf Version 3.45.5 geupdatet und bringt volle Kompatibilität zur kürzlich freigegebenen CCU3 3.45.5 Firmware mit sich. Diese beinhaltet die folgenden Änderungen verglichen mit der letzten RaspberryMatic Version:
    • Aktualisierung der ReGaHss Logikengine auf Version R1.00.0388.0206 (Mar 28 2019) die folgende Änderungen mit sich bringt:
      • Fehlerbehebung bei der Winter-/Sommerzeit-Umstellung bei der es zum Absturz von ReGaHss kommen konnte wenn in WebUI Programmen das Zeitmodul mit konfigurierten Zeitintervallen bei denen der Startzeitpunkt innerhalb der Zeitumstellung lag konfiguriert war.
      • Modifikation der Sonnenaufgang-/untergangsberechnung, sodass die berechneten Sonnenzeiten nun mit denen übereinstimmen sollten die andere HomeMatic Dienste (z.B. HmIP-HAP Access Point, HmIP Cloud Service oder Gerätefirmwares) anzeigen/nutzen.
      • Reparatur einiger Compiler Warnungen sowie Reduzierung möglicher Buffer-Overflow Situationen durch geeignetes Ersetzen durch Buffer-Overflow sichere Varianten.
      • Ersetzen einiger Buffer-Overflow relevanten Funktionen durch sichere Varianten. Nun sollte beim senden größerer HTTP Requests ReGaHss nicht mehr abschmieren.
      • Reparatur einer Sicherheitslücke bei der nach dem Abmelden von der WebUI die Session ID von Sitzungen nicht komplett invalidiert wurden.
      • Verbesserung der WebUI-Login Sicherheit durch Verhinderung von unauthorisierten Zugriffen auf die Scripting Engine.
      • Optimierung der Logging-Ausgaben an verschiedenen Stellen damit bei Bug reports mögliche Probleme einfacher identifiziert werden können. Umstellung einiger Fehlermeldungen auf die Meldung von Warnungen um die neue Kategorie zu nutzen.
      • Reparatur eines geringfügigen Problems bei dem Interface-Definitionen mit einer leeren URL weiterhin die init-Methoden dieser Interfaces abfragten.
      • Hinzufügen eines zusätzlichen “Warnung” Levels für die Ausgabe von Warnmeldungen via Syslog & Co. Dies sollte helfen schwerwiegende Probleme von leichten besser in den Ausgaben unterscheiden zu können.
    • Beseitigung des Problems das nach einem homematicIP Geräte-Firmware-Update einige Geräte wieder automatisch in den Posteingang verschoben wurden oder teilweise komplett abgelernt und wieder neu angelernt werden mussten. Nun sollte das manuelle Ablernen+Anlernen von homematicIP Geräten nach einem Gerätefirmware-Update nicht mehr notwendig sein.
    • Unterstützung für eine “AutoIP”-basierte Netzwerkkonfiguration hinzugefügt die bei nicht Verfügbarkeit eines DHCP Servers zum Einsatz kommt.
    • Das Interval der Synchronisierung der Systemzeit mit der internen Zeit des RF-Coprozessors wurde von “alle 30 Minuten” auf “alle 6 Stunden” angepasst um weniger Funkverkehr und damit geringere DutyCycle Werte zu erzeugen.
    • Unterstützung für neue HmIP-ASIR-O (homematicIP Alarmsirene Aussenbereich) hinzugefügt.
    • Es ist nun möglich in WebUI Programmen auf Änderungen bei der Ventilposition eines HmIP-eTRV/eTRV-2/eTRV-C zu reagieren.
    • Bei Einsatz neuerer Gerätefirmware-Versionen (2.0.2+) des HmIP-eTRV/eTRV-2/eTRV-C kann nun ein “Ultra-Leise” Modus aktiviert werden der dafür sorgt das diese Geräte Ventilpositionsänderungen ruhiger durchführen.
    • Geringfügigen Bug bei der Handhabung von UPnP-basierten Statusanfragen beseitigt.
    • Problem beseitigt bei dem es beim Löschen von Direktverknüpfungen mit einem HmIP-RCV-50 (Virtuelle Fernbedienung) zu Problemen kommen konnte.
    • Der Gerätefilter in der Geräteliste konnte nicht nach “BidCos-RF/Wired” Geräten filtern.
    • Problem beseitigt bei der die Ein-/Ausschaltdauer innerhalb von Easymode-Profilen gleichzeitig auf “Nicht aktiv” gesetzt werden konnte.
    • Problem beseitigt bei dem die Kanalparameter der HmIP-FCI1/6 Geräte nicht zur Verfügung stand.
    • Der Schaltzustand von HmIP-BSL Geräten konnte nicht in Wochenprogrammen verwendet werden.
  • Hinzufügen einiger Bugfixes die die folgenden nach dem CCU 3.45.5 Release aufgefallenen Probleme beseitigt:
    • Problem beseitigt bei der die Kanalparameter von homematicIP Heizungsgruppen nicht mehr angezeigt wurden.
    • Problem in den CCU Addon Installationsroutinen beseitigt durch die es nicht mehr möglich war CCU Addons korrekt zu installieren.
    • Bugfix für ein WebUI Problem hinzufügt bei dem die Off-Profile Anzeigen für den langen Tastendruck einer Virtuellen Schalteranzeige nicht korrekt funktionierte.
  • Implementierung eines neuen Prozess/Service-Watchdog bzw. Monitoring auf Basis von Monit umgesetzt. Dieser Prozess/Service-Watchdog überwacht kontinuierlich den korrekten Betrieb systemrelevanter Dienst (so z.B. den Status von ReGaHss) und startet den ggf. abgeschmierten Dienst automatisch neu. Darüber hinaus erfolgt dann eine automatische Benachrichtigung durch Erzeugen eine WebUI-basierten Alarmmeldung. Dies sollte in großem Maße die generelle Stabilität der wichtigsten Dienste einer CCU verbessern. (BITTE BEACHTEN: Bisherige Nutzer des hm-watchdog CCU Addons sollten dieses ab dieser Version nicht mehr einsetzen bzw. deinstallieren da dieser nunmehr interne Watchdog dessen Aufgabe nun übernimmt). Zusätzlich ist es für Addon-Entwickler auch möglich eigene Monit Konfigurationsdateien unter /usr/local/etc/ mittels des Dateinamenpattern monit*.cfg abzulegen um eigene Dienste in die Monit-basierte Überwachung+Benachrichtigung einbeziehen zu können. Zur Zeit werden standardmäßig die folgenden Prozesse/Dienste von dem neuen Watchdog überwacht:
    • HomeMatic-spezifische Dienste:
      • ReGaHss Logik-Engine daemon (/bin/ReGaHss)
      • HMIPServer homematicIP daemon (/opt/HMServer/HMIPServer.jar)
      • rfd BidCos-RF daemon (/bin/rfd)
      • hs485 BidCos-Wired daemon (/bin/hs485dLoader)
      • multimac daemon (/bin/multimacd)
      • LED control daemon (/bin/hss_led)
      • eq3config daemon (/bin/eq3configd)
      • ssdp UPnP daemon (/bin/ssdpd)
      • LAN gateway mode daemon (/bin/hmlangw)
    • Linux-Betriebssystem spezifische Dienste:
      • lighttpd web server daemon (/usr/sbin/lighttpd)
      • cronjob daemon (/usr/sbin/crond)
      • hardware control watchdog daemon (/sbin/watchdog)
      • syslog/klog daemon (/sbin/syslogd, /sbin/klogd)
      • udev control daemon (/sbin/udevd)
      • irqbalance control daemon (/usr/sbin/irqbalance)
      • random number generator daemon (/usr/sbin/rngd)
      • dbus message bus daemon (/usr/bin/dbus-daemon)
      • network interface plug/unplug daemon (/usr/sbin/ifplugd)
      • chrony/NTP network time synchronization daemon (/usr/sbin/chronyd)
      • SSH daemon (/usr/sbin/sshd)
    • Zusätzliche Alarmmeldungen werden bei folgenden Ereignissen erzeugt:
      • wenn die Systemzeit von der NTP Zeit für mehr als eine Minute mehr als > 1 Sekunde abweicht
      • wenn das HTTPS Zertifikat in weniger als 30 Tagen abläuft
      • wenn eine hohe (> 95%) Prozessorauslastung für mehr als 1 Minute festgestellt wird
      • wenn eine hohe (> 95%) Speicherausnutzung für mehr als 1 Minute festgestellt wird
      • wenn eine hohe (> 80 Grad) Systemtemperatur für mehr als 1 Minute anhält
      • wenn das root Dateisystem (/) für mehr als 1 Minute weniger als 5% freien Speicherplatz aufweist
      • wenn das Nutzerdateisystem (/usr/local) für mehr als 1 Minute weniger als 5% freien Speicherplatz aufweist
      • wenn ein mittels USB verbundenes Dateisystem (/media/usb1) für mehr als 1 Minute weniger als 5% freien Speicherplatz aufweist
      • wenn das LAN Netzwerkinterface (eth0) die Verbindung verliert oder unerwartet die Link Geschwindigkeit verändert
      • wenn das WLAN Interface (wlan0) die Verbindung verliert, jedoch vom Nutzer aktiviert wurde
      • wenn die Internetverbindung für mehr als 1 Minute nicht verfügbar ist
  • Problem im restoreBackup.sh Hilfskraft beseitigt welches zwingend eine signature.sha256 Datei voraussetzte (#560).
  • Generelles Bugfix für die control_panel.cgi Datei integriert, sodass die korrekte spalten-basierte Sortierung von Knöpfen auch dann gewährleistet ist wenn einige Knöpfe auf Grund von abgeschalteter Funktionalität nicht sichtbar sind.
  • Anpassung der im NTP Startup verwendeten ntpdate Aufrufe, sodass diese bei direkten Zeitabfragen externer NTP Server nicht reservierte Ausgangsport verwenden und damit nicht von antiquierten Routern versehentlich geblockt werden (@hoedlmoser).
  • Problem im Firewall Startup-Skript libfirewall.tcl beseitigt bei dem das Setup einiger IPv6 bezogener Regeln nicht korrekt umgesetzt wurden und zu Ausführungsfehler geführt hatten (@libertyx82).
  • Entfernung der erzwungenen Nutzung von cryptool um die Integrität von Backuparchiven bei Nutzung des restoreBackup.sh Kommandozeilenskriptes zu überprüfen (#566).
  • Geringfügige Verbesserung der WebUI Backup/Restore Routinen damit falsche Dateidatumszeiten in den Archiven keine negativen Folgen beim Erstellen oder Zurückspielen von Backup mehr zeigen.
  • Umstellung der Linux Kernelversionen für RaspberryPi und ASUS Tinkerboard von 4.14.x auf 4.19.x (LTS) sowie Umstellung des Tinkerboard Bootvorganges auf die Nutzer von DeviceTree Overlays sowie Aktualisierung der RaspberryPi Firmware Dateien.
  • Anpassung der Buildroot/Linux Version auf die aktuell stabilste 2019.02 Version.
  • Aktualisierung der JAVA8-basierten Laufzeitumgebung auf die jeweils aktuellste Version (1.8.0_202-8.36.0.152)
  • Hinzufügen der CONFIG_DEBUG_USER Kernel Konfigurationsoption. Diese erlaubt bei entsprechender Aktivierung in der Kernel Kommandozeile (via user_debug=X) das bei Abstürzen von Prozessen der Kernel ein entsprechendes Logging vornimmt.
  • Aktualisierung des Recovery-Systems und Anpassung des rootfs mount Prozesses, sodass bei langsamen USB-basierten Installationen nur bis zu einem maximum von 20 Sekunden auf das Anbinden des rootfs gewartet wird und damit ein endloses Warten vermieden wird.
  • Problem beseitigt das bei nicht Verfügbarkeit irgendeines RF-kompatiblen Modules trotzdem die entsprechende HMServer.jar Version gestartet wird und keine “VirtualDevices” Fehlermeldungen mehr kommen wenn keinerlei GPIO-basiertes Funkmodul installiert ist.
  • Recovery-System angepasst das dort auch der auf Chrony basierte NTP Dienst verwendet wird.
  • Anpassung der regelmäßigen Ausführung des SetInterfaceClock Aufrufes und Minimierung auf eine Ausführzeit alle 6 Stunden. Dies sollte helfen den DutyCycle gerade in funkarmen Umgebungen zu minimieren (@hoedlmoser).
  • Reparatur des nicht funktionierenden onboard-WiFi Supportes für das ASUS Tinkerboard (#380).
  • Kleinere Bugfixes und Funktionserweiterungen integriert.

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 Embeeded Devices es getrennte Installationsarchive (*.zip Dateien) gibt die für die folgende Hardware jeweils einheitlich ist:

RaspberryPi3+, RaspberryPi3, RaspberryPi2, RaspberryPi Compute Modul 3 (lite):

Code: Alles auswählen

RaspberryMatic-3.45.5.20190330-rpi3.zip

RaspberryPi Zero W, RaspberryPi Zero, RaspberryPi Compute Modul 1, RaspberryPi1 (A+/B+):

Code: Alles auswählen

RaspberryMatic-3.45.5.20190330-rpi0.zip

ASUS Tinkerboard:

Code: Alles auswählen

RaspberryMatic-3.45.5.20190330-tinkerboard.zip

Bitte hierbei den Unterschied der Endung “-rpi3.zip“, “-rpi0.zip” und “-tinkerboard.zip“beachten. D.h. man muss je nachdem welche Hardware eingesetzt wird ein unterschiedliches Image verwenden/installieren.

Zusätzlich dazu gibt es auch noch für den Umstieg von einer CCU3 zu RaspberryMatic ein Installationsarchiv …

Code: Alles auswählen

RaspberryMatic-3.45.5.20190330-ccu3.tgz

… das man auf einer CCU3 direkt über den WebUI-integrierten Updatemechanismus hochladen und installieren lassen kann. Danach läuft dann auf einer CCU3 RaspberryMatic und zukünftige RaspberryMatic Updates können dann entweder durch das Einspielen von “-ccu3.tgz” Archiven erfolgen oder durch Nutzung des oben genannten “-rpi3.zip” Archives.

Update/Upgrade:
Das Update auf diese Version kann bei Einsatz einer Vorversion die bereits über die neue WebUI-basierte Updatefunktion verfügt dadurch passieren, das man dort unter “Einstellungen->Systemsteuerung->Zentralen-Wartung” die jeweilige *.zip oder *.tgz Datei (Nicht ausgepackt!) hochlädt und entsprechend darüber durchführen lässt. Alternativ dazu (oder wenn man von einer Version ohne WebUI-basierte Updatefunktion kommt) kann man natürlich auch auf diese Version mittels “Backup->Neuinstallation->Restore” Vorgang umsteigen wie das in Vorversionen immer der Fall war bevor es den WebUI-basierten Mechanismus gab (siehe Anleitung auf der ersten Seite dieses Thread). Zukünftige Firmware-Updates können dann jedoch über die neu geschaffene WebUI-basierte Updatefunktion direkt eingespielt werden.

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.

Wie auch bei bisherigen Releases möchte ich auch bei diesem Release gerne wieder darum bitten bei Gefallen über eine mögliche Unterstützung/Spende für das RaspberryMatic nachzudenken. Wenn dem Einen oder Anderen dieses Release gefallen sollte, so würde ich mich natürlich über zahlreiche (auch gerne erneute) Spenden via PayPal oder auch Sachspenden freuen. Für PayPal-Spenden (die meine Motivation weiterhin an RaspberryMatic zu arbeiten wirklich sehr heben) bitte diesen Link nutzen.

Viel Spass mit RaspberryMatic!