Hallo Zusammen,
über den letzten Monat ist bei der Entwicklung rund um RaspberryMatic wieder einiges passiert und so freue ich mich heute die neue, als stabil markiert, Version (3.67.10.20230225) als Maintenance Release für die breite Nutzung freizugeben. Neben einigen wichtigen Bugfixes und kleineren Verbesserungen bringt diese Version auch einige interessante Änderungen im Bezug auf die WebUI mit sich. Diese sind teilweise für den Endnutzer zu sehen, aber auch im nicht sichtbaren Hintergrund der WebUI hat sich einiges verändert. Hervorzuheben wäre hierbei die Integration der Bootstrap v5 javascript Bibliothek die nun für kommende Entwicklungen rund um die WebUI zur Verfügung steht. Wenn sich also interessierte Webentwickler – die bisher wegen fehlender moderner Javascript-Frameworks einen Bogen um die Weiterentwicklung der WebUI gemacht haben – nun vielleicht im Projekt einfinden, dann steht nun das entsprechende moderne JS-Framework zur Verfügung um Schritt für Schritt mit den bisherigen Entwicklern die WebUI auf einen moderneren Stand zu bringen.
Die kompletten Änderungshistorie kann wie immer wie folgt eingesehen werden (wurde mit DeepL automatisiert übersetzt):
Änderungen:
CCU/HomeMatic-System Änderungen:
- Aktualisierung der OCCU-Version auf 3.67.10-4 mit den folgenden Änderungen:
- Aktualisierung der ReGaHss-Logik-Engine auf Version R1.00.0388.0233 (27. Januar 2023) mit folgenden Änderungen:
- Behebung eines Fehlers in der internen Datentypauswahl, bei dem für bestimmte INTEGER HSS Datenpunkte ein zu schmaler ivtByte Datentyp beim Einlernen in bestimmte Geräte gewählt wurde, was zu Datenwertüber-/unterlauf führte, z.B. TIME_OF_OPERATION von HmIP-SWSD (#2008).
- Aktualisierung der ReGaHss-Logik-Engine auf Version R1.00.0388.0233 (27. Januar 2023) mit folgenden Änderungen:
- S97Cloudmatic wurde verbessert, um den Start über die neue /etc/config/cloudmaticDisabled Kontrolldatei zu verhindern, und es wurde die Möglichkeit hinzugefügt, den Start von CloudMatic über eine WebUI-Konfigurationseinstellung “Erweiterte Einstellungen” zu aktivieren/deaktivieren (#2223, @Baxxy13).
- cronBackup.sh korrigiert, um einige ungültige Pfade zu ignorieren. (vgl. viewtopic.php?f=65&t=77970).
- Problem im Skript checkFirmwareUpdate.sh behoben, bei dem aufgrund der maximalen Ausgabebegrenzung der github api die Snapshot-Version nicht mehr gefunden werden konnte. Jetzt verwenden wir direkte Abfragen für die neuesten Snapshots und direkt mit Versions-Tags versehene Versionen. Dies sollte auch die Abfrage-/Verarbeitungsgeschwindigkeit bis zu einem gewissen Grad verbessern.
- ein neues Check-Skript checkHmIPconsistency.tcl hinzugefügt, das es ermöglicht, alle registrierten HomematicIP-Geräte regelmäßig auf mögliche Inkonsistenzen der HomematicIP-Parameter zu überprüfen und eine entsprechende Alarmmeldung auszulösen, falls solche Inkonsistenzen gefunden werden. (vgl. viewtopic.php?f=65&t=77531#p752458).
- Der integrierte Mediola NEOServer wurde auf die neueste Version 2.12.1 aktualisiert und der Startvorgang so geändert, dass alle unnötigen Datenverzeichnisse bereinigt werden, wenn der Autostart in den erweiterten Einstellungen deaktiviert wurde.
WebUI Änderungen:
- 0143-WebUI-Fix-Translation WebUI-Patch um eine weitere Übersetzungskorrektur ergänzt, um fehlende Übersetzungen für PRESS_LONG_START/PRESS_LONG_RELEASE hinzuzufügen (#2222, @Baxxy13).
- neuer WebUI-Bugfix-Patch (0176-WebUI-Fix-HeatingControl-BWTHSwitchState) hinzugefügt, der ein Problem mit fehlenden Ventilzuständen für Kanal 10 eines HmIP-BWTH-Gerätes behebt, da nicht genügend spezifische Tabellenkennungen verwendet wurden (#2192).
- 0171-WebUI-Add-HmIPKeyTransceiverCentralLinkConfiguration WebUI-Funktionspatch geändert, um das Hinzufügen/Entfernen des zentralen Links auch für MULTI_MODE_INPUT_TRANSMITTER-Kanäle zu ermöglichen (z.B. HmIP-FCI1). Außerdem verwenden wir jetzt nur noch die reportValueUsage-Methode zum Einrichten/Entfernen des zentralen Links, da neuere HmIPServer-Versionen in dieser Hinsicht gefixt sind. Außerdem fragen wir den Benutzer vor dem Einrichten des zentralen Links und präsentieren einen leicht veränderten Hilfetext zur besseren Erläuterung dieser Funktion (vgl. viewtopic.php?f=65&t=77814#p755553).
- 0143-WebUI-Fix-Translation WebUI Patchset um eine weitere Übersetzungskorrektur ergänzt, die einige Tippfehler in der englischen Übersetzung korrigiert (vgl. eq-3/occu#121).
- 0175-WebUI-Add-AllLogfileDownload WebUI-Patch hinzugefügt, der alle Text/Log-Dateien aus /var/log abfängt und sie ebenfalls der Download-Logfile-Funktionalität hinzufügt (#2186).
- 0144-WebUI-ControlForMaintenanceChannel geändert, um eine Aufschlüsselung nach Jahren und Monaten für die TIME_OF_OPERATION-Datenpunkte einer HmIP-SWSD anzuzeigen, anstatt alles nur in Tagen auszugeben.
- eine Änderung in 0072-WebUI-Fix-hm_autoconf integriert, um alle ivtByte-basierten HSSDPs in ivtInteger zu konvertieren, indem eine Unterroutine in /bin/hm_startup verwendet wird. Dies behebt Datentyp-Über-/Unterlauf-Probleme (z.B. TIME_OF_OPERATION-Datenpunkt von HmIP-SWSD). Die Subtraktion von 256 von RSSI_xxxx Datenpunktwerten ist nun nicht mehr notwendig, daher wurde auch 0144-WebUI-ControlForMaintenanceChannel angepasst (#2008).
- integrierter Fix in 0144-WebUI-ControlForMaintenanceChannel zur Umrechnung des TIME_OF_OPERATION Datenpunktes von HmIP-SWSD Geräten von Sekunden in Tage, was der korrekten Einheit des Hardware-Datenpunktes entspricht (#2008).
- 0097-WebUI-SetSysvarValueByUser WebUI-Patch geändert, um sicherzustellen, dass die MIN/MAX-Metadaten immer (neu) gesetzt werden, wenn eine Sysvar geändert wird (vgl. viewtopic.php?f=65&t=77676&start=20#p754163) (#2179, @jp112sdl).
- 0143-WebUI-Fix-Translation WebUI-Patch einige intuitivere Bezeichnungen für Energiezähler hinzugefügt, so dass der Unterschied zwischen “Geräte”- und “Zentral”-Energiezählerwerten deutlicher wird.
- zusätzliche Stilkorrektur in 0039-WebUI-Fix-Style-Glitches eingeführt, um die ungültige Größenänderung der Schaltflächen in der Geräteliste beim Öffnen/Schließen der Baumstruktur zu beheben.
- das globale cgi.tcl so geändert, dass alle Fehler direkt in der WebUI ausgegeben werden, anstatt sich nur auf die Ausgabe in den cgimail.XXXX-Dateien zu verlassen. Dies sollte helfen, Verarbeitungsfehler direkt zu erkennen, sobald sie auftreten.
- 0039-WebUI-Fix-Style-Glitches wurde eine kleine Stilkorrektur hinzugefügt, um die vertikale Ausrichtung der Beschriftungen von Eingabefeldern und Optionsfeldern zu verbessern.
- 0165-WebUI-ShowFreeUserspaceOnMaintenancePage geändert, um den freien Speicherplatz mit zwei Ziffern anzuzeigen und stattdessen (>) zu verwenden, um deutlicher zu machen, wie viel minimaler Speicherplatz erforderlich ist.
- Die Hilfeseite in der WebUI wurde geändert, um auch die aktuellen Werte für DutyCycle und CarrierSense auszugeben.
- neuer 0002-WebUI-Bootstrap WebUI-Patch hinzugefügt, der die neueste Bootstrap v5 Javascript-Bibliothek einführt, die in kommenden modernisierten WebUI-Versionen verwendet werden könnte (#1511, @ptweety).
- eine alte Regression im 0031-WebUI-Fix-FileUpload WebUI-Patch behoben, der einen Fix für #315 einführte, aber gerade jetzt einige kürzlich geänderte Funktionen brach, bei denen wir die Verwendung von POST-Anfragen über 0173-WebUI-SendPOSTRequest (#2160) eingeführt haben.
- Der WebUI-Proxy-Daemon des Home-Assistenten (ha-proxy.js) wurde korrigiert, um sicherzustellen, dass nicht mehrere Location-Header hinzugefügt werden, indem stattdessen setHeader verwendet wird (#2228, #2227, @mpietruschka)
- das /etc/config/addons/mh-Konfigurationsverzeichnis wird nun sofort entfernt, wenn cloudmatic deaktiviert ist und kein client.key existiert (#2229, @Baxxy13)
- 0135-WebUI-Add-ControlPanel-AdvancedSettings geändert, um den Mediola-Server auch gleich nach dem Aktivieren/Deaktivieren neu zu starten.
- eine kleine kosmetische Korrektur in 0077-WebUI-NegateCondition integriert, die die fehlerhafte Benennung von Programmbedingungen korrigiert (#2232, #1908, @Maik2208)
Betriebsystem Änderungen:
- Upstream-Kernel auf die neueste Version 5.15.95 LTS aktualisiert.
- fehlendes BR2_PACKAGE_ICU Paket hinzugefügt, damit z.B. node.js mit Internationalisierungsunterstützung kompiliert wird, also Unicode unterstützt (#2212).
- Die Ausführung von docker pull in deploy.sh erfordert nur noch ein Argument.
- das rpi-eeprom-Paket auf die neueste Version v2023.01.11-138c0 aktualisiert.
- Java Azul auf die neueste Version 8.68.0.21-ca-jdk8.0.362 aktualisiert.
- Wiringpi-odroid auf die neueste Version im Github-Projekt aktualisiert.
- Tailscale auf die neueste Version 1.36.1 aktualisiert.
- Buildroot auf die neueste Version 2022.11.1 aktualisiert
- usbstoragequirks für “UGreen S-ATA to USB 3.0 adapters” hinzugefügt, die mit dem UAS-Treiber nicht richtig funktionieren (vgl. home-assistant/operating-system#2310).
- Das Skript install-proxmox.sh wurde korrigiert, um eine separate Abfrage für die mit Snapshots gekennzeichnete Version durchzuführen, da diese aufgrund von Maximalgrenzen nicht mehr in der Haupt-Github-Api-Abfrage enthalten ist.
- fstrim cronjob so geändert, dass er mit Optionen ausgeführt wird, die mit den letzten fstrim-Ausführungen übereinstimmen, die auch unter Ubuntu&Co durchgeführt wurden, und seine Ausgabe in den Logger geleitet wird, um sicherzustellen, dass seine Ergebnisse entsprechend dokumentiert werden.
- alle exit-$?-Vorkommen in Shell-Skripten durch richtige exit-0-Ersetzungen bei EOF ersetzt oder sie für unsere post-image.sh-Skripte entfernt. Diese exit $? machen bei EOF nicht viel Sinn, da $? ohnehin nur den Statuscode des zuletzt ausgeführten Befehls darstellt.
- Das Wiederherstellungssystem des OVA-Plattform-Builds wurde korrigiert, um die korrekte glibc-basierte Toolchain während des Builds zu verwenden und mit den anderen Plattform-Builds kompatibel zu sein.
Mitwirkende (diese Version, alphabetisch):
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:
- RaspberryMatic – Dokumentation
- RaspberryMatic – Forum
- RaspberryMatic – Documentation
- RaspberryMatic – Discussions
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.
Download/Installation:
Die neue Version kann wie gehabt von folgender URL für die verschiedenen Installationsplatformen von RaspberryPi über Tinkerboard bis hin zu allen virtuellen Platformen heruntergeladen und entsprechend installiert werden:
https://github.com/jens-maus/RaspberryM … ses/latest
Zu beachten gilt, das auf Grund der Unterstützung unterschiedlicher Geräte/Platformen es getrennte Installationsarchive und Installationsweisen gibt die für die folgende Hardware jeweils einheitlich ist. Hier bitte entsprechend die Dokumentation konsultieren.
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. Bei den virtuellen Platformen (ova bzw. oci) passiert das jeweilige Update/Upgrade ggf. via der eingesetzten Virtualisierungsumgebung.
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!