Hallo,
ich habe mich nun versucht einen Apache Reverse Proxy auf einer virtuellen Maschine einzurichten. FHEM ist bei mir auf einer anderen Maschine installiert.
Mittlerweile habe ich es geschafft, dass ich, wenn ich die URL der Virtuellen Maschine aufrufe, auf das TabletUI weitergeleitet werde.
Die Apache Konfiguration sieht folgendermaßen aus:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/tabletui.error.log
CustomLog ${APACHE_LOG_DIR}/tabletui.access.log combined
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Location /fhem>
ProxyPass http://10.1.1.150:8084/fhem/ftui
ProxyPassReverse http://10.1.1.150:8084/fhem/ftui
</Location>
</VirtualHost>
Das Problem ist derzeit nur, dass die Seite nicht richtig geladen wird und ich nur eine Weiße Seite sehe mit meinen Menüpunkten vom Flexbox Design.
Wenn ich TabletUI allerdings mit "index.html" aufrufe erscheint dürfte der Stylesheet geladen werden, allerdings wird mir der content_home.html Inhalt nicht angezeigt und ich sehe lediglich das Menü auf der linken Seite. Klicke ich dann aber auf einen Raum, wird alles korrekt angezeigt.
Ich hoffe, ich konnte die Problematik verständlich erklären.
Wisst Ihr vielleicht wo hier das Problem sein könnte?
lg
fireb
Hallo,
ich habe das Problem selbst in den Griff bekommen. Leider nicht mit Apache.
Nachdem ich mir jetzt NGINX installiert habe funktioniert das laden schnell und einwandfrei.
Liebe Grüße
fireb
Meiner Meinung nach kommt der Geschwindigkeitsvorteil mit einem zusätzlichen Webserver gegenüber der httpsvr-Modul Lösung durch das funktionierende Caching der Files.
Das kann man aber auch mit der Serverfunktionalität von FHEMWEB erreichen. Deshalb habe ich auch die Anleitung zum Installieren von FTUI geändert
Zitat
* copy the whole tree into the corresponding folder of your FHEM server /\<fhem-path\>/www/tablet
* rename the index-example.html to index.html or create your own index.html
* Tadaaa! A new fhem ui in http://\<fhem-url\>:8083/fhem/tablet/index.html
Also ohne HTTPSVR, nur FHEMWEB. Damit verringert sich die Ladezeit auch um fast die Hälfte (ab dem zweiten Mal), weil das Caching funktioniert.
Achtung: bei dieser Lösung muss man den Filenamen immer mit angeben: index.html
ich habe damals entsprechend der Wiki folgenden Schritt durchgeführt:
Anschließend ist ein neues HTTPSRV-Device in FHEM anzulegen, welches auf den Ordner mit den gerade heruntergeladenen Dateien verweist.
define TABLETUI HTTPSRV ftui/ ./www/tablet/ Tablet-UI
muss ich das define wieder löschen und so auf die Seite zugreifen?
Ja, das braucht man dann nicht mehr und kann (sollte) man löschen.
Wenn man das define löscht, verschwindet das Device links oben im Menü. Kann man da trotzdem den Link anzeigen?
Links unten im Menü geht es, ich hätte es nur gerne oben.
Mir ist noch was aufgefallen, füge ich noch ein Widget hinzu, wird das nicht aktualisiert, obwohl ich die Seite komplett neu lade.
Bisher wurde nach einen refresh die Widgets angezeigt. Liegt das eventuell an dem Caching?
ja genau, bei Änderungen ist es ratsam, den Cache zu leeren.
Da gibt es meist auch einen Shortcut dafür: Safari : option+command+e
Danke, gibt es die Möglichkeit dies auch automatisch zu machen? Wenn man ein wenig herumtestet und spielt ist das nicht wirklich schön.
Edit: Oder wie wird das Testen empfohlen?
Beim Chrome ist es Strg+Shift+Entf
Hast du eine Frage auf die Antwort mit dem Link links in der FHEMWEB Leiste?
Die Links werden vom HTTPSVR angelegt. Ohne das gibt es keine mehr zu FTUI.
Muss man sich überlegen, was einem wichtiger ist: schnellere Ladezeiten beim Refresh oder die Links im FHEMWEB
Dann nehme ich wohl die Performance. Im Menü lasse ich mir FTUI nun so anzeigen:
attr WEB menuEntries FTUI,/fhem/tablet/index.html
Wie testet ihr nun neue Widgets und neue Anordnungen? Geht das wirklich nur mit Cache löschen?
@TWART016 danke guter Tip mit den MenuEntries. Gibt es noch einen Trick sie ganz oben in Leiste zu kriegen?
Gruß
Eisix
Ihr dürft nicht immer so coole Sachen in irgendwelchen Threads verstecken und sie dann nicht im Wiki erwähnen ;)