Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
smartVISU 3.0.0 - "Masteritem file is missing" / Templatechecker startet nicht
Wenn Du smarthomeNG v1.8 installiert hast, starte dieses neu. Das smartvisu-Plugin schreibt das masteritem-file dann in Dein Seitenverzeichnis.
In früheren Versionen von smarthomeNG kannst Du die Ausgabe des masteritem-files mit einer Logik machen. Der Python Code dazu steht in der Readme.md im Ordner ./lib/widget_assistant. Du kannst diese im Admin-Interface von shNG eingeben und direkt triggern.
Ohne masteritem file hat der Templatechecker die gleiche Funktion wie bisher. Mit dem File prüft er die Übereinstimmung der item-Typen ais dem Backend mit den in den Widgets vorgesehenen item-Typen.
Dann musst Du Dir das masteritem file von Hand erstellen. Ich hatte in verschiedenen Communities angeregt, dass jemand für das jeweilige Backend eine solche Logik implementiert. Rückmeldungen habe ich nicht bekommen.
Die Datei ist json mit Wertepaaren aus item und type. Beispiel:
Ohne masteritem file hat der Templatechecker die gleiche Funktion wie bisher
Dann habe ich aber ein anderes Problem. Mein Templatechecker zeigt nämlich keine "Run all test"-Schaltfläche. Dafür aber eine "Don´t check files in subfolders"-Schaltfläche. Es tauchen auch keine Dateien unter "Files in template directory:" auf, siehe Anhang. Templatechecker_3.0.0.png
Das masteritem file ermöglicht wie gesagt Zusatzfunktionen im Templatechecker und hat keinen Einfluss auf das hier beobachtete Fehlverhalten.
Ich kann das hier im Moment (noch) nicht nachstellen. Kann es sein, dass Du die Konfiguration nicht vollständig durchgeführt oder die Dateirechte nicht gesetzt hast?
Geben die Entwicklertools im Browser (F12) Aufschluss durch Fehlermeldungen?
NGem ich habe jetzt auf viele verschiedene Arten versucht, den Templatechecker zum Nichtstarten zu überreden. Selbst in einem völlig frisch erstellten Verzeichnis, in dem ich jegliche Vergabe von Rechten und jegliche Konfiguration der SV weggelassen habe, startet er zuverlässig.
Bitte prüfe, ob Du unter Deinen Seiten Überreste von einer alten Installation hast (z.B. visu.js), oder ob Dateinamen verwendet werden, die in SV für die Widgets definiert sind (siehe die in ./widgets und ./page/base verwendeten Namen).
Wenn Du die config.ini im Root-Verzeichnis der smartVISU in z.B. config.old umbenennst und dann smartVISU neu aufrufst, kommt eine Begrüßungsseite, auf der verschiedene Voraussetzungen überprüft werden. Sind die alle erfüllt?
Gruß
Wolfram
P.S.: das hat sich jetzt überschnitten. Also die Voraussetzungen sind erfüllt.
Der Fehler kommt aus dem Aufruf der .lib/templatechecker/templatechecker.php. Du könntest in der Entwicklerkonsole die Optionen "XHR" und "Anfragen" schauen, ob verwertbare Meldungen kommen, die den Fehler eingrenzen. Möglicherweise steht im Apache-Log (oder nginx-Log) noch mehr.
Ich kann sehr ähnliche Fehler provozieren, wenn ich Dateien in .lib/templatechecker lösche oder durch alte Versionen ersetze. Bitte prüfe anhand des Verzeichnisses im master branch, ob bei Deinem Update die Dateien vollständig kopiert wurden und aktuell sind.
Ebenso die ./lib/functions_twig.php.
Falls Du docker nutzt, hoffe ich, dass Du der Fehler reproduzieren kannst. Das Setting ist für mich praktisch - würde mich freuen, wenn es beibehalten kann.
Zu Docker kann henfri sicherlich etwas sagen. Ich kann nur sagen, dass php7.4 OK ist. Ich nutze das auf meinem Testsystem auch.
Ich denke, dass irgendwo ein Bug in Deiner Installation ist. Wenn Du mir per PN einen Link auf eine Kopie des gesamten smartVISU-Verzeichnisses schickst, kann ich das hier mal durchtesten.
was ist denn jetzt das Fehlverhalten?
Ich habe noch nicht aktualisiert, daher kann ich nicht sagen, ob es mit Docker zusammenhängt. Aber eigentlich stellt Docker ja nur einen Webserver bereit.
das Fehlverhalten ist, dass PHP die Fileliste der im Templatechecker zu prüfenden Seiten nicht lädt bzw. nicht verarbeitet. Docker-Konfiguration siehe oben.
Spiele ich das Verzeichnis von NGem in mein Testsystem ein, läuft der Templatechecker normal.
Ist im Docker ggfls. noch zusätzliche Konfiguration für den Webserver / PHP / ajax erforderlich?
Das Laden der Dateiliste findet in einem Aufruf der PHP-Seite aus der templatechecker.js heraus statt:
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen und die Websiteaktivitäten zu analysieren. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar