Ankündigung

Einklappen
Keine Ankündigung bisher.

Release smartVISU v3.3.1

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.3.1

    smartVISU v3.3.1 ist jetzt im master branch auf Github veröffentlicht. Diese Version enthält die hier im Forum diskutierten Fixes zu v3.3 und kleinere Funktionserweiterungen. Nur diese Version aus dem master branch sollte für den produktiven Einsatz verwendet werden, da im develop branch weiter entwickelt wird.

    Neu in smartVISU v3.3.1:
    • in der config.ini kann für smarthomeNG eine alternative Adresse eingegeben werden, z.B. der Name einer Domain, an die ein Zertifikat für die verschlüsselte Kommunilkation gebunden ist. Details: hier.
    • calendar.list hat eine zusätzliche Option, mit der die Anzahl der angezeigten Tage eingeschränkt werden kann
    • neue App für Spiegel Online RSS-Feeds

    Neu in smartVISU v3.3:
    • das Einbinden von SVG icons wurde komplett überarbeitet und trägt einen wesentlichen Teil zur Performance-Verbesserung v.a. auf Seiten mit vielen Widgets bei (siehe hier). Eine Anpassung der eigenen Seiten ist nicht erforderlich.
      Wer eigene Widgets erstellt, kann icons weiterhin mit dem <img>-Tag einbinden, oder die im verlinkten Thread vorgestellten schnelleren Methoden verwenden.
    • zu den Klassen icon0 und icon1 sind die Klassen icon2 bis icon5 mit den an die Designs angepassten Farben rot, gelb, grün und blau hinzugekomen, die in allen Widgets verwendet werden können.
    • für die Widgets wurde ein Namespace "@widgets" eingerichtet. Wer in seinen eigenen Widgets andere Widgets importiert, muss dies künftig über den Namespace machen:
      Code:
      {% import "@widgets/basic.html" as basic %}
      oder als rückwärtskompatible Variante:
      Code:
      {% import config_version_full >= "3.2.c" ? "@widgets/basic.html" : "basic.html" as basic %}​
      Die bisherige Methode ist auf deprecated gesetzt und wird in einer künftigen Version entfernt.
    • der alte smarthome-Treiber "io_smarthome.py.js" wurde entfernt bzw. in den Ordner ./driver/deprecated verschoben. Wer diesen bisher noch verwendet hat und eine vorhandene Konfiguration (config.ini) nutzt, bekommt beim Update eine Fehlermeldung und die Visu startet mit dem offline-Treiber. Der aktuelle Treiber benötigt sowohl die IP-Adresse, als auch die Ports - unabhängig davon ob ein Reverse Proxy verwendet wird. Zusätzlich muss der smartVISU Hostname angegeben werden, falls smartVISU intern über den Hostnamen aufgerufen wird. Info gibt es hier.
    • der "reconnect" zum Websocket wird nur noch durchgeführt, wenn die VISU angezeigt wird. Das vermeidet überflüssige Verbindungen und Verbindungsabbrüche zum Backend und macht die Verbindung dadurch zuverlässiger. Dies ist auch im fhem-Treiber umgesetzt, der einen eigenen reconnect Mechanismus hat.
    • der smarthomeNG-Treiber wartet nach dem Senden von Befehlen auf die Rückmeldung von smarthomeNG. Dies kann über eine Option in der Konfiguration abgeschaltet werden (Update erfolgt dann ohne Rückmeldung direkt in smartVISU, wie bisher).
    • der iobroker-Treiber wurde deutlich verbessert z.B. hinsichtlich Datentypen und abonnierten Updates von Plotdaten. Abonnements werden beim Seitenwechsel beendet. Ein Ergänzungsmodul für iobroker zur Nutzung der UZSU-Widgets wurde im Ordner ./driver/iobroker_uzsu bereitgestellt. Vielen Dank an Uwe Günther.
    • von Uwe stammt auch das neue Design "FlatDarkBlue".
    • die Uhren und die Plots können vollständig auf die Serverzeit eingestellt werden.
    • in der Konfiguration kann festgelegt werden, ob private Kalender-Einträge anonymisiert werden.
    • bei status.collapse kann die Aktion bei Erreichen eines Triggerwerts zwischen "hide" und "show" gewählt werden
    • basic.input hat eine Option zur Einstellung von Datum und Zeit in einem Schritt bekommen
    • mit der Formatoption "F" können in basic.print Zahlen mit 1000er-Trennzeichen ausgegeben werden. (Format %01,2F erzeugt Darstellung 12.345,67)
    • die x-Achsen von Plots können über die "chartoptions" verändert werden.
    • die Beschränkung in manchen Widgets, dass ein item nur einmal vorkommen durfte, wurde aufgehoben (z.B. bei den Plots)
    • die Apps wurden überarbeitet und eine neue App für Kraftstoffpreise (Tankerkönig) wurde hinzugefügt.

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


    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.
    • SmartVISU v3.3.1 benötigt mindestens PHP 7.3.2 und ist unter PHP 8.1 zuverlässig getestet.
    • die aktualisierte Bibliothek für das Minimieren der .js und .css-Dateien benötigt mehr Rechenzeit, als die bisherige. Bei älterer Server-Hardware (z.B. Rapsberry Pi 2) kann es beim Minimieren für den Cache zu Zeitüberschreitungen kommen. Dann läuft die Visu mit eingeschaltetem Cache nicht mehr richtig. 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.
    • die Menüstruktur wurde in v3.2 überarbeitet. Wer von einer älteren Version umsteigt und die Standard-Struktur verwendet, muss lediglich die Dateien aus dem Ordner ./pages/templates in den Ordner für die eigenen Seiten kopieren. Wer eigene Menüstrukturen hat, muss diese anpassen. Siehe separaten Beitrag.
    • Wenn Du von einer Version älter als v3.0 umsteigst, musst Du veraltete Widgets ersetzen. Der Templatechecker hilft dabei und gibt Empfehlungen für den Ersatz. Mit dem Widget Assistent kann die Parametrierung der Widgets live ausprobiert werden.
    • 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 wurde an den aktuellen Stand angepasst und auf smartvisu-newstuff zur Verfügung gestellt. Wenn diese in ein neues Verzeichnis ./pages/kurzanleitung kopiert wird, wird sie automatisch im Systemmenü zur Verfügung gestellt
    • 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 oder ./dropins/widgets ab. Um das Importieren der Dateien aus den genannten Verzeichnissen 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.

    Nach dem Umstieg:
    Erste Anlaufstelle bei Fehlern ist die Inline-Doku, die über das System-Menü (Zahnräder-Symbol) erreichbar ist. Dort 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 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​​
Lädt...
X