3.45.7.20190504 freigegeben

Created with Sketch.

Hallo Zusammen,

nach den sehr interessanten Gesprächen und persönlichen Treffen auf dem diesjährigen Usertreffen bin ich mit sehr viel Impressionen und Ideen zurückgekehrt und habe mir deshalb für den nun erscheinenden Release etwas mehr Zeit genommen da ich ja eigentlich noch im April einen neuen Release geplant hatte. Umso mehr freue ich mich heute nun die neue RaspberryMatic 3.45.7.20190504 Version offiziell freizugeben. Es sind in diese Version einige Änderungen eingeflossen die von vielen Nutzern an mich herangetragen wurden und ich denke diese sind sicherlich auch für den rest der RaspberryMatic Nutzerschaft wirklich interessant und sehenswert.

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

Allgemeine Änderungen:

  • OCCU wurde auf Version 3.45.7-4 geupdatet mit voller Kompatibilität zur CCU3 3.45.7 Firmware.
  • Aktualisierung der ReGaHss Logikengine auf Version R1.00.0388.0207 (May 1 2019) die folgende Änderungen mit sich bringt:
    • Reparatur eines weiteren kleinen Problems mit Zeitmodulen im Bezug auf die Winter->Sommer Zeitumstellung bei der es passieren konnte das unter bestimmten Bedingungen ein Program zweimal ausgeführt werden konnte.
    • Weiteres Problem in der Zeitberechnung von periodischen Timern repariert bei denen es weiterhin unter gewissen Randbedingungen zu einem Absturz der ReGaHss kommen konnte.
    • Die Anzahl maximaler Protokolleinträge kann nun in der /etc/rega.conf Datei via eines Eintrages HistoryBufferSize global angepasst werden.
    • Einführung neuer system.SunAzimuth() und system.SunAltitude() Skriptfunktionen die die momentane Sonnenposition in Abhängigkeit des Standortes ausgeben, sodass statt eigener Sonnenstandsberechnungen diese neuen internen Funktionen genutzt werden können.
    • Reparatur eines weiteren Problems in der Zeitmodulberechnung bei dem beim Start von ReGaHss sämtliche periodischen Timern auch dann ausgelöst wurden wenn diese nicht zur aktuellen Zeit passten.
    • Der interne Start des Zeitmodulscheduler wurde auf einen früheren Zeitpunkt versetzt, sodass Zeitmodulauswertungen nun systembedingt früher ausgewertet werden können.
    • Beseitigung eines kleinen Fehlers in der Verwaltung von Zuordnungen von Systemvariablen zu Gerätekanälen sodass bei entfernen eines Gerätekanals nun die Zuordnung einer Systemvariable zu diesem gelöschten Kanal korrekt entfernt wird (siehe viewtopic.php?f=31&t=50077).
    • Der in ReGaHss integrierte Webserver gibt nun keinerlei “Server:” Response-Header mehr zurück, sodass bei weiterhin zu unterlassener Nutzung eines Port Forwardings zum Anschluss einer CCU an das Internet Suchmaschinen eine CCU nicht mehr anhand des Webserver Response Headers identifizieren können.
    • Reparatur eines kleinen Problems in der Berechnung der Sonnenaufgangs/untergangszeiten die am Tag einer Zeitumstellung zwischen Mitternacht und der Zeitumstellungszeit eine falsche Sonnenaufgangs/untergangszeit berechnet hatten.
    • Wenn die Logausgaben von ReGaHss auf der Kommandozeile ausgegeben werden werden nun entsprechende Zeitstempel hinzugefügt um eine bessere Zuordnung der Ausgaben zu Entwicklungszwecken zu gewährleisten.
  • Aktualisierung der Buildroot/Linux Version auf die aktuell stabilste 2019.02.2 Version die lediglich geringfügige Änderungen aber wichtige Sicherheitsfixes gegenüber der Vorversion mit sich bringt.
  • Erhöhung der maximalen Anzahl von Protokolleinträgen von 3000 auf 10000 damit externen Anwendungen (z.B. PocketControl) oder die WebUI selbst mehr Protokolleinträge für Auswertungen verwalten kann.
  • Aktualisierung des Linux Kernels auf Version 4.19.36 für das ASUS Tinkerboard und RaspberryPi inklusive passender Firmwaredateien.
  • Der integrierte ‘monit’ Monitoring/WatchDog Dienst warnt nun bei Nutzung eines RaspberryPi automatisch vor einer ggf. aufgetretenen Unterspannung durch den Einsatz eines nicht konformen Netzteils.
  • Es wurden folgende neuen Standardpakete hinzugefügt um die selben Pakete in RaspberryMatic zur Verfügung zu stellen die auch in einer CCU2 existieren: strace, tcpdump, ser2net, libnetfilter_conntrack.
  • Unterstützung für das exFAT Dateisystem für das mounten externer USB Geräte hinzugefügt.

