FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: TWART016 am 29 Dezember 2020, 05:09:03

Titel: Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 05:09:03
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

Titel: Antw:Webserver FTUI
Beitrag 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
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 12:36:07
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/">

Titel: Antw:Webserver FTUI
Beitrag von: SirMarco am 29 Dezember 2020, 14:13:47
Der Pfad zur fhem-tablet-ui.js stimmt?
Zeigt mal den header deiner index.html
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 14:49:19
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>
Titel: Antw:Webserver FTUI
Beitrag 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">

Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 18:12:25
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
Titel: Antw:Webserver FTUI
Beitrag von: SirMarco am 29 Dezember 2020, 18:31:02
Sorry.... Dann bin ich raus
Titel: Antw:Webserver FTUI
Beitrag von: setstate am 29 Dezember 2020, 18:41:03
Im FHEMWEB Device muss das CORS Attribute auf 1 stehen.
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 18:50:38
Das steht auf 1
attr web CORS 1
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 29 Dezember 2020, 18:55:53
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">
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 30 Dezember 2020, 05:42:35
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?
Titel: Antw:Webserver FTUI
Beitrag 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.

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
Titel: Antw:Webserver FTUI
Beitrag von: TWART016 am 31 Dezember 2020, 14:40:27
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.