New FHEM Tablet UI

Begonnen von setstate, 22 Februar 2015, 23:37:24

Vorheriges Thema - Nächstes Thema

tomster

Uii, setstate, da hast Du dich Mal wieder selber übertroffen!
Ich bin begeistert!

Phil__

bin begeistert!  8) 8) 8)

Gibt es durch das Auslagern von Menüs etc., eigentlich verzögerungen beim Laden?
Server: Intel DH77EB + Core i3-2120 mit Ubuntu Server 14.04
Backup: Beaglebone Black
Homematic: HM-LAN-Adapter, HM-CC-RT-DN, HM-CC-TC, HM-LC-SW1-PL2, HM-SEC-RHS, HM-SEC-SC, HM-TC-IT-WM-W-EU, HM-WDS10-TH-O
Weitere: Denon-AVR, PhilipsTV, PhilipsHue, Raspi+XBMC
Nexus 7 (WebViewControl + FTUI)

selfarian

Coole Sache das mit den Templates, gute Arbeit! :-)

Was mir jetzt aufgefallen ist: Bei mir zeigt er beim Laden jetzt immer an, das er die Temperaturen der einzelnen Thermostate auf 17°C setzt. Im FHEM log erscheint dann auch ein "CUL_HM set <zensur> desired-temp 17" pro Thermostat. Ist das so gewollt oder ist mir das vorher nicht aufgefallen?! :-)
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

setstate

#1053
Zitat von: selfarian am 22 April 2015, 14:34:02
Coole Sache das mit den Templates, gute Arbeit! :-)

Was mir jetzt aufgefallen ist: Bei mir zeigt er beim Laden jetzt immer an, das er die Temperaturen der einzelnen Thermostate auf 17°C setzt. Im FHEM log erscheint dann auch ein "CUL_HM set <zensur> desired-temp 17" pro Thermostat. Ist das so gewollt oder ist mir das vorher nicht aufgefallen?! :-)
Habe ich bei mir auch beim Volume Widget. Ein Schönheitsfehler, den ich mir noch anschauen werde. Das ist der lokal gespeicherte Startwert. Sollte das Control einstellen, wenn kein aktueller Wert vorliegt, aber nicht senden.
Korrektur: lokaler Startwert gibt es zur Zeit nur beim Dimmer. Es muss was mit den Ready-Flag und dem asynchronen Initiieren zu tun haben.

setstate

Zitat von: Phil__ am 22 April 2015, 10:54:47
bin begeistert!  8) 8) 8)

Gibt es durch das Auslagern von Menüs etc., eigentlich verzögerungen beim Laden?

Verzögerungen dürfte es nicht verursachen. Keine spürbaren.

mw_fhem

Zitat von: setstate am 22 April 2015, 15:32:33
Verzögerungen dürfte es nicht verursachen. Keine spürbaren.

Ich bin gerade am Probieren mit diesem neuen "Feature". So ganz habe ich aber ehrlich gesagt die Zusammenhänge nicht verstanden (liegt wohl an mir  :-\). Auch noch nicht was es bringen soll. Ich verzweige zu Unterseiten mit dem button-Widget. Aber wenn das pagetab/template-Widget keine Geschwindigkeitsvorteile hat, würde es sich für mich nicht lohnen alles umzustricken? Oder sehe ich das falsch?
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

setstate

#1056
Zitat von: mw_fhem am 22 April 2015, 15:37:16
Ich bin gerade am Probieren mit diesem neuen "Feature". So ganz habe ich aber ehrlich gesagt die Zusammenhänge nicht verstanden (liegt wohl an mir  :-\). Auch noch nicht was es bringen soll. Ich verzweige zu Unterseiten mit dem button-Widget. Aber wenn das pagetab/template-Widget keine Geschwindigkeitsvorteile hat, würde es sich für mich nicht lohnen alles umzustricken? Oder sehe ich das falsch?
Da hast du Recht, mit dem Button Widget geht das genauso. Wenn du zufrieden bist, würde ich auch nix umbauen. Ich wollte nur ein ein anderes Aussehen und ein soften Übergang mit dem Pagetab. Es wird nicht die gesamte Seite neu geladen, sondern nur der Gridster-Baum, Scripts und Styles bleiben unverändert.
Templates kann man aber auch unabhängig davon nutzen, wenn du zum Beispiel auf jeder Unterseite die Außentemperatur rechts oben haben willst. Dann baut man das nur einmal und setzt auf jede Seite den Verweis.

mw_fhem

Zitat von: setstate am 22 April 2015, 15:45:18
Da hast du Recht, mit dem Button Widget geht das genauso. Wenn du zufrieden bist, würde ich auch nix umbauen. Ich wollte nur ein ein anderes Aussehen mit dem Pagetab.
Templates kann man aber auch unabhängig davon nutzen, wenn du zum Beispiel auf jeder Unterseite die Außentemperatur rechts oben haben willst. Dann baut man das nur einmal und setzt auf jede Seite den Verweis.

