Mehrere Tablet UI nutzen / Handhabung

Begonnen von Depechem, 05 Dezember 2016, 17:49:37

Vorheriges Thema - Nächstes Thema

Depechem

Hi,
ich habe für mehrere Tablets/Telefone verschiedene FTUI Oberflächen gebaut.
Die Haupt-Tablet UI Oberfläche mit allen Unterordnern(lib, css, js, fonts, pgm2) ist unter(Rapberrry):

/opt/fhem/www/tablet

zu finden. das läuft auch alles.

Eine neue FTUI mit dem Namen "iPhone" könnte ich doch somit in einen Ordner:
/opt/fhem/www/iPhone
packen!?
Dann muss ich aber alle Unterordnern(lib, css, js, fonts, pgm2) auch mit in den neuen "iPhone" Ordner kopieren.

Wird nun bei einem Update automatisch in beiden Ordnern (tablet & iPhone) die Dateien(lib, css, js, fonts, pgm2) mit aktualisiert?

Oder wie sollte man dies aber pessen(saubersten) mit mehren Tablet-UI Oberflächen handhaben?

Danke für die Antworten.
Viele Grüße Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

klausw

du müsstest nur die Links im html Header anpassen:

<script src="lib/jquery.toast.min.js" defer></script>

wird beispielsweise zu:

<script src="../tablet/lib/jquery.toast.min.js" defer></script>

.. bedeutet eine Verzeichnisebene vom Speicherort der HTML-Datei hoch

oder du machst die Unterverzeichnisse unter /opt/fhem/www/tablet
für /opt/fhem/www/tablet/iPhone
wäre es dann
<script src="../lib/jquery.toast.min.js" defer></script>
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Depechem

Zitat von: klausw am 06 Dezember 2016, 10:37:24
du müsstest nur die Links im html Header anpassen:

<script src="lib/jquery.toast.min.js" defer></script>

wird beispielsweise zu:

<script src="../tablet/lib/jquery.toast.min.js" defer></script>

.. bedeutet eine Verzeichnisebene vom Speicherort der HTML-Datei hoch

oder du machst die Unterverzeichnisse unter /opt/fhem/www/tablet
für /opt/fhem/www/tablet/iPhone
wäre es dann
<script src="../lib/jquery.toast.min.js" defer></script>


Genau so habe ich das auch gemacht(mit beiden Möglichkeiten) da ich die Seiten auf dem Raspberry auf eine Apache ausgelagert habe funktioniert das auch. Nur wenn ich in FHEM es damit anlege:
"define TABLETUIneu HTTPSRV ftuineu/ ./www/iphone Tablet-UIneu"
Und das TABLETUIneu in fhem anwähle funktioniert die gesamte Verlinkung auf die .js,.css... nicht. Also es wird mir keine Formatierung angezeigt. Das komische ist das es über dem Apache läuft. Dieser ist ja auch nur mit dem www Ordner verlinkt. An was könnte dies liegen?
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

ext23

Moin,

hast du dein Problem schon gelöst bekommen?

Mich würde auch mal interessieren wie man "offiziell" mehrere Instanzen baut. Die Idee mit mehreren defines scheint mir nicht die Beste zu sein. Es macht wohl mehr Sinn neue Unterordner anzulegen und dort die einzelnen GUIs rein zu packen, sofern das LongPoll dann auch noch sauber funktioniert. Ich muss auch für jedes Tablet eine andere GUI bauen. Davon mal abgesehen ist der Seitenwechsel auf den Tabs unendlich langsam daher dachte ich mal eine Probeseite mit PageTabs zu bauen, allerdings ist man hier ja auf ein Menü beschränkt und um damit zu spielen brauche ich mehrere GUIs.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

klausw

Zitat von: Depechem am 06 Dezember 2016, 21:55:40
Genau so habe ich das auch gemacht(mit beiden Möglichkeiten) da ich die Seiten auf dem Raspberry auf eine Apache ausgelagert habe funktioniert das auch. Nur wenn ich in FHEM es damit anlege:
"define TABLETUIneu HTTPSRV ftuineu/ ./www/iphone Tablet-UIneu"
Und das TABLETUIneu in fhem anwähle funktioniert die gesamte Verlinkung auf die .js,.css... nicht. Also es wird mir keine Formatierung angezeigt. Das komische ist das es über dem Apache läuft. Dieser ist ja auch nur mit dem www Ordner verlinkt. An was könnte dies liegen?
Schau dir mal den Quelltext im Browser an (bei Firefox: rechtsklick auf die Seite -> Seitenquelltext anzeigen )
Dort kannst du im header die Links zu den js und css Dateien sehen. Sind die denn korrekt?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Depechem

Zitat von: klausw am 19 Dezember 2016, 12:05:13
Schau dir mal den Quelltext im Browser an (bei Firefox: rechtsklick auf die Seite -> Seitenquelltext anzeigen )
Dort kannst du im header die Links zu den js und css Dateien sehen. Sind die denn korrekt?

Meiner Meinung nach passen die!?

