Hauptmenü

Webserver FTUI

Begonnen von TWART016, 29 Dezember 2020, 05:09:03

Vorheriges Thema - Nächstes Thema

TWART016

Hallo,

Ich bin mit der Performance von FTUI mit FHEMWEB nicht zufrieden. Die Seiten laden zum Teil ewig oder manchmal auch nur ein Teil.
Ich habe gelesen, dass ein anderen Webserver verwendet werden kann z.B. lighttpd
Kann ich das auf dem FHEM Server parallel installieren?

Aktuell habe ich bereits einen lighttpd in einem Docker Container, bekomme jedoch noch diesen Fehler:
fhem-tablet-ui.js:1185 WebSocket connection to 'ws://192.168.178.15/tablet/?XHR=1&inform=type=status;filter=AvReceiver,HUEDevice1,BadHeizung_Clima,SchlafzimmerHeizung_Clima,KinderzimmerHeizung_Clima,KuecheHeizung_Clima,KuecheHeizung2_Clima,WohnzimmerHeizung_Clima,WohnzimmerHeizung2_Clima,HomeStatus,WebRadio,GartenLicht,dummy,HerdLicht_Sw,PowerAV_Sw,BadRadio,RadioAtTablet,Fernsehen,dummy1,Eingangstuer,BadFenster,SchlafzimmerFenster,KinderzimmerFenster,KuechenFenster,Testschalter,AvReceiverZ2,THSensorWZ,AgroWeather,OutTemp,%20volume%20STATE%20hue%20desired-temp%20measured-temp%20ValvePosition%20input%20setList%20inputs%20fc0_weatherDay%20fc1_weatherDay%20fc0_tempMax%20fc1_tempMax%20temperature;since=1609214558161;fmt=JSON&timestamp=1609214559154' failed: Error during WebSocket handshake: Unexpected response code: 200
longPoll @ fhem-tablet-ui.js:1185
(anonymous) @ fhem-tablet-ui.js:947


In der index.html habe ich bereits die Zeile eingefügt:
<meta name="fhemweb_url" content="http://192.168.178.15/tablet/">


attr web CORS 1
attr web longpoll websocket


SirMarco

In der index.html muss die Adresse zu FHEM rein inkl. Port

<meta name="fhemweb_url" content="http://*deine FHEM IP*:8083/fhem/">

Grüsse

TWART016

Zitat von: SirMarco am 29 Dezember 2020, 10:20:00
In der index.html muss die Adresse zu FHEM rein inkl. Port

<meta name="fhemweb_url" content="http://*deine FHEM IP*:8083/fhem/">

Grüsse

Mit der Zeile bekomme ich nur das angezeigt:
<meta name="fhemweb_url" content="http://192.168.178.11:8083/fhem/">


SirMarco

Der Pfad zur fhem-tablet-ui.js stimmt?
Zeigt mal den header deiner index.html

TWART016

Ich habe nur die Zeile in index-example.html eingefügt.

<!DOCTYPE html>
<html>

<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.5.*
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2017 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * - create a new folder named 'tablet' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet
     * - add 'define TABLETUI HTTPSRV ftui ./www/tablet Tablet' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
     */
    -->
<meta name="fhemweb_url" content="http://192.168.178.11:8083/fhem/">
    <link rel="icon" href="favicon.ico" type="image/x-icon" />

    <!-- define your personal style here, it wont be overwritten  -->
    <!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
    <!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.css" / -->

    <script src="js/fhem-tablet-ui.js" defer></script>


    <!-- Remove this line to enable for usage with WebViewControl
    <script defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
    <script src="../pgm2/cordova-2.3.0.js" defer></script>
    <script src="../pgm2/webviewcontrol.js" defer></script>
    <!-- End for WebViewControl -->

    <title>FHEM-Tablet-UI</title>
</head>

SirMarco

Läuft das ganze schon so auf mit dem FHEM Webserver? Bin nicht der Profi, aber longpoll type muss mit in den Header meinte ich:

<meta name="longpoll_type" content="websocket">


TWART016

Damit ist der Fehler zumindest weg, jedoch wird noch immer noch das gleiche wie aus #2.

Jetzt bekomme ich noch die Fehler:

Access to XMLHttpRequest at 'http://192.168.178.11:8083/fhem/?XHR=1&_=1609261783397' from origin 'http://192.168.178.15' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
jquery.min.js:2

GET http://192.168.178.11:8083/fhem/?XHR=1&_=1609261783397 net::ERR_FAILED


192.168.178.11 ist der FHEM Server. 192.168.178.11 der Docker Container mit dem lighttpd

SirMarco

Sorry.... Dann bin ich raus

setstate

Im FHEMWEB Device muss das CORS Attribute auf 1 stehen.

TWART016

Das steht auf 1
attr web CORS 1

TWART016

EDIT: Sorry, habe auf den falschen Server verwiesen. Funktioniert jetzt.

Zitat von: SirMarco am 29 Dezember 2020, 16:50:28
Läuft das ganze schon so auf mit dem FHEM Webserver? Bin nicht der Profi, aber longpoll type muss mit in den Header meinte ich:

<meta name="longpoll_type" content="websocket">

TWART016

Wie sieht es denn mit einem Update aus? Bisher mache ich das über:
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
Bei einem anderen Webserver, werden die Daten natürlich nicht aktualisiert, sondern nur der tablet Ordner im FHEM Verzeichnis.

Ich habe den kompletten tablet Ordner auf den anderen Webserver kopiert. Muss ich das bei jedem FTUI Update machen, oder wie aktualisiere ich die Komponenten?

setstate

man kann den Tablet UI Folder des Fhem www als symbolischen Link im Web-Server www anlegen bzw. als Volume für den Docker Container bereitstellen.

btw.: für die FTUI Version 2 gab es schon seit 8 Monaten kein Update mehr. Ich machte da nichts mehr, die Version ist für mich deprecated.

Aktuell arbeite ich an der Version 3. Dafür gibt es ein neues Projekt, weil die alten Seiten damit nicht mehr kompatibel sind.

https://github.com/knowthelist/ftui

TWART016

Zitat von: setstate am 30 Dezember 2020, 12:03:35
man kann den Tablet UI Folder des Fhem www als symbolischen Link im Web-Server www anlegen bzw. als Volume für den Docker Container bereitstellen.
Mein FHEM ist eine VM (ohne Docker), der extra Webserver ein Container in Docker. Wie kann ein symlink auf einen anderen Server zeigen?

Zitat von: setstate am 30 Dezember 2020, 12:03:35
btw.: für die FTUI Version 2 gab es schon seit 8 Monaten kein Update mehr. Ich machte da nichts mehr, die Version ist für mich deprecated.

Aktuell arbeite ich an der Version 3. Dafür gibt es ein neues Projekt, weil die alten Seiten damit nicht mehr kompatibel sind.

https://github.com/knowthelist/ftui
FTUI 3 schaue ich mir mal an. Vermutlich wird das symlink Verhalten aber gleich sein.