Das würde ich dann wohl bei mir mit der Uhrzeit machen. Was bei diesem Modul auch "schöner" ist als  bei button ist der sanfte Übergang, weshalb es mir schneller vorkommt. Aber die Augen lassen sich gerne mal trügen...
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

mw_fhem

Bei meinen Tests ist mir folgendes aufgefallen:
Bisher navigiere ich durch alle meine html-Seiten über das button-Widget. Nun habe ich ein pagetab-Widget angelegt um auf meine "Hauptseite" zu kommen: <div data-type="pagetab" data-url="home_eg.html" data-icon="fa-home"></div>

Das funktioniert soweit auch. Allerdings fehlen dann die Open-Automation-Icons auf meiner Hauptseite. Die werden offensichtlich bei diesem Widget nicht neu geladen. Ist das ein Fehler oder muss ich noch was ergänzen?
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

setstate

Zitat von: mw_fhem am 22 April 2015, 16:31:37
Bei meinen Tests ist mir folgendes aufgefallen:
Bisher navigiere ich durch alle meine html-Seiten über das button-Widget. Nun habe ich ein pagetab-Widget angelegt um auf meine "Hauptseite" zu kommen: <div data-type="pagetab" data-url="home_eg.html" data-icon="fa-home"></div>

Das funktioniert soweit auch. Allerdings fehlen dann die Open-Automation-Icons auf meiner Hauptseite. Die werden offensichtlich bei diesem Widget nicht neu geladen. Ist das ein Fehler oder muss ich noch was ergänzen?
Das kann passieren, die erste Seite muss alles "beschaffen", die angesprungene Seite wird nur netto geladen. Man muss also des entsprechende CSS File auf der ersten Seite einbinden, um sie auf den weiteren nutzen zu können. Starte mal auf der Hauptseite, gehe zur Seite2 und wieder zur Hauptseite, dann sollte es klappen. Vllt. fällt mir dazu noch was ein ...

mw_fhem

Zitat von: setstate am 22 April 2015, 16:42:12
Das kann passieren, die erste Seite muss alles "beschaffen", die angesprungene Seite wird nur netto geladen. Man muss also des entsprechende CSS File auf der ersten Seite einbinden, um sie auf den weiteren nutzen zu können. Starte mal auf der Hauptseite, gehe zur Seite2 und wieder zur Hauptseite, dann sollte es klappen. Vllt. fällt mir dazu noch was ein ...

Das Problem sitzt wie so oft davor... Ich hatte die Icons nicht eingebunden  :P
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

stromer-12

Ganz gut, das ich eine index2.html und keine index_2.html auf dem System hatte.
Aber es gibt ja immer noch Backups.

Danke für diese toole UI.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

chris1284

#1062
sehe ich das richtig das man nun zwar ein paar div's aus anderen html's includen kann aber im "hauptfile" immer noch jedes listitem (<li>) definieren muss?
geht sowas wie

<ul>
     <!-- meue head, left, right-->
     <div data-template="menue_full.html"></div>
     <!-- meue head, left, right-->
     <li>inhalt</li>
     <li>inhalt2</li>
</ul>

eine zeile code und das ganze gerüst wird eingebaut (zb bei mir header, leftmenue, rightmenue -> 6 listitems). wenn ich es so teste zerhaut es natürlich das layout. quasi ein php include ersatz


EDIT: hab nun mal alles umgestellt auf pagetab data-template und es funktioniert ganz gut. Aber ich habe im firefox eine art "blitzen" beim klick auf menue punkt. es sieht fast so aus als würde er die seite dan 2 mal nacheinander laden.

und eine frage: brauch die anderen seiten im heade die meta, link und script daten? oder reicht das in der 1. (index)?

setstate

Zitat von: chris1284 am 22 April 2015, 18:48:31
sehe ich das richtig das man nun zwar ein paar div's aus anderen html's includen kann aber im "hauptfile" immer noch jedes listitem (<li>) definieren muss?
Für Gridster dürfen in einem ul nur li folgen. Mit dem div, was eine Liste von zusätzlichen li mitbringen soll, funktioniert das nicht mehr. Man könnte aber nach dem Laden mit .unwrap() den parent-div entfernen, dann dürfte das gehen. Werde ich mal sehen, ob man das optional mit einbauen kann.

Thema Header: Der Header bleibt beim pagetab unangetastet, ich tausche nur den "div.gridster" Teil aus. D.h. der Einsprungsheader der ersten Seite (index.html) muss für alle folgenden Seiten alles nötige mitbringen.

nesges

Zitat von: setstate am 22 April 2015, 19:43:28
Man könnte aber nach dem Laden mit .unwrap() den parent-div entfernen, dann dürfte das gehen. Werde ich mal sehen, ob man das optional mit einbauen kann.

Interessant find ich an der Stelle, dass das funktioniert:

<script>
    $("<div/>").load("test.html", function() {
        $(".gridster > ul").append($(this).children());
    });
</script>


Aber sobald der Code innerhalb von $(document).on('ready', function() {} ) steht, falsch eingehangen wird. Scheint ein Timingrproblem in Gridster zu sein. Zur Not könnte man ne loadTemplate(url) Funktion draus machen.