Ankündigung

Einklappen
Keine Ankündigung bisher.

Release smartVISU v3.5

Einklappen
Dieses Thema ist geschlossen.
X
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Release smartVISU v3.5

    Rechtzeitig zum ersten Advent ist jetzt smartVISU v3.5 im master branch auf Github veröffentlicht. Diese Version enthält neue Funktionen und Fehlerkorrekturen. Nur die Version aus dem master branch sollte für den produktiven Einsatz verwendet werden, da im develop branch weiter entwickelt wird.

    Neu in smartVISU v3.5:
    • für die Analyse von Datenreihen ist die App "analyse_plots" hinzugekommen. Mit ihr kann man Plots live konfigurieren und anzeigen lassen. Voraussetzung für die Funktion dieser Apps ist ein Backend, welches das Stornieren und Abonnieren einzelner Plots unterstützt und dessen Treiber dies beinhaltet. Aktuell sind dies nur smarthomeNG und jetzt auch ioBroker (Danke an YellowFlash fürs Testen). Mit Unterstützung versierter Anwender sollte sich das auf weitere Backends ausweiten lassen.​
    • die Anzeige von Plots mit großen Datenmengen wurde beschleunigt, indem das Highcharts Boost-Modul automatisch zugeschaltet wird, wenn eine Serie mehr als 5000 Punkte groß ist.
    • die Unterstützung des "dark mode" wurde erweitert. Es gibt dazu ein vordefiniertes Design "darkmode_blue", das aus den designs "darkblue" und "lighblue" besteht (Danke an ramann​ für die Vorarbeiten).​ Eigene dark mode Designs können jetzt als Kombination vorhandener Designs erstellt werden. Näheres siehe hier.
    • für Kalender wurde ein neues Datumsformat eingeführt, das die Worte "heute" und "morgen" mittels des Platzhalters "t" anzeigen und auch andere Angaben ersetzen kann, indem diese in Klammern gesetzt werden. Beispiel: mit der Formatangabe "t(l), d.m." wird "heute, 11.11." oder "Mittwoch, 13.11." angezeigt. Die Aktivierung erfolgt in der Sprachdatei. Nähere Hinweise siehe hier.
    • für CalDav Kalender wird jetzt auch die Digest-Auth Methode für die Anmeldung unterstützt.
    • auf den Menüschaltflächen des Raum-Menüs dürfen jetzt auch aktive Widgets platziert werden, z.B. basic.stateswitch.
    • die Treiber für smarthomeNG und ioBroker wurden um die Option "Aktivitätsanzeige" erweitert, die auf der Konfigurationsseite aktiviert werden kann. Ist diese aktiv, blinkt nach dem Aufruf einer Visu-Seite das smartVISU-Logo in der rechten oberen Ecke, bis alle angeforderten Daten vom Backend geladen sind.
    • der Treiber für smarthomeNG hat eine "Ping"-Funktion erhalten. Diese kann verwendet werden, wenn trotz eingeschaltetem "Reconnect" immer wieder abgebrochene Verbindungen zum Backend auftreten, die nicht neu gestartet werden. Dies kann bei bestimmten älteren Mobilgeräten der Fall sein, oder auch bei Verwendung eines Reverse Proxys, der den Websocket zum Backend nach einem Timeout schließt. Die Funktion wird aktiviert, indem man in der config.ini manuell einen weiteren Schlüssel "ping_interval" anlegt und eine Zeit in Sekunden eingibt, die die Spanne zwischen den letzten empfangenen Websocket-Daten und dem Aussenden des "ping"-Kommandos definiert. Ist der Wert =0, ist die Funktion deaktiviert. Danke an schuma fürs Testen.
    • der Treiber für ioBroker kann nun die im item-Objekt mitgesendeten Eigenschaften auswerten. Dazu ist in Anlehnung an smarthomeNG der Schlüssel "property" zu verwenden, z.B. "myItem.property.lc" für den Zeitpunkt der letzten Änderung.
    • zwei neue Wetterservices für open-meteo.com und visualcrossing.com wurden erstellt. Die Konfiguration ist in den jeweiligen .md-Dateien in ./lib/weather/service beschrieben.
    • sobald smarthomeNG im UZSU-plugin den Einmal-Event anbietet, zeigen die UZSU-Widgets die entsprechenden Einstellungen und Ergebnisse an.
    • verschiedene Widgets wurden hinsichtlich Farbdarstellung, Button-Typen und Aktivitätsanzeige erweitert. basic.icon akzeptiert jetzt auch alpha-Werte für rgb(a)/hsl(a)/hsv(a), sowie hex rgb(a)-Werte in items.
    • basic.print kann jetzt auch numerische Strings mit führenden Nullen anzeigen und einen Tooltip auf einem verlinkten Widget erzeugen. Dazu wird dessen id als Parameter "href" angegeben und 'tooltip' als Parameter "rel").
    • plot.sparkline kann jetzt auch Links und Popups öffnen
    • clock.countdown akzeptiert nun ISO Zeitangaben, ein festes Countdown-Intervall alternativ zum item-Namen und einen neuen Vergleichswert als Startbedingung.
    • Die Sprachunterstützung wurde auf alle relevanten Bereiche erweitert und Deutsche Übersetzungen erstellt.

    Und einiges mehr - die vollständige Liste der Neuerungen findet sich im Changelog im smartVISU-Hauptverzeichnis.

    WICHTIG !!! für den Umstieg:
    • die seit 2 Jahren als veraltet gekennzeichnete Import-Methode für Widgets wurde abgeschaltet. Hier ist jetzt zwingend der Namespace "@widgets" zu verwenden, der die für die Widgets vorgesehenen Ordner umfasst. Aus den eigenen Seiten können die Importe von Widgets ganz entfernt werden, da alle in den Widget-Ordnern liegenden Widgets automatisch importiert werden. Bitte denkt dabei auch an die index.html und die infoblock.html im Ordner Eurer Seiten. Wer eigene Widgets verwendet, muss diese anpassen. Näheres siehe hier.

    Zu beachten für den Umstieg:
    • es wird - wie immer - empfohlen, die neue Version in einem neuen Ordner zu installieren, wie weiter unten beschrieben. Das vermeidet 80% der klassischen Probleme, die immer wieder im Forum auftauchen und ermöglicht ein Weiterbetreiben der bisherigen Installation. Wer das nicht für nötig hält, muss wenigstens die Konfiguration einmal aufrufen und abspeichern, um die neuen Optionen zu aktivieren.
    • eigene CSS-Definitionen in der visu.css im Ordner der eigenen Seiten können Unverträglichkeiten mit Neuerungen in den mitgelieferten CSS-Definitionen hervorrufen. Am besten deaktivierst Du die eigenen Definitionen erst einmal und testest dann einzeln, welche Du noch benötigst.
    • smartVISU v3.5 benötigt mindestens PHP 7.3.2 und ist unter PHP 8 bis einschließlich v8.4.1 zuverlässig getestet.
    • die Bibliothek für das Minimieren der .js und .css-Dateien wurde hinsichtlich Rechenzeit weiter optimiert. Kommt es bei älterer Server-Hardware dennoch zu Problemen mit dem Cache, können Zeitüberschreitungen bei der Minimierung eine Ursache sein. Das Error-Log des Webservers sollte dazu Auskunft geben. Abhilfe: in der php.ini die "max_execution_time" hochsetzen (z.B. von 30 auf 45 Sekunden) und Apache / nginx neu starten. Anschließend die Ordner "pagecache" und "twigcache" manuell aus dem Ordner ./temp löschen.
    • beim Update kann es zu Konflikten mit alten Daten im Cache kommen. Am besten löschst Du den Cache bereits vor dem Umstieg mittels des Buttons auf der Config Seite. Auch ein manuelles Löschen der Daten im ./temp Verzeichnis ist möglich. Dabei sollten aber die Offlinedaten für die Doku und die Beispiele (offline_*.var) nicht gelöscht werden.
    • auch der Browser-Cache sollte gelöscht werden, v.a. auf Mobilgeräten. Da Homescreen Apps unter iOS/iPadOS einen eigenen Cache haben, der nicht zugänglich ist, müssen diese gelöscht und nach dem Update neu angelegt werden.
    • Wenn Du von einer Version älter als v3.2 umsteigst, musst Du weitere Anpassungen vornehmen. Suche im smartVISU-Forum nach "Release smartVISU" in den Ttiteln und befolge die Tipps aus v3.0 und v3.2.
    • Beim Umstieg legst Du am besten ein neues smartVISU-Verzeichnis an und installierst das Paket dort. In der Komplettanleitung auf smarthomeng.de ist dies gut beschrieben.
      Code:
      	cd /var/www/html
      	sudo mkdir smartvisu
      	sudo chown smarthome:www-data smartvisu
      	chmod g+rws smartvisu/
      	cd smartvisu
      	git clone https://github.com/Martin-Gleiss/smartvisu.git .
      Achte dabei auf den Punkt am Ende der letzten Zeile. "smartvisu" ersetzt Du ggfls. durch einen frei gewählten Namen. Den Namen dieses Verzeichnisses trägst Du für smarthomeNG in dessen plugin.yaml als Parameter "smartvisu_dir" für das smartvisu-Plugin ein. Anstatt anschließend die Rechte für das smartVISU-Verzeichnis manuell zu setzen, kannst Du auf der Linux-Kommandozeile in das neue smartVISU-Verzeichnis wechseln und dort den folgenden Befehl ausführen:
      Code:
      	sudo bash setpermissions
    • Lege ein Verzeichnis für Deine Seiten im ./pages Verzeichnis an und kopiere die Dateien aus .pages/_templates dorthin. Kopiere dann Deine eigenen html-Seiten aus der bisher laufenden Version in das neue Verzeichnis und achte darauf, keine veralteten Dateien wie visu.js zu kopieren. Danach stellst Du in der Konfiguration die benötigten Services ein. Nachdem die Konfiguration abgespeichert ist, kann man mit entsprechend Vorsicht aus der config.ini der bisherigen Version die Abschnitte für IDs und Passwörter der diversen Services kopieren und in die aktuelle config.ini einfügen. Wenn dabei etwas schief geht, die config.ini löschen und die Konfiguration erneut starten.
    • Wer die vom smartvisu-Plugin in smarthomeNG automatisch erstellten Seiten nutzt, trägt dort die Parameter in der plugin.yaml ein und startet smarthomeNG neu. Das Plugin schreibt dann die erstellten Seiten in das Verzeichnis ./pages/smarthome. Dieses wird anschließend in der Konfiguration der smartVISU ausgewählt. Wer letzeres vor dem Erstellen der Seiten macht, bekommt eine Hilfeseite angezeigt.
    • Die Deutsche Kurzanleitung - aktuell noch auf dem Stand von v3.3 - ist auf smartvisu-newstuff zur Verfügung gestellt. Wenn diese in ein neues Verzeichnis ./pages/kurzanleitung kopiert wird, wird sie automatisch im Systemmenü integriert.
    • Die Inline-Doku enthält Beispielseiten für alle Widgets und hilft bei der Weiterentwicklung Deiner persönlichen Visu. Alle neuen Features dieser Version sind dort erklärt.
    • Eigene Widgets legst Du am besten im Verzeichnis ./dropins/widgets ab. Um das Importieren der Dateien aus diesem Verzeichnis in Deine Visu-Seiten brauchst Du Dich dann nicht zu kümmern. Das geschieht automatisch. Wenn Du ein Widget erstellst, in dem andere Widgets aufgerufen werden, musst Du diese allerdings selbst importieren. Achte bei eigenen Widgets darauf, dass die Dateinamen in smartvisu nicht bereits verwendet werden. Maßgebend dafür sind insbesondere die Dateien in den Verzeichnissen ./widgets und ./pages/base. Zudem musst Du den namespace "@widgets" verwenden (siehe release notes zu v3.3.1).

    Nach dem Umstieg:
    Erste Anlaufstelle bei Fehlern ist die Inline-Doku, die über das System-Menü (Zahnräder-Symbol) erreichbar ist. Dies ist in jedem Fall die aktuellste verfügbare Doku, auch wenn auf smartvisu.de eine (meist ältere) Kopie als Doku online ist. In der Inline-Doku sind nicht nur alle Widgets erklärt, sondern sie werden in Beispielen live ausgeführt, so dass man einen Nachweis hat, ob die korrekte Funktion gegeben ist. Darüber hinaus findest Du hier im Forum Unterstützung. Bitte prüfe zuerst, dass Du die oben geschilderten Anweisungen eingehalten hast. Häufigste Fehler sind fehlende Rechte, Überreste alter Installationen, nicht umgestellte deprecated widgets und doppelte Dateinamen. Wenn das geklärt ist, beschreibe den gefundenen Fehler möglichst präzise, gib die verwendete Version von smartVISU an und füge Codebeispiele ein. Einrückungen verbessern die Lesbarkeit und können mit dem "Quelle"-Button oben links in der Funktionsleiste des Editors erstellt werden.


    Viel Spaß!

    Gruß
    Wolfram​​​​
    Zuletzt geändert von wvhn; 06.01.2025, 23:45.

    #2
    Wow, danke wvhn für die ganzen Verbesserungen und Bugfixes und ebenfalls an die Fehlersucher und Ideengeber!


    Kommentar

    Lädt...
    X