Hauptmenü

FTUI 2.6

Begonnen von setstate, 11 Februar 2017, 14:59:21

Vorheriges Thema - Nächstes Thema

setstate

Achtung! Hier kommt wieder ein Update zum  ;D "Zerschießen" ;D  eurer Oberflächen

Also: Bitte nicht sofort auf im Alltag genutzte Systeme ungetestet ausrollen.

Neu:
- Longpoll: WebSocket als Standard, AJAX als Fallback oder per meta setting auswählbar 
Ihr müsst im FHEM websocket anschalten
Achtung: longpoll=websocket funktioniert nicht zusammen mit basicAuth (Device allowed_WEB)
attr WEB longpoll websocket
- Flexible Base Directory Ermittlung wieder eingebaut. War mit 2.5.1 entfernt worden.
   Damit kann man jetzt wieder seine HTML Seiten in Unterordner stecken und über die Angabe der fhem-tablet-ui.min.js bzw. fhem-tablet-ui.js im Header wird das Basisverzeichnis ermittelt.
- Unterstützung csrfToken Handling
- Unterstützung basicAuth
    Dazu kann man im HTML die Metatags "username" und "password" hinterlegen.
- Per data-bind kann man jetzt auch auf interne FTUi-Variablen zugreifen, um deren Inhalt in der Oberfläche darzustellen.
  Siehe index_state.html in examples
- einige wenige CSS Änderungen
zum Beispiel anstatt "bigger thin" für Labels muss man jetzt "great thin" benutzen, um das gleiche Ergebnis zu erzielen. "bigger" ist 200%, "great" ist 450%


<div class="cell">
    <div class="bigger line-normal">FTUI</div>
    <div class="" data-bind="ftui.version"></div>
</div>

jemu75

Prima, dass du so unermütlich dran bleibst! :-)

Habe das Update eben mal auf meiner Testumgebung gemacht. Nach dem Aufruf meiner Seiten merkt er folgendes an:
WebSocket connection to 'ws://xxx.xxx.x.xxx:8083/fhem/?XHR=1&inform=type=status;filter=.*;fmt=JSON' failed: Error during WebSocket handshake: Unexpected response code: 200

setstate

Funktioniert Websocket bei dir im FHEMWEB?

WEB > longpoll auf "websocket"

welches Gerät + Browser benutzt du?

jemu75

FHEM und Tablet UI laufen auf einer Diskstation DS212j. Habe die Weboberfläche über meinen Laptop mit Chrome gestartet. Mit der Frage ob Websocket im FHEMWEB funktioniert bin ich offen gesagt gerade überfragt.  ;)
Was genau meinst du mit: WEB > longpoll auf "websocket"?

setstate

Im FHEMWEB gibt es ein Device WEB. Dort unter Attributes longpoll auf websocket

jemu75

Habe mich eben belesen, das besagte Attribut entdeckt und gesetzt. Jetzt klappt es. :-)
Sieht bis auf ein paar Kleinigkeiten in den Formatierungen erstmal gut aus.

Aktuell fehlt mir aber die Checkbox aus meinem Test-Template: (ziemlich weit unten im Sourc-Code)

<body>
<div class="sheet">
<div class="row">
<div data-type="symbol" data-device="var_device2" data-states='["off","on"]' data-colors='["blue","red"]'  data-icon="fa-thermometer-3" class="cell big compressed"></div>
<div class="sheet">
<div class="row">
<div data-type="label" class="cell large bold left-align">var_name</div>
<div data-type="symbol" data-device="var_device1" data-get="desired-temp" data-states='["var_temp_night","var_temp_day"]' data-icons='["fa-moon-o","mi-wb_sunny"]' data-colors='["grey","blue"]' class="cell small"></div>
<div data-type="label" data-device="var_device1" data-get="desired-temp" data-unit="&deg;C" class="cell small"></div>
</div>
<div class="row">
<div data-type="label" data-device="var_device1_Climate" data-get="measured-temp" data-unit="&deg;C" class="cell big thin"></div>
<div data-type="label" data-device="var_device1_Climate" data-get="humidity" data-unit="%" class="cell big thin"></div>
</div>
</div>
<div data-type="checkbox" data-device="var_device1_Climate" data-get="desired-temp" data-set="desired-temp" data-get-on="var_temp_day" data-get-off="var_temp_night" data-set-on="var_temp_day" data-set-off="var_temp_night" class="cell blue"></div>
</div>
</div>
</body>


jemu75

Hier mal noch das Ergebnis in V2.5 und V2.6

ext23

Darf ich mal fragen was da der unterschied ist zwischen longpoll und websockets? Oder anders gefragt was ist denn besser? Ich hab natürlich Longpoll und LongpollSVG auf 1 stehen, aus Urzeiten.

Gruß
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)

setstate

longpoll über websocket ist moderner und besser. FHEM überträgt per websocket nur die eigentlichen Events. Longpoll per HTTP Ajax sendet die gesamte Liste der letzten zig Events immer wieder, bis es zum Überlauf kommt. Ich hatte deswegen ein re-connect aller 9999 Zeilen eingebaut. Man musste sich dann immer die letzte Zeilennummer merken und bei jedem Event erst ab dieser Zeile verarbeiten. Websocket wird aber nur von neueren Browsern unterstützt. Unter Android ab 4.4.

setstate

Zitat von: jemu75 am 11 Februar 2017, 15:46:26
Hier mal noch das Ergebnis in V2.5 und V2.6

Sorry, checkbox hatte noch einen Fehler im dependency Pfad. Ist korrigiert.

Die große Schrift musst du einfach nur größer machen "tall" z.B.
"big" ist nur 150%

roman1528

Zitat von: setstate am 11 Februar 2017, 14:59:21
- Longpoll: WebSocket als Standard, AJAX als Fallback oder per meta setting auswählbar 

Hast du da zufällig beispiele wie die meta-Tags jetzt aussehen (könnten)?

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Familienpapi

Hallo, setstate.

Ganz herzlichen Dank für Deine wundervolle Arbeit. Werde das Update dieser Tage testen und gerne berichten.

gesendet von meinem Note via Tapatalk

FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

Gasmast3r

#12
Hab bei FHEM ein Update gemacht FTUI ist inbegriffen im Update nun geht nix mehr.
Muss ich alles ändern ?
Longpoll auf websocket umgestellt

Hab es hin bekommen meine Einträge in eine aktuelle HTML kopiert und seist wieder alles da;)

setstate

manuelle Konfiguration geht per

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

"ajax" -> HTTP AJAX
"0"     -> longpoll aus

harald654

#14
Hallo,

Bei mir wird mit 2.6 leider nur noch die "Menu.html" ohne Unterseiten angezeigt, auch bei einem klicken auf die Pagetabs wird kein Untermenü eingeblendet. Fehlermeldungen bekomme ich keine.
(Aufgebaut nach der Anleitung im  FAQ https://wiki.fhem.de/wiki/FHEM_Tablet_UI/FAQ#Wie_baue_ich_ein_Men.C3.BC_mit_dem_Pagetab_Widget_auf.3F )