Hallo Zusammen,
nach fast einem Monat Arbeit habe ich soeben wieder eine neue Version (3.41.11.20181124) von RaspberryMatic herausgebracht. Bei dieser Version handelt es sich auf der einen Seite um ein Update das die neuen Funktionalitäten der CCU 3.41.11 Version integriert, jedoch auch größere neue Features mit sich bringt genauso wie einige wichtige Bugfixes, sodass es sich bei dieser Version um eine neue Majorversion handelt die ich jedem raten würde zeitnah zu installieren.
Da dieses mal die Änderungsliste in dieser Version sehr lang ist, möchte ich neben der Aktualisierung auf die 3.41.11 (O)CCU Firmware hier einmal auf zwei exklusive Verbesserungen in dieser Version hinweisen die sicherlich für den Einen oder Anderen von großem Interesse sein könnten:
- Neuen WebUI Patch hinzugefügt der es erlaubt für einzelne Geräte das Auslösen von Servicemeldungen komplett unterdrücken zu lassen. Diese Änderung erlaubt es nun, in den Ansichtseinstellungen von Geräten jeweils die Anzeige von "Servicemeldungen" zu deaktivieren.Das hat dann zur Folge, das dann keinerlei Servicemeldungen mehr für dieses Gerät generiert werden auch wenn es sich z.B. ausser Funkreichweite befindet oder mit Absicht durch Entfernen von Batterien deaktiviert wurde (z.B. um Geräte über einen gewissen Zeitraum zu 'deaktivieren'). Um solche "deaktivierten" Geräte dann in der Geräteliste zu finden werden diese nun mittels Anzeige von "NO SERVICEMSG" unter Einstellungen->Geräte markiert.(#222).

- Beispiel der Anzeige einer "NO SERVICEMSG" Meldung wenn Servicemeldungen für ein Gerät deaktiviert sind.
- Neuen WebUI Patch hinzugefügt der einen signifikant verbesserten Quellcodeeditor in der WebUI für das Anlegen/Editieren von HomeMatic Skripten implementiert (#470). Dieser auf JavaScript/CodeMirror basierte Quellcodeeditor bringt die folgenden Features mit sich und sollte somit gerade für Nutzer interessant sein die stark auf das in der WebUI integrierte Skripting setzen:

- Beispielanzeige des neuen Quellcodeeditors mit Syntax-Highlighting & Co
- Anzeige einer Liniennummerierung.
- ReGa/HomeMatic-Skript spezifisches Syntax-Highlighting um die spezifische Syntax der Skriptsprache besser hervorzuheben.
- Editor-interne Suchen&Ersetzen Funktionalität sowie Regular-Expressions fähige Suchfunktionen und zusätzliche Anzeige der Suchtreffer innerhalb der Scrollbar.
- Integrierte Kommando/Wortvervollständigung um eine Wort das gerade geschrieben wird automatisch vervollständigen zu lassen.
- Klammer-basierte Einklappfunktionen um Codepassagen zwischen zwei Klammern ein/ausklappen zu lassen um die Lesbarkeit zu erhöhen.
- Automatische farbliche Hervorhebung der passenden Klammernpaare bei der Eingabe.
- Automatisches Hinzufügen der jeweils passenden schließenden Klammer während der Eingabe.
- Integrierter Fullscreen-Modus der es erlaubt den Editor mit Tastenkombinationen schnell innerhalb des Browsers auf ein Maximum zu vergrößern um größere Skripte übersichtlicher editieren zu können.
- Integrierte zusätzliche Keyboard Shortcuts für ein besseres/schnelleres Editieren:
- F11: Fullscreenmodus anschalten
- Esc: Fullscreenmodus abschalten
- Ctrl-Space: Autovervollständigung des momentan editierten Wortes
- Ctrl-Q: Einklappen/Ausklappen von Codepassagen basierend auf genutzter Klammern ({, }).
- Ctrl-F / Cmd-F: Suche starten.
- Ctrl-G / Cmd-G: Nächsten Treffer der Suche anzeigen.
- Shift-Ctrl-G / Shift-Cmd-G: Vorherigen Treffer der Suche anzeigen.
- Shift-Ctrl-F / Cmd-Option-F: Nächsten Treffer gegen Ersatztext austauschen.
- Shift-Ctrl-R / Shift-Cmd-Option-F: Alle Treffer gegen Ersatztext austauschen.
- Alt-F: Dauerhafte Suchfunktion (Suchbereich schliesst sich nicht automatisch, Enter um zum nächsten Eintrag zu gelangen, Shift-Enter um zum vorherigen zu gelangen).
- Alt-G: Zur angegebenen Zeilennummer springen.
Da jedoch auch die anderen Änderungen in dieser Version sich sicherlich "blicken" lassen können möchte ich natürlich die gesamte Änderungsliste hier nicht vorenthalten:
- aktualisierte OCCU Firmware mit Update auf Version 3.41.11-2 die folgende Änderungen beinhaltet:
- aktualisierte ReGaHss Logikengine der Version "R1.00.0388.0203 (Nov 14 2018)" mit den Änderungen:
- Es können nun statt nur 2^16 (65536), die Anzahl von 2^31 (~2Mrd) Objekte innerhalb der ReGa verwaltet werden.
- Passwörter innerhalb der ReGa werden nun statt als MD5 hash als SHA512 hash abgespeichert und automatisch beim ersten Login entsprechend konvertiert.
- Es werden nun an einigen Stellen statt statischer Strings dynamische verwendet um die maximale Länge entsprechend zu vergrößern. So ist es nun z.B. möglich längere Texte in DPInfo() abzulegen und entsprechend in der WebUI darzustellen.
- Beim Laden der Interfaces.xml Datei werden nun nicht mehr aktive Interfaces entsprechend in der ReGa deaktiviert damit bei Geräteanfragen an diese nicht mehr existierenden Interfaces es zu keinen längeren Timeout Delays mehr kommt.
- Fehler beseitigt der eine Mehrfachauslösung/Verarbeitung bei State() Aufrufen zur Folge hatte (#466).
- Aktualisierte `ssdpd` Version integriert die einige Probleme mit möglichen Abstürzen beseitigen sollte die bei Auftreten nicht-RFC-konformer UPnP Anfragen aufgetreten waren.
- Alle internen Remote API XMLRPC Ports (8181, 1999, 2010, 9292, 2001, 2000) werden nun über den lighttpd Server als Proxy geführt um für externe Applikationen die folgenden sicherheitsrelevanten Verbesserungen anbieten zu können:
- Möglichkeit verschlüsselte XMLRPC Verbindungen (TLSv1.2/TLSv1.3) auf alternativen Portvarianten aufbauen zu können (48181, 41999, 42010, 49292, 42001, 42000).
- Es können nun mittels Nutzername+Passwort (z.B. `https://USERNAME:PASSWORD@IP:PORT/`) authentifizierbare Verbindungen zu den XMLRPC Diensten wie RFD, HMIPServer, etc. aufgebaut werden wenn diese Funktionalität unter "Einstellungen -> Sicherheit" in der WebUI aktiviert wird.
- Der externe Zugriff auf die Möglichkeit ReGa/HomeMatic Skripte ausführen zu lassen wird nun auf Port 8181 oder 48181 beschränkt sodass Skripte fälschlicherweise nicht mehr über Port 80/443 ausgeführt werden können.
- Verbesserte Systemsicherheit durch Einführung eines Sicherheitswizards um die Möglichkeit zu schaffen drei unterschiedliche Sicherheitslevel einstellen zu können (Maximum, Eingeschränkt, Relaxed).
- Aktualisiertes Mediola NEO Server Version 2.4.0 Addon.
- Neuen WebUI Patch hinzugefügt der es erlaubt für einzelne Geräte das Auslösen von Servicemeldungen komplett unterdrücken zu lassen. Diese Änderung erlaubt es nun, in den Ansichtseinstellungen von Geräten jeweils die Anzeige von "Servicemeldungen" zu deaktivieren (#222).
- Neuen WebUI Patch hinzugefügt der einen signifikant verbesserten Quellcodeeditor in der WebUI für das Anlegen/Editieren von HomeMatic Skripten implementiert (#470).
- Neuen WebUI Patch entwickelt der es erlaubt zu Favoriten hinzugefügte Systemvariablen alphabetisch sortieren zu lassen (#448).
- Neuen WebUI Patch mit freundlicher Genehmigung von alchy hinzugefügt, der es erlaubt Systemvariablen auch dann zu Favoriten hinzuzufügen auch wenn diese bereits einem Gerätekanal zugeordnet wurden.
- Der "StatusColumn" WebUI patch für die Anzeige des Gerätestatus unter Einstellungen->Geräte dahingehend erweitert, das nun auch der `OPERATING_VOLTAGE`, `SABOTAGE`, `ERROR_OVERHEAT` und `UPDATE_PENDING` Status angezeigt wird wenn diese Datenpunkte für ein Gerät existieren.
- Erweiterung des WebUI Fixes zur Reparatur von newline (\r,\n) bezogenen Problemen bei der Auflistung von Systemvariablen da bei Nutzung von newlines in Wertelisten es dazu kam das die Anzeige der Systemvariablenliste ganz versagte.
- WebUI Patch zur Anzeige des Gerätestatus dahingehend repariert das nun auch Geräte mit Kanalgruppen korrekt anzeigt werden (#468).
- Der WebUI Patch zur Anzeige des Batteriestatus und der Ventilposition für HmIP Geräte erweitert. Für diese HmIP Geräte werden nun jedoch der Batteriestatus unter "Einstellungen -> Geräte" angezeigt, da eine Anzeige unter "Status und Bedienung" nicht möglich ist (#457).
- Reparatur des WebUI Patches zur Anzeige des Batteriestatus und der Ventilposition da für readonly Anzeigen es hierbei zu Problemen kam (#455).
- Die RSSI und Gerätestatus Werte werden nun auch beim Schliessen der Geräte/Kanaleinstellungen sowie beim Einstellen eines Filters aktualisiert (#474).
- Anzeigeproblem in DevConfig beseitigt der zum Absturz der Abarbeitung von DevConfig führte.
- SNMP Daemon Start abgeändert das nun eine globale `snmpd.conf` Konfigurationsdatei verwendet wird, jedoch für eigene Nutzeranpassungen nun diese in der Datei `/etc/config/snmp/snmpd-user.conf` sowie `/etc/config/snmp/snmptrapd-user.conf` hinterlegt werden können/sollten.
- Hardware Support für neue RaspberryPi3 Model A+ Hardware hinzugefügt.
- Aktualisierung der buildroot/Linux Umgebung auf die aktuell stabilste 2018.08.2 version.
- Aktualisierung der Java Runtime Umgebung auf aktuell stabilste 1.8.0_192-8.33.0.134 Version.
- Aktualisierung des RaspberryPi Linux kernel auf version 4.14.80 zusammen mit Integration der dazu passenden RaspberryPi Firmware welches einige Kernel basierte Probleme beseitigen sollte (#449).
- Aktualisierung des Armbian-basierten Tinkerboard Linux kernel inkl. U-Boot Patches unter Nutzung des aktuellen 4.14.80 Linux kernels.
- Boot problem bei Nutzung eines frischen Images auf einer SD karte oder eMMC mit einem ASUS Tinkerboard beseitigt (#472).
- Recovery-System dahingehend erweitert das nun auch der U-Boot bootloader für ein ASUS Tinkerboard aktualisiert werden kann wenn ein neues Partitionslayout verwendet wird das genug Abstand für ein etwaiges Vergrößern des U-Boot bootloader bietet. Diese neue Funktionalität macht es jedoch notwendig die genutzte SD Karte oder eMMC des Tinkerboard komplett neu mit dem aktuellen *.img zu flashen da sonst eine U-Boot Aktualisierung in Zukunft nicht möglich ist.
- Das Recovery-System zeigt nun auch ein RaspberryMatic spezifisches Logo an.
- Problem beim Restore von Backupdateien beseitigt die Dateien beinhalten die einen Zeitstempel in der Zukunft beinhalten.
- Crashproblem beseitigt bei setzen eines neues root Passwortes mittels "/bin/passwd" Kommandozeilenbefehl (#469).
- Geringfügiges Problem in der Standard S.USV Konfiguration beseitigt in der nun für den "sleep" Parameter ein höherer Wert verwendet wird um den regelmäßigen Eingangsspannungstest durchzuführen.
- 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):
RaspberryPi Zero W, RaspberryPi Zero, RaspberryPi Compute Modul 1, RaspberryPi1 (A+/B+):
ASUS Tinkerboard:
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 ...
... 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 vorherigen Releases möchte ich auch bei diesem gerne wieder darum bitten bei Gefallen über eine mögliche finanzielle 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 an RaspberryMatic weiterhin zu arbeiten wirklich sehr heben) bitte diesen
Link nutzen.
Viel Spass mit RaspberryMatic!