die Ordner: lib, css, pgm2 und js sind unter /opt/fhem/www/tablet zu finden
die .html Seiten sind unter /opt/fhem/www/tablet/iPhone zu finden.
Dies müsste doch passen!?

Siehe Anhang
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

klausw

das Verzeichnis pgm2 ist für gewöhnlich eine Ebene höher
evtl. liegt es daran
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Depechem

Zitat von: klausw am 20 Dezember 2016, 10:42:05
das Verzeichnis pgm2 ist für gewöhnlich eine Ebene höher
evtl. liegt es daran

Siehe Anhang habe ich beides probiert, funktioniert aber beides nicht.
Welches der beiden wäre rein theoretisch richtig? ../../ so oder?
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

ms_steini

Hallo,
ich wollte mal fragen ob es hier schon neue Erkenntnisse bzw. Lösungen gibt.

Ich bekomme das auch irghendwie mit den Ordner-Ebenen nicht hin.

setstate

Was ist dein Ziel? Was willst du erreichen? Zwei parallele und dadurch unabhängige Installationen, oder nur Unterordner der Ordnung wegen?

ms_steini

ich habe 2 x 8 Zoll Tablets (vertikal) und 2 x 10 Zoll Tablets (horizontal) und möchte für jedes einzelne Tablet eigene html Dateien haben, bisher habe ich das mit den Dateinamen
wie z.B. og_diele_index.html | od_bad1_index.html | og_bad2_index.html usw. geregelt, schöner wäre es die einzelnen Tablets in Unterverzeichnisse wie z.B.
www/tablet/og_diele | www/tablet/og_bad1 | www/tablet/og_bad2 usw. zu packen.

habe auch schon versucht mit define OG.Diele.TAB HTTPSRV og_diele ./www/tablet/og_diele OG_Diele

Unterordner der Ordnung wegen würde ich sagen

tomster

Wenn Du nur die html-Dateien separieren willst, dann würde ich im Unterordner iPhone für die js/lib/css/font aus dem "Root"-Verzeichnis einen symbolischen Link setzen. Dann werden Updates gleich auch auf den Unterordner angewendet.

Also so: https://forum.fhem.de/index.php/topic,65604.msg578084.html#msg578084

setstate

Links sind jetzt auch nicht mehr nötig.
Einfach nur einen minimalen Header benutzen und die FTUI js entsprechend angeben.

="../js/fhem-tablet-ui.js"

ms_steini

#13
Zitat von: setstate am 15 Februar 2017, 12:49:53
Links sind jetzt auch nicht mehr nötig.
Einfach nur einen minimalen Header benutzen und die FTUI js entsprechend angeben.

="../js/fhem-tablet-ui.js"

das funktioniert bei mir leider NICHT.

ich habs so gemacht wie unter dem geposteten link von "tomster" beschrieben stand


das ist eine meiner index.html
<!DOCTYPE html>
<html>
<head>
<meta name="gridster_disable" content="1">
<meta name="widget_margin" content="2">
<meta name="toast" content="0">

<link rel="stylesheet" href="css/fhem-tablet-ui-user.css">
<script type="text/javascript" src="js/fhem-tablet-ui.js" defer></script>

    <!-- Remove this line to enable for usage with WebViewControl -->
    <script defer>var wvcDevices = {'12343':'OG.Elternbad.Lenovo','12344':'OG.Kinderbad.Lenovo'}; 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>
<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="4" data-sizey="1" data-template="menu.html" style="background-color:#e8e8e8"></li>
        </ul>
    </div>
</body>
</html>

Badflex

#14
Hallo, habe jetzt das gleiche problem mit update.
Liegt es vieleicht daran das man den HTTPSRV ändern muss um die Seiten aufzurufen.
Habe bei mir ftuim/ ./www/mobile/ Mobile-UI eingetragen damit man mit .......ftuim/index.htm die Mobile Seite bekommt.

Und eine komplette Instanz in den Ordner mobile gepackt.
Ich denke die findet er nicht beim update?!
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Jojo11

Ich betreibe auch mehrere verschiedene UIs und packe ALLE html-Dateien in den selben Ordner. Wenn man die Dateien entsprechend benennt ("TAB1_index.html", "TAB2_wasauchimmer.html"), behält man trotzdem den Überblick. Trotz recht umfangreicher Konfiguration komme ich aber auch mit <30 Dateien für alle Instanzen aus. Hat sich bewährt und läuft  :)

schöne Grüße
Jo

Gasmast3r

#16
hallo ich habe das gleiche anliegen wie hier beschrieben, nur bekomme ich den Zusammenhang mit den ebenen und den einzelnen HTML Dateien nicht raus.

Ich habe bis jetzt mir einen Ordner angelegt.
/opt/fhem/www/tablet/ftui

dann habe ich folgendes Definiert
define TABLETUI_small HTTPSRV ftui/ ./www/tablet/ftui/ Tablet-UI

aber irgendwas ist falsch.
wollte nicht extra ein neuen Beitrag erstellen

hugo

#17
@jojo11,
hallo wie hast du die verschiedenen ftui definiert, dass der Aufruf mit den verschiedenen html dateien funktioniert?

Oder wo gibt es eine Anleitung für mehrere Tablet UI
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;