WebUI Änderungen:

  • Integration eines größeren WebUI Feature-Patches der einen sogn. “Sticky-Filter” für die Tabellendarstellungen in der WebUI (z.B. Geräteliste) umsetzt. Damit ist es nun möglich nach setzen eines Filters zu der Anzeige zurückzukehren und weiterhin den ausgewählten Filter vorzufinden. Dies sollte die Bedienung der WebUI bei häufiger Nutzung wesentlich vereinfachen wenn man eine größere Menge an Geräten/Kanälen dort konfiguriert hat (#601, #243, @psi-4ward).
  • Neuen WebUI Feature-Patch hinzugefügt der sämtliche IANA konforme Zeitzonen (wie z.B. “Europe/Berlin”) sowie mehr Standorte und genauere GPS Koordinaten aller Standorte für die Auswahl in der WebUI zur verfügung stellt. Dies sollte es ermöglichen RaspberryMatic besser weltweit einzusetzen (#602).
  • Zusätzliche Maßnahmen für eine verbesserte Sicherheit gegen Cross-Site-Scripting (XSS) Attacken hinzugefügt. Nun werden “Content-Security-Policy:” Reponseheader mit ausgegeben, sodass moderne Browser entsprechend darauf reagieren und vor Sicherheitsproblemen warnen können (#597, @psytester).
  • Hinzufügen eines WebUI Patches zur Verbesserung der Sicherheit bei Nutzung des ESP Remote-Skriping API bei der einige Funktionen trotz niederigerem Nutzerlevel mit Admin Priviligierung ausgeführt wurden.
  • Verbesserung des “Equal than” WebUI Patches um die Reparatur eines Problemes in der Konfiguration eines WebUI Programmes bei dem in den Bedingungen String Vergleiche durchgeführt wurden. Nun sollte der Bedingungstyp immer korrekt gesetzt werden und zu keinem Fehler mehr führen.
  • WebUI Bugfix-Patch hinzugefügt der ein Anzeigeproblem in der Nutzung der “nfs_datepicker.css” beseitigt.
  • WebUI Bugfix-Patch hinzugefügt der ein Problem in der Generierung der “usrAckInstallWizard” Datei beseitigt wenn der Nutzername andere Zeichen als nur ASCII Zeichen beinhaltet (#600).
  • Aktualisierung des Javascript-basierten CodeMirror ScriptEditor in der WebUI auf die aktuellste 5.45.0 version.

Bugfixes:

  • Bug beseitigt der bei nicht verfügbarkeit eines “wlan0” Interfaces der Monitoring WatchDog trotzdem eine Alarmmeldung generierte (#587).
  • Bug beseitigt der nun bei Nutzung des “triggerAlarm.tcl” Hilfsskriptes sicherstellt, das die Metadaten der zu erzeugenden Alarmvariable korrekt sind und diese ggf. korrigiert.
  • Bug im Netzwerksetup beseitigt der zur Folge hatte das IPv6 Verbindungsdaten bei der Akquirierung einer IPv4 Adresse via DHCP resettet wurden sowie Anpassung des Netzwerksetups durch exklusive Nutzung des /sbin/ip Befehles.
  • Bug beseitigt der auf Systemen mit nur einer CPU (z.B. RaspberryPi1) regelmäßige “irqbalance” Neustartalarmmierungen zur folge hatte auch wenn der Starten von irqbalance auf solchen System nicht vorgesehen war (#596).
  • Bug beseitigt der regelmäßige Internet Verbindungswarnungen erzeugte und nicht davon ausging das durch die Zwangstrennungen manche Provider es unter gewissen Umständen zu unvermeidbaren Verbindungsproblemen kommen kann. Nun werden solche Warnungen erst nach 5 Minuten konstanter Verbindungsprobleme via WatchDog-Alarm gemeldet.
  • Bug in “restoreBackup.tcl” Hilfsskript beseitigt das die neuzustartenden Dienste nicht vorher vom Monitoring/WatchDog abgemeldet hat (#612).
  • Bug im Monitoring/WatchDog beseitigt der in zu kurzen Abständen nach der Erreichbarkeit von Diensten kontrolliert hatte. Nun wird ein generelles Überprüfungsintervall von 13 Sekunden genutzt und eine Alarmierung bzw. Neustart eines Dienstes bei nicht erreichbarkeit eines Netzwerkdienstes wird erst frühestens nach ~65 Sekunden durchgeführt (#604).

Mitwirkende (diese Version, alphabetisch):

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:

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

RaspberryMatic-3.45.7.20190504-rpi3.zip

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

RaspberryMatic-3.45.7.20190504-rpi0.zip

ASUS Tinkerboard:

RaspberryMatic-3.45.7.20190504-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 einmaligen Umstieg von einer CCU3 zu RaspberryMatic ein Installationsarchiv …

RaspberryMatic-3.45.7.20190504-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 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.

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 Projekt 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 der neuen RaspberryMatic Version!