Seit heute ist dann auch wieder eine neue RaspberryMatic Version mit dem Namen 3.45.5.20190330 verfügbar. Diese Version umfasst wie immer alle Neuerungen und Fehlerbehebungen der aktuellen CCU3 Firmware. Bei dieser RaspberryMatic Version handelt es sich um eine sogenannte Major Version, welche einige größere Änderungen beinhaltet. Ebenso beinhaltet diese Firmware Version einige 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 einstellen zu können (Funktioniert aktuell auf der CCU3 mit der Firmware 3.34.5 nicht mehr. Dieses neue Release umfasst so viele neue Funktionen, das es hier im Kopf des Artikels nicht möglich ist, die Highlights aufzuzeigen. Im Artikel selbst findet ihr detailliert alle Änderungen/Neuerungen. Da vor kurzem die offizielle CCU 3.45.5 Firmware freigegeben wurde dreht sich bei der von Jens freigegebenen Version 3.45.5.20190330 von RaspberryMatic zum einen um die Integration der darin enthaltenen Änderungen. Darüber hinaus bringt diese Version aber auch noch eine große Vielzahl von wirklich interessanten Änderungen mit sich, an denen Jens nach eigener Aussage schon länger gearbeitet. Wie immer dann noch einige kleinere BugFixes. Ich finde die Änderungen/Neuerungen dieser Firmware Version sind sicher für den ein oder anderen Anwender hoch interessant.

Allgemeines zum Update

Ich fahre mein produktives HomeMatic System auf einem ASUS Tinker Board S und der Update auf die Version 3.45.5.20190330 hat bei mir über die Update Funktion der WebUI schnell (10 Minuten mit Neustart) und problemlos funktioniert. Bei mir läuft jetzt die neue Version seit 12 Stunden und bisher sind bei mir keine Probleme aufgetreten. Es gibt in dieser Version so viele Neuerungen, Änderungen und selbst Fehlerbehebungen, welche in der ein paar Tage alten CCU3 Firmware aufgefallene Fehler schon behoben sind.

  • Update direkt über die WebUI auf einem ASUS Tinker Board S
  • Alle HomeMatic wired Geräten funktionieren
  • Die zwei LAN-Gateways (1x Raspberry Pi3 und 1x CCU2) funktionieren
  • Alle HmIP Aktoren sind bisher nicht auffällig geworden (Das Thema mit den HmIP Heizungsgruppen betrifft mich nicht).
  • Alle CuXD Geräte funktionieren einwandfrei

Changelog CCU3 Firmware 3.45.5

Als erstes möchte ich noch einmal die Neuerungen vorstellen, welche mit der neuen CCU3 Firmware vom xx.02.2019 gekommen sind. Das diese OCCU Version auch der neuen RaspberryMatic Firmware Version zugrunde liegt, gelten diese Neuerungen auch für die RaspberryMatic Version 3.45.5.20190330.

Neue Geräteintegration

  • [HMCCU-20] Integration HmIP-ASIR-O (Homematic IP Alarmsirene – außen)

Erweiterungen / Verbesserungen

  • [HMCCU-194] HmIP-eTRV/eTRV-2/eTRV-C – Innerhalb von Programmen kann nun auf den Ventilstatus reagiert werden.
  • [HMCCU-193] Zeitsynchronisierung des Funk-Koprozessors wird jetzt nur noch alle 6 Stunden anstatt alle 30 Minuten aufgerufen. Dadurch wird der Funkverkehr verringert.
  • [HMCCU-100] HmIP-eTRV/eTRV-2/eTRV-C – mit der aktuellsten Firmware dieser Geräte steht nun ein Kanalparameter zur Einstellung des Ultra-Leise-Betriebs zur Verfügung.
  • [HMCCU-16] Unterstützung von AutoIP.

Fehlerbehebungen

  • [HMCCU-208] Bei der Verwendung von Zeitspannen über einen Tageswechsel hinweg, konnte es im Zusammenhang mit der Zeitumstellung bei der Ausführung von Programmen zu Problemen kommen.
  • [HMCCU-186] HmIP-BSL – Der Schaltzustand konnte im Wochenprogramm nicht verwendet werden.
  • [HMCCU-144] HmIP-FCI1/6 – Die Kanalparameter standen nicht zur Verfügung
  • [HMCCU-137] Die Ein-/Ausschaltdauer innerhalb von Easymode-Profilen kann nun nicht mehr gleichzeitig auf ‚Nicht aktiv‘ gesetzt werden.
  • [HMCCU-136] Der Gerätefilter der Geräteliste lieferte bei den Einstellungen „BidCos-RF/Wired“ kein Resultat.
  • [HMCCU-135] Ein Problem beim Löschen direkter Verknüpfungen mit HmIP-RCV-50 (virtuelle Fernbedienung für HmIP) wurde behoben.
  • [HMCCU-131] Fehler im Zusammenhang mit UPnP behoben

Changelog CCU3 Firmware 3.43.16

Ebenfalls enthalten sind die Änderungen aus der Original CCU3 Firmware Version 3.43.16, die ich hier noch kurz auflisten möchte. Dabei geht es hauptsächlich um Sicherheitrelevante Änderungen.

  • [HMCCU-179] Buffer Overflow im ReGa Web Server
    • Im ReGa Web Server gibt es eine Pufferüberlauf- / Buffer Overflow Schwachstelle. Bei dieser können in einen Datenbereich (Array) mit fester Größe im Stack Daten beliebiger Länge geschrieben. Durch „bösartiges“ Schreiben von Daten, ist es prinzipiell möglich, die Rücksprungadresse im Stack zu Überschreiben und den Rücksprung in den Bereich der geschriebenen Daten zu lenken. Hierdurch könnte Schadcode ausgeführt werden. Aktuell ist jedoch kein Exploit bekannt, der dies für einen Angriff auf die CCU ausnutzt. Der Webserver-Prozess kann aber zum Absturz gebracht werden. Die Schwachstelle des Pufferüberlauf- / Buffer Overflow wurde geschlossen. Damit kann hier kein Schadcode mehr eingeschleust werden.
  • [HMCCU-154] Authentication Bypass durch User „RemoteAPI”
    • Über einen in der Logikschicht der CCU existierenden internen Benutzer „RemoteAPI“ kann eine gültige Sitzung / SessionID erzeugt werden, die die Basis für weiterführende Angriffsszenarien darstellt. Die Erzeugung einer Session für den internen Benutzer wird jetzt unterbunden.
  • [HMCCU-154] Fehler im Session Handling
    • Beim Ausloggen / Abmelden eines Benutzers aus der CCU WebUI wird die Sitzung / SessionID durch ReGa in bestimmten Situationen nicht sofort invalidiert. Dadurch kann die SessionID unter diesen Umständen zeitweilig für einige Aufrufe weiter verwendet werden. Die SessionID wird jetzt sofort beim Abmelden eines Benutzers invalidiert. Eine weitere Verwendung ist damit nicht mehr möglich.
  • [HMCCU-191] Remote Execution
    • Unter bestimmten Umständen war eine Remote Execution von Tcl Scripten über das Heim-LAN möglich. Hier wurde ein Fehler in einem Script für die Administration behoben.
  • [HMCCU-143] Schreiben beliebiger Daten
    • Unter bestimmten Umständen war das Schreiben beliebiger Daten möglich. Hier wurde ein Fehler in einem Script für die Administration behoben.

Risiko: Folgende Angriffsmöglichkeiten bestanden zuvor bei diesen Fehlern:

  • aus dem Internet: Wenn Port Forwarding eingerichtet war (siehe Warnung oben)
  • aus dem LAN: Wenn unsichere / nicht vertrauenswürdige Systeme Zugang zum LAN haben

Liste aller Änderungen dieser RaspberryMatic Version (Infos von Jens Maus):

  • 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 HomeMatic IP 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 hier beschrieben Patch ist nun integriert.
    • Der Schaltzustand von HmIP-BSL Geräten konnte nicht in Wochenprogrammen verwendet werden.

Bugs, welche nach dem CCU 3.45.5 Release aufgefallen sind

  • Hinzufügen einiger Bugfixes die die folgenden nach dem CCU 3.45.5 Release aufgefallenen Probleme beseitigt:
    • Problem beseitigt bei der die Kanalparameter von HomeMatic IP 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

  • 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.shKommandozeilenskriptes 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.

Download Links für die neue Firmware Version

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“ „-rpi0.zip“ und „-tinkerboard.zip“, sowie „-CCU3.tgz“) Hier findet ihr die jeweilige Firmware Version:

