Ankündigung

Einklappen
Keine Ankündigung bisher.

Release smartVISU v3.4

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

    Release smartVISU v3.4

    Rechtzeitig zu Nikolaus ist jetzt smartVISU v3.4 im master branch auf Github veröffentlicht. Diese Version enthält neue Funktionen und Fehlerkorrekturen. 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.4:
    • die Treiber für smarthomeNG, ioBroker und eibd/knxd sowie der Offline-Treiber wurden um die Möglichkeit erweitert, Steuerungs- und Statusinformationen für ein Gerät im Backend auf getrennte items zu legen, aber als ein kombiniertes item in den Widgets zu verwenden. Hierzu werden die items im Widget mit einem Doppelpunkt kombiniert:
      Code:
      "item_status:item_control"
      Gibt man in den smartVISU-Widgets dieses kombinierte item an, dann werden Kommandos an das Backend auf item_control gesendet, wärend updates auf item_status abonniert werden. Damit ist es möglich, auf echte Rückmeldungen von dem Aktor zu warten, anstelle - wie bei vielen Backends üblich - nur das Echo des gesendeten Kommandos als update zu verwenden. Hilfreich ist das bei lang dauernden Vorgängen (z.B. Jalousienfahrten) oder wenn Aktoren gesperrt werden können (z.B. Jalousie gesperrt, wenn Fenster offen). Die Option „Item Bestätigung“ muss dazu in der Konfiguration aktiviert werden, damit der Treiber für das Item Update auf die Antwort vom Backend wartet.
    • das Widget basic.stateswitch hat passend zu den Treibererweiterungen neue Optionen für die Darstellung von laufenden Schaltvorgängen bekommen. Die icon-Farbe und das Blinken konnten bisher schon gewählt werden. Jetzt kann für den laufenden Vorgang ein eigenes icon angezeigt oder mit der Option "simulate" ein dynamisches icon animiert werden. Die Darstellung stoppt bei Empfang des item updates oder nach Ablauf eines einstellbaren timeouts. Näheres zeigt die überarbeitete Doku-Seite für basic.stateswitch.
    • für die Analyse von Datenreihen in der Vergangenheit wurde das widget plot.timeshift erstellt. Über Pfeiltasten kann man in einstellbaren Intervallen durch die Daten blättern. Der jeweilige Plot wird dann im Backend storniert und mit geändertem Zeitraum neu abonniert. Verfügbar ist dies für Backends, die das Stornieren und Abonnieren einzelner Plots unterstützen und für die dies im Treiber umgesetzt ist. Aktuell ist die nur smarthomeNG. Mit Unterstützung versierter Anwender sollte sich das auf weitere Backends ausdehnen lassen.
    • die Tagesdarstellung (0-24 Uhr mit zoom="day") von plot.period kann jetzt auch für vergangene Tage angewendet werden. Zudem ist es möglich, Plots in Popups erst "on demand" bei Öffnen des Popups zu laden.
    • das neue Widget plot.sparkline zeigt Trendlinien z.B. für den Einsatz in Tabellen an.
    • das neue Widget clock.countup zeigt die verstrichene Zeit seit dem Triggern durch ein item an.
    • die Erweiterungen des KNX-UF icon sets des laufenden Jahres wurden übernommen und mit basic.skylight (Danke an @raman) und icon.slidinggate zwei neue dynamische icons hinzugefügt.
    • bei allen Widgets mit Schiebereglern wurde die "live" / "silent" Option von basic.slider eingeführt (Werteänderung während des Schiebens oder beim Loslassen). In basic.slider ermöglicht die "style"-Option die Anwendung von nutzerdefinierten Stilen auf den Slider-Track.
    • das neue Widget status.customstyle ermöglicht das individuelle Styling von Elementen abhängig von item-Werten mittels vom Anwender angelegten CSS-Klassen.
    • die App und das Widget für die Wetterkarten wurde überarbeitet (Danke an die technische Leitung der Tagesschau für die Hilfe).
    • @hijacker7 hat eine Backupfunktion für alle Nutzerdaten eingeführt und auch gleich ein italienischen Sprachpaket beigesteuert. Grazie tante!
    • von aschwith stammt der neue Wetterservice pirateweather.net als Ersatz für darksky.net. Vielen Dank! Zudem wurde das Handling von Einheiten in den Wetterwidgets über die Sprachdateien optimiert.
    • @Onkelandy hat die Designs "darkblue" and "flatdarkblue" vervollständigt. Frühere Derivate dieser Designs wurden auf smartvisu-newstuff zur Verfügung gestellt, werden dort aber nicht mehr regelmäßig gepflegt. Für anwenderspezifische Designs wurde der Ordner ./dropins/designs angelegt, aus dem Designs automatisch in der Konfiguration angeboten werden. Hierbei ist darauf zu achten, dass die URL-Angaben z.B. für Hintergrundbilder in den CSS-Dateien angepasst werden müssen.
    • auf kleinen Smartphone-Displays wird die Info-Seite nur im Hauptmenü angeboten - im Austausch zum dort nicht benötigten Home-Button.
    • die Dokuseite Design > Tooltips zeigt, wie man Hilfetexte in die eigene Visu einbauen kann.

    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.
    • 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.4 benötigt mindestens PHP 7.3.2 und ist unter PHP 8.2 zuverlässig getestet.
    • die Bibliothek für das Minimieren der .js und .css-Dateien wurde hinsichtlich Rechenzeit wieder in Ordnung gebracht. 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.
    • 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 - 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 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. 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. 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​​​
    Zuletzt geändert von wvhn; 25.04.2024, 07:33. Grund: Ergänzung: Option „Item Bestätigung“ muss für kombinierte Status- und Control-Items aktiviert werden
Lädt...
X