Fazit

Bei mir läuft jetzt die neue Version 3.45.5.20190330 seit 12 Stunden und bisher sind bei mir keine Probleme aufgetreten.

Diesmal ein besonderer Dank an Jens Maus und die Mitstreiter im Hintergrund. Bei der wirklich riesigen Anzahl von Neuerungen eine super Arbeit und alles läuft bei mir bisher ohne Probleme. Vielen Dank dafür.

Da aber bei verschiedenen Anwendern je nach eingesetzten Features bzw. Software noch weitere Probleme aufgetreten könnten (siehe Link am Ende des Artikels). Wenn ihr Probleme habt oder wissen wollt wie die neue Firmware Version bei anderen Anwendern läuft, könnt ihr dies unter dem folgenden Links aktuell verfolgen:

Erfahrungen mit der RaspberryMatic Version 3.45.5.20190330

2 Kommentare
  1. Avatar
    Tilo sagte:

    Moin, habe das Update Sonntag früh, kurz vor der Zeitumstellung, aufgespielt. Läuft eigentlich alles aber einen Haken hat die Geschichte anscheinend. Habe ein Sonnenaufgangs-/Untergangsszenario für die Aquarien laufen. Realisiert mit OSRAM Lightify LED-Stripes in der Kopplung zur Raspberrymatic. Das läuft jetzt anscheinend eine Stunde früher ab. Mir ist es gestern Abend erstmalig aufgefallen, meine bessere Hälfte meinte aber es war wohl Montag auch schon. Die Hauptbeleuchtung/Tageslicht läuft über Leuchtstoffröhren mit EVG und einem Dimmaktor HM-LC-AO-SM. Die Röhrensteuerung hat die Zeitumstellung mitgenommen, die passt, die LED-Stripes aber nicht. Sommerzeitumstellung ist in der Lightify-App aktiviert, Systemzeit der Raspi stimmt auch. Heute Abend setz ich mich mal vor die Fisch-Fernseher und kontrolliere das mal. Hat irgend jemand ähnliches beobachtet?

    Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere die Speicherung der Daten.