FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: setstate am 17 März 2016, 10:40:13

Titel: Evaluierungsversion 2.2
Beitrag von: setstate am 17 März 2016, 10:40:13
Achtung: Seit dem 06.09.2016 ist diese Version komplett in den Hauptzweig gemerged
Der Stand des Eval Zweiges ist bereits veraltet.


Original Text des Threads:

Für interessierte Tester, die neuste Entwicklungsversion (eval) zum Ausprobieren.

1. Install
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui_eval.txt

2. Staging Umgebung in fhem.cfg anlegen
define TABLETUIEVAL HTTPSRV ftui_eval/ ./www/tablet_eval Tablet-EVAL

3. Example Seiten zum Testen:
http://<fhem-url>:8083/fhem/tablet_eval/index_nav_mobil.html
http://<fhem-url>:8083/fhem/tablet_eval/index_page_demo.html
http://<fhem-url>:8083/fhem/tablet_eval/index_tab1_demo.html
http://<fhem-url>:8083/fhem/tablet_eval/demo_ftui.html

Demo Device in FHEM erzeugen für demo_ftui.html Seite
define ftuitest dummy

oder ihr kopiert eure *.html Seiten in den Ordner http://<fhem-url>:8083/fhem/tablet_eval/

Alle Widgets aus dem Haupt-Repo sind verfügbar:
#   label
#   link
#   pagebutton
#   push
#   select
#   slider
#   spinner
#   switch
#   symbol
#      dimmer
#      popup
#      simplechart
#      swiper
#      volume
#      weather
#      homestatus
#      circlemenu
#      pagetab
#      datetimepicker
#      checkbox
#      departure
#      range
#      progress
#      rotor
#      level
#      image
#      input

Alle vorhandene *.html Seiten, die für ftui 1.* erstellt wurden und diese Widgets enthalten funktionieren mit der neuen Version uneingeschränkt weiter.

index_page_demo.html zeigt, wie man mit dem pagebutton-Widget jetzt schnelles Seitenwechseln realisieren kann. Jede Subpage wird dabei nach dem ersten Laden im Speicher behalten und beim Wechseln nur aus/eingeblendet. Will man das nicht und die Unterseite immer neuladen, muss class="nocache" gesetzt sein. Um die Unterseiten noch schneller verfügbar zu haben, kann man auch class="prefetch" setzen. Dann werden diese im Hintergrund schon während des Laden der Seite geladen.

13.04.2016 Update : Version 2.2
- arbeitet jetzt völlig asynchron beim Laden der Widgets und deren Abhängigkeiten
- dadurch hoffentlich schnelleres und sicheres (vollständiges) Laden der Widgets
- Widgets haben noch einmal eine strukturelle Änderung erfahren (Dependencies)

alt:


var Modul_level= function () {

        if (!$.fn.Powerange){
            dynamicload('lib/powerange.min.js', null, null, false);
            $('head').append('<link rel="stylesheet" href="'+ ftui.config.dir + '/../lib/powerange.min.css" type="text/css" />');
        }
...


neu:

function depends_level (){
    if (!$.fn.Powerange){
        $('head').append('<link rel="stylesheet" href="'+ ftui.config.dir + '/../lib/powerange.min.css" type="text/css" />');
        return ["lib/powerange.min.js"];
    }
};

var Modul_level= function () {

...


Ein minimales Beispiel als Grundlage für eigene Widgets findet man im File: widget_example.js

Anbei auch ein paar Widgets aus dem nesges Repo für die neue Version 2.2
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEM-User22 am 17 März 2016, 11:06:45
Hallo,
ich habe folgenden Fehler:

File not found: ./www/tablet_eval/index.html

Im Verzeichnis ist auch weder eine index.html noch eine index_nav_mobil.html

Habe ich was übersehen?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 17 März 2016, 11:18:27
Die zip habe ich nicht ausprobiert, aber unter https://github.com/knowthelist/fhem-tablet-ui/tree/version2.1/www/tablet sehe ich die Testseite index_nav_mobil.html
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 17 März 2016, 11:28:34
Zitat von: FHEM-User22 am 17 März 2016, 11:06:45
Hallo,
ich habe folgenden Fehler:

File not found: ./www/tablet_eval/index.html

Im Verzeichnis ist auch weder eine index.html noch eine index_nav_mobil.html

Habe ich was übersehen?

nicht tablet_eval
sonder tablet_dev
und den inhalt aus der zip /www/tablet/ in den neuen ordner kopieren.
HTTPSRV vergessen und die seite direkt aufrufen!
http://IP:PORT/fhem/tablet_dev/index_nav_mobil.html

Grüße^^
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: bjoernbo am 17 März 2016, 11:28:45
nach dem entpacken ist die index_nav_mobil.html im tablet Verzeichnis  :)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 17 März 2016, 11:31:18
Sieht auf jeden fall schon mal seeeehr nett aus. wenn das menü jetzt noch "einwischen" würde wäre es perfekt :D
aktuell erscheint es ja nur und der rest "wischt", genau so anders herum. "auswischen", dann ist das menü dahinter und verschwindet einfach nur.

Aber tolle arbeit. auch das material-design aus android ist schon gut gelungen.

weiter so ich freu mich drauf!

Grüße^^
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEM-User22 am 17 März 2016, 11:31:56
Hallo,
dann warte ich noch einen Weile damit. Bin doch zu sehr Anfänger.

Grüße
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nightstorm99 am 17 März 2016, 12:40:40
Hallo setstate,

ist das ein optisches Update oder auch ein Geschwindigkeits Update?

Wird dann die Version 1.0 noch weiter entwickelt?

Danke und Gruß
Denny
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 17 März 2016, 12:51:38
Zitat von: nightstorm99 am 17 März 2016, 12:40:40
ist das ein optisches Update oder auch ein Geschwindigkeits Update?

Wird dann die Version 1.0 noch weiter entwickelt?

- es ist kein optisches Update! Die erste Beispiel-HTML ist nur eine fürs Mobil mit dem hellen CSS. Alle HTML Seiten sehen mit der 2.1 genauso aus, wie sie gebaut worden sind.
- Geschwindigkeitvorteil ergibt sich bestimmt durch die neue Art der Initialisierung. Primäre Änderung ist aber, dass die Widgets jetzt instantiierbare Klassen sind. Damit kann man nur Teile der Seite austauschen und initialisiert dann nur diesen Teil der Seite neu.
- An der 1er mache ich persönlich nix mehr. Irgendwann wird der Branch in den Master gemerged. Außer wir stellen fest, es ist eine Sackgasse, was ich aber nicht denke ...

Nach einem Merge+Update müssten alle UIs genauso weiterlaufen, wie vorher (wenn ihr 3rd Party Widgets benutzt, müssten die allerdings auch vorher upgegraded werden)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nightstorm99 am 17 März 2016, 19:12:37
Hallo setstate,

ZitatAlle HTML Seiten sehen mit der 2.1 genauso aus, wie sie gebaut worden sind.

Das hört sich schon mal gut an.

Zitat(wenn ihr 3rd Party Widgets benutzt, müssten die allerdings auch vorher upgegraded werden)

Hier sehe ich leider Probleme.
Könnte man die Entwickler nicht anschreiben, das diese ihre Widgets über ein Pull Request mit ins Github schieben können.
Sonst wird das ganze irgendwann aus einandere laufen und keiner sieht mit den Versionen mehr durch.
(meine Meinung halt)

Danke und Gruß
Denny
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 17 März 2016, 21:06:18
Servus,
ich wollte gerade auch mal das neue UI ausprobieren, weil ich es echt gelungen finde. Wollte es auch gleich mit ein paar von meinen Geräten verbinden. Kann es sein, dass es noch nicht möglich ist fhem und ftui auf getrennten System ablaufen zu lassen?

Bisher hat folgende Zeile funktioniert:
<meta name="fhemweb_url" content="http:///192.168.xxx.xxx:8083/fhem">

Jetzt zeigt er mir die IP-Adresse meines NAS an, um Daten per JSON zu holen, welcher natürlich mit 403 forbidden antwortet.

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 18 März 2016, 07:44:21
Also bei mir Funktioniert die Testseite leider nicht mit der 2.1 weder am PC noch am Handy.

Siehe Anhang.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 18 März 2016, 07:46:30
Guten Morgen,
Schau dir mal die Konsolenausgabe an. Die wird dir verraten, welche Files fehlen bzw. wo es die Files erwartet, um den Style zu generieren ;)

Beste Grüße
Andy


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 18 März 2016, 07:53:12
Sagt mir nicht viel. Ich habe die HTML nicht angefasst!

Wo ist da der Fehler? Die ; sind doch da?! (Siehe Bilder)


*edit*

Das ZIP im ersten Post ist schrott! Die Daten da drin unterscheiden sich von github. Teste gerade :-) Sieht gut aus

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 18 März 2016, 08:15:57
Die Codeausschnitte sind zwar nicht die richtigen Zeilen, die angemeckert werden, aber ich habe jetzt verstanden, dass einige Browser kritischer mit fehlerhafter Syntax umgehen. Ich werde das fehlende ; in allen Files ergänzen. Wird aber erst heute Abend.

Danke fürs Testen und die Meldungen.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 18 März 2016, 08:45:03
Freut mich wenn ich da helfen konnte. Hab schon befürchet ich bin wieder mal zu blöd :-)

Danke dir für dieses tolle UI!!
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kvo1 am 19 März 2016, 11:12:29
Nun gut, dann trage ich mich hier mal ein "um nix zu verpassen" und werde das die Tage mal bei mir auf ein Testsystem ziehen, klingt ja vielversprechend.....wobei ich mit der 1. Version kaum Probleme habe.

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEM-User22 am 19 März 2016, 11:14:09
Zitat von: RettungsTim am 18 März 2016, 07:53:12
*edit*
Das ZIP im ersten Post ist schrott! Die Daten da drin unterscheiden sich von github. Teste gerade :-) Sieht gut aus

Hallo,
schön. Warum hat man mir nicht im ersten Post geglaubt?

Schöne Grüße
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 19 März 2016, 11:33:28
Hi,

hab's gerade mal getestet - sieht gut aus. Ich hätte lieber, dass das Menü reinfährt (also über den Content und dieser im Hintergrund stehen bleibt), nach Auswahl fährt das Menü dann wieder raus. Ggf. kann man die "Motions" ja auch konfigurierbar machen, für die, die es lieber so mögen.

Die Widget selbst konnte ich nur teilw. testen - sag soweit gut aus.

Wie immer - tolle Arbeit!

Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 20 März 2016, 19:02:56
Wollte gerade die Neue 2.1er testen...habe es leider nicht mit meiner aktuellen index zum laufen bekommen...vermutlich bin ich noch zu früh dran :)
Ich warte vorerst mal
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 21 März 2016, 17:17:51
Zitat von: setstate am 17 März 2016, 12:51:38
(wenn ihr 3rd Party Widgets benutzt, müssten die allerdings auch vorher upgegraded werden)

Hast du einen Überblick was genau sich ändert? Über eins meiner Widget (settimer) habe ich die Info bekommen, dass es mit Version 2.1 nicht mehr richtig läuft. Bisher konnte ich's mir aber noch nicht ansehen.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 21 März 2016, 17:48:53
Ich gebe demnächst hier mal ein Showcase  vorher/nachher, damit man die Änderung sieht. Geändert werden muss definitiv, sonst läuft nix mehr.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Amenophis86 am 22 März 2016, 16:38:27
Mal ne blöde Frage, gibt es irgendwann einen offiziellen Release von 2.1? Habe hier gelesen, dass du die 1.0 quasi komplett einstampfen willst und alles über die neue Version laufen kann/soll. Find ich sehr gut, aber frage mich, ob es eine Anleitung oder ähnliches geben wird, wie man am besten umstellt, oder ob es mit einer Art "Update" kommen wird. Bisher läuft es ja nur nebenbei, als Test Version, wenn ich es richtig verstehe.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 22 März 2016, 18:29:54
Ja, irgendwann merge ich die 2.1 in den Main Branch. Dann kommt das per Update Befehl alles mit. Im besten Fall laufen dann alle eure Seiten wie gewohnt weiter. Probleme könnte es nur geben, wenn ihr Widgets im Einsatz habt, auf die ich keinen Einfluss habe und die noch nicht angepasst wurden.
Ich habe bei mir die 2.1 auch noch nicht produktiv im Einsatz, läuft bis jetzt nur im Dev-System.
Einige Widgets muss ich noch umstellen und Pagetab aus meinen Seiten rausschmeißen und durch pagebutton ersetzten. Weil, ich will dann auch die Neuerung der 2.1 nutzen, womit man nur Teile der Seite nachlädt und die Menüleiste stehen bleibt.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: CoolTux am 22 März 2016, 18:37:32
Na ganz toll und ich habe gerade alles auf pagetab umgestellt  :D


Grüße
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 23 März 2016, 14:44:21
Hehe ... gut zu wissen - wo ich so froh war, das Pagetab läuft .... aber egal, wenn es die Menüs dann nicht mehr läd' sonder nur noch den Content "tauscht" ... werde ich wohl dran müssen.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 23 März 2016, 16:03:03
Pagetab wird dann genauso verfügbar sein und weiter funktionieren. Ich bin nur am Umstellen bei mir, meine Seiten zu Pagebutton, weil ich mir davon einen Geschwindigkeitsvorteil erhoffe und mit der 2.1 das Content-Austauschen jetzt besser unterstützt wird. Ist ja nur ein Versuch. Ich habe dann beide Varianten als Template verfügbar, optisch und funktional gleich. Da kann ich dann testen und vergleichen.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 23 März 2016, 17:55:54
@setstate: Ich kann deine Idee sehr gut nachvollziehen und hoffe es bestätigt sich dein Verdacht.
D.h. du lädst einmalig alle Informationen und Daten bei einem Browser Refresh oder dem "Pagetab" widget. Das beinhaltet alle Seiten von TabletUI.
Danach werden nur noch die Daten bei dessen Änderung ausgetauscht.

Es wäre natürlich super wenn das so klappt, weil damit vermutlich die Performance um ein vielfaches besser ist?
Bin schon sehr gespannt und hoffe bald ein update aus einem SVN machen zu können :)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 23 März 2016, 19:48:06
@setstate:
Hast Du jetzt eigentlich kpl. auf den JSONLIST2 feed umgestellt - ich hab's nur am Rande gesehen, da ich überlegt habe auch daraus die Kalender-Events zu generieren. Hab ich dann erst mal verworfen, da ich diese entpacken und dann auch noch von ical in JSON übersetzen müsste. Aber ansonsten ist das eine gute Idee :) ... ich wollte mal schauen, warum vieles auf einen Schlag kommt :)

Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 23 März 2016, 20:11:03
Ja, FHEM Daten werden per JSONLIST2 komplett (alle Devices/Readings/Attributes) per shortpoll geholt (dauert 1-2 Sekunden) und per longpoll aktualisiert.

Ich lese das JSON aber einmal ganz durch und schreibe alles in ein internes Object ftui.deviceStates, weil Devices im JSON sind in einem indexbasierten Array, ich brauche aber ein assoziatives Array. Konvertieren dauert ca. 100-200ms (für 235 Objekte)

Damit kann man aber die Daten ganz einfach so auslesen:
ftui.deviceStates["SatReceiver"].volume
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kvo1 am 28 März 2016, 16:12:27
Hallo setstate,
Habe das mal kurz installiert und getestet. Gefühlt läuft das auch alles etwas schneller , werde mal sehen ob alles noch läuft soweit.

Ich kann nur mit den 4 Auswahlmöglichkeiten nichts anfangen , nur nach Wischen erscheint dann mein Altes Menue.
Ansonsten schon mal , danke und wie immer klasse Arbeit.
Klaus
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 29 März 2016, 20:36:59
Nachdem ich die letzte Woche jeden tag geschaut  habe ob es die 2.1er schon gibt...frag ich jetzt doch....wann hast du denn geplant es im svn zur Verfügung zu stellen so das ich es per update in fhem rein bekomme?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 29 März 2016, 20:52:39
Heute kommt erst einmal ein Update im Branch mit Demos zur Nutzung von Pagebutton, die zeigt, wie schnell dann das Umschalten mit prefetch und cache funktioniert.
Dann konvertiere ich noch die restlichen Widgets und zeige am Beispiel allen Widgets-Entwicklern, was man ändern muss.
Wenn dann genügend positves Feedback kommt, können wir über ein Merge in den Trunk nachdenken.

Vorher ich habe ein bisschen Angst, dass hier sonst zu viel Ärger losgeht: "Das geht bei mir nicht mehr ..."; "das Widget läuft nicht mehr" usw. 

Also bitte: testen, testen testen ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Roman am 29 März 2016, 22:28:24
Hallo,

hab heute auch die 2.1 mal ausprobiert.
sieht nett aus und lief fast auf Anhieb.

In deiner Info steht der Pfad '/<fhem-path>/www/tablet_eval'  und 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL'
In den index-Dateien steht als Pfad allerdings 'tablet_dev', hier waren noch Anpassungen notwendig.

Meine bestehende Installation scheint auch direkt mit der 2.1 zu funktionieren (hab meine *html Dateien in den Ordner /tablet_eval kopiert).
Noch nicht ausgiebig getestet, aber ein Aufruf meiner Seiten klappt problemlos, die Anzeige ist OK, Schalten etc. geht auch ohne Probleme.

Gruß
Roman

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Roman am 30 März 2016, 00:13:27
Hallo setstate,

ich hab noch ein wenig weiter getestet, meine Seiten werden im neuen Design angezeigt, was mich für den ersten Test nicht überraschte,
Ich würde mit der 2.1 Version aber auch das 'alte' Design testen wollen. Das Gridster-Element scheint hier nicht zu funktionieren (oder noch nicht ? ).

ZitatAlle HTML Seiten sehen mit der 2.1 genauso aus, wie sie gebaut worden sind.

Hab ich was übersehen, oder muss ich noch was einstellen ?

Ich hab mal 2 kleine Screenshots (neu mit 2.1 und alt) angehängt.
Als einzige Änderung an den html-Dateien hab ich für die neue Version 2.1 Widgets die noch nicht unterstützt werden rausgenommen.

Gruß
Roman
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 00:58:52
Das helle Aussehen ist nicht neu, das kommt durch die Angabe dieser Zeile:

<link rel="stylesheet" href="/fhem/tablet_eval/css/fhem-mobil-ui.css" />

Ist auch schon bei 1.x dabei.

Aber das Beispiel index_nav_mobil.html nutzt kein Gridster und hat damit auch die notwendigen Zeilen im Header nicht dabei.

jquery.gridster.min.css
jquery.gridster.min.js

Für deine Seiten muss der Header dann eher so aussehen:


<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.1.1
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="shortpoll-interval" content="900">
    <meta name="shortpoll-only-interval" content="30">
    <meta name="longpoll-delay" content="5"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="1"> <!-- 1=output to console;0=not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="/fhem/tablet_eval/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/lib/jquery.toast.min.css" />

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

    <script src="/fhem/pgm2/jquery.min.js" defer></script>
    <script src="/fhem/tablet_eval/lib/jquery.toast.min.js" defer></script>
    <script src="/fhem/tablet_eval/lib/jquery.gridster.min.js" defer></script>
    <script src="/fhem/tablet_eval/js/fhem-tablet-ui.js" defer></script>

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


siehe index_page_demo.html
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 01:36:21
nun eine kurze Erklärung zum neuen Aufbau der Widgets.

So sieht die Grundstruktur aus.
Die Funktionen init und update sind public und das Widget erbt vom Basis-Widget


var Modul_example = function () {

    function init () {
    };

    function update (dev,par) {
    };

    return $.extend(new Modul_widget(), {
        widgetname: 'example',
        init: init,
        update: update,
    });
};


Notwendige Anpassungen:

Version 1.*
this.elements = $('div[data-type="'+this.widgetname+'"]');
Version 2.1
this.elements = $('div[data-type="'+this.widgetname+'"]',this.area);

Version 1.*
elem.addReading('get');
Version 2.1
this.addReading(elem,'get');


Version 1.*
init: function () {},
Version 2.1
function init () {};

Das neue Update ist jetzt eingecheckt. Siehe erste Seite in diesem Thread.

Anbei auch eine angepasste Version vom Clock-Widget zum Vergleich, was angepasst werden muss, damit es wieder läuft.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 30 März 2016, 16:17:00
Zitat von: setstate am 17 März 2016, 10:40:13
bzw. git clone https://github.com/knowthelist/fhem-tablet-ui.git
und dann git checkout version2.1

root@wopr:/var/www/ftui# git clone https://github.com/knowthelist/fhem-tablet-ui.git
Cloning into 'fhem-tablet-ui'...
remote: Counting objects: 5076, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 5076 (delta 14), reused 0 (delta 0), pack-reused 5039
Receiving objects: 100% (5076/5076), 4.48 MiB | 1.86 MiB/s, done.
Resolving deltas: 100% (3044/3044), done.
root@wopr:/var/www/ftui# git checkout version2.1
fatal: Not a git repository (or any of the parent directories): .git


Irgendwas fehlt da - versucht hab ich:

root@wopr:/var/www/ftui# cd fhem-tablet-ui/
root@wopr:/var/www/ftui/fhem-tablet-ui# git checkout version2.1
Branch version2.1 set up to track remote branch version2.1 from origin.
Switched to a new branch 'version2.1'
root@wopr:/var/www/ftui/fhem-tablet-ui# git pull
Already up-to-date.


Passt das so?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 30 März 2016, 18:04:20
Ein Symlink tut noch gut
ln -s /opt/fhem/www/ftui/fhem-tablet-ui/www/tablet /opt/fhem/www/tablet_dev

und danach ein neues define
define TABLETDEV HTTPSRV tablet/ ./www/tablet_dev Tablet-UI

Dann hat es bei mir geklappt
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 30 März 2016, 18:08:43
Habe gerade den "Pagebutton" testen wollen.
Dazu habe ich meine inc_menu.html wie folgt angepasst:

<header class="headerTransparent">MENU</header>

<div class="container large">
<div data-type="pagebutton" class="cell"
data-return-time="60" data-url="index_home.html"
data-icon="fa-home"
data-background-icon="fa-circle-thin"
data-on-color="cornflowerblue"
></div>

<div data-type="pagebutton" class="cell"
data-url="index_wohnzimmer.html"
data-icon="oa-scene_livingroom"
data-background-icon="fa-circle-thin"
data-on-color="cornflowerblue"
></div>

<div data-type="pagebutton" class="cell"
data-url="index_System.html" data-icon="fa-wrench"
data-background-icon="fa-circle-thin"
data-on-color="cornflowerblue"
></div>
   </div>


Diese wird wie folgt durch die index.html eingebunden:

<!DOCTYPE html>
<html>
<head>
<title>Ulli's Haussteuerung</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="112">
<meta name="widget_base_height" content="110">
<meta name="widget_margin" content="1">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge">-->
<meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="gridster_disable" content="1">
<!-- <meta http-equiv="Cache-Control" content="no-store" />-->
<meta name="debug" content="0"> <!-- 1=output to console;0=no output -->

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

<link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/lib/openautomation.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/lib/fhemSVG.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.toast.min.css" />
<link rel="stylesheet" href="/fhem/tablet_dev/lib/powerange.min.css" />

<!-- css mit Anpassungen, wie z.B. Hintergrundbild -->
<link rel="stylesheet" href="/fhem/tablet/css/my-fhem-tablet-ui.css" />


<script type="text/javascript" src="/fhem/pgm2/jquery.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/jquery.knob.mod.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/jquery.toast.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/jquery.circlemenu.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/powerange.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/jquery.gridster.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/lib/fa-multi-button.min.js" defer></script>
<script type="text/javascript" src="/fhem/tablet_dev/js/fhem-tablet-ui.js" defer></script>

<!-- Enable this lines for usage with WebViewContro
<script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js" defer></script>
<script type="text/javascript" src="/fhem/js/webviewcontrol.js" defer></script>
<script type="text/javascript" defer>var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
End for WebViewControl -->
</head>

<body>
<div class="gridster">
<ul>
<li class="halbTransparent" data-template="inc_menu.html" data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
</ul>
</div>
</body>

</html>


Was stimmt denn da nicht?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: dadoc am 30 März 2016, 18:12:25
Zitat von: setstate am 17 März 2016, 10:40:13
und dann git checkout version2.1
Da bekomme ich einen Fehler:
:~# git clone https://github.com/knowthelist/fhem-tablet-ui.git
Cloning into 'fhem-tablet-ui'...
remote: Counting objects: 5076, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 5076 (delta 14), reused 0 (delta 0), pack-reused 5039
Receiving objects: 100% (5076/5076), 4.48 MiB | 514 KiB/s, done.
Resolving deltas: 100% (3044/3044), done.
root@raspberrypi:~# git checkout version2.1
fatal: Not a git repository (or any of the parent directories): .git

Was mache ich falsch?
Grüße
Martin
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 30 März 2016, 18:17:04
Vorher in das Verzeichnis "/opt/fhem/www/ftui/fhem-tablet-ui" gehen :)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 18:20:30
@Ulli: okay, merke gerade, da ist noch etwas Erklärung von meiner Seite notwendig.
Dem pagebutton muss man mitgeben, was wohin geladen werden soll. data-load
Die Ziel und die Source Seite muss dementsprechend getagged sein.
<div class="page" id="content1">
Schau dir meine Beispielseite mal genauer an, was minimal dasein muss.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: dadoc am 30 März 2016, 18:35:58
Zitat von: ulli am 30 März 2016, 18:17:04
Vorher in das Verzeichnis "/opt/fhem/www/ftui/fhem-tablet-ui" gehen :)
Dasselbe:
pi@raspberrypi:/opt/fhem/www/ftui/fhem-tablet-ui# git checkout version2.1
fatal: Not a git repository (or any of the parent directories): .git
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 30 März 2016, 18:53:53
Zitat von: setstate am 30 März 2016, 18:20:30
@Ulli: okay, merke gerade, da ist noch etwas Erklärung von meiner Seite notwendig.
Dem pagebutton muss man mitgeben, was wohin geladen werden soll. data-load
Die Ziel und die Source Seite muss dementsprechend getagged sein.
<div class="page" id="content1">
Schau dir meine Beispielseite mal genauer an, was minimal dasein muss.

Ok kapiert.

Generell zum Verständnis: Wie soll dann bestmöglich die Seite aufgebaut werden?

Ich vermute ohne pagetab nur noch pagebutton.
D.h. ich habe in unterschiedlichen page_content files jeweils mehrerer <li> Einträge.
Generelle <li> Einträge, wie eine Uhrzeit oder das Menü selbst, welche auf jeder Seite angezeigt werden sollen, dann in die index.html. Somit werden diese durch das anklicken eines Menüeintragens (pagebuttons) nicht neu geladen?

Ist das die Idee?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 19:32:13
Genau, man hat eine index.html mit den festen Bestandteilen, wie pagebutton, Uhr, Statuszeile usw.
Die Pagebuttons braucht man auch nicht mehr als Template anlegen, sie werden ja nur einmal gebraucht, auf der Hauptseite.
Auf der Hauptseite gibt es dann ein oder mehrere austauschbare Felder <div class="page" id="content1"></div>, die per Pagebutton geladen werden. Man kann ein Feld von allen Pagbuttons ändern lassen, dann muss der Content aber jedes mal neu initialisiert werden. Oder man gibt jeder Unterseite ein festes Feld, was dann nur aus/eingeblendet wird.

Platzhalter für austauschbaren Inhalt
   
    <div class="page" id="content1"></div>
    <div class="page" id="content2"></div>
    <div class="page" id="content3"></div>


Pagebutton
<div data-type="pagebutton" data-url="#page_content1.html" data-load="#content1"  ...

Hier sagt man: ich will einen Inhalt laden data-load="#content1" <- ein DOM Element mit der ID "content1" und gibt mit data-url="#page_content1.html" an, nicht die Seite wechseln, nur als Hash anhängen. Aus dieser Attributt-Kombi load und url ergibt sich der Pagebutton-Mode: "Hole den Inhalt aus der Seite page_content1.html -> DOM Element "#content1" und füge ihn in die aktuelle Seite beim gleichnamigen DOM Element "#content1" ein"

Body Teil in der index.html

<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="9">
            <div class="cell">
                <div data-type="pagebutton" data-url="#page_content1.html" data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern="(.*index_page_demo.html|.*#page_content1.html)" data-icon="fa-home" class="prefetch top-space"></div>
                <div data-type="pagebutton" data-url="#page_content2.html" data-load="#content2" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content2.html" data-icon="fa-music" class="prefetch top-space"></div>
                <div data-type="pagebutton" data-url="#page_content3.html" data-load="#content3" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content3.html" data-icon="fa-sliders" class="prefetch top-space"></div>
            </div>
            </li>
        </ul>
    </div>
    <div class="page" id="content1"></div>
    <div class="page" id="content2"></div>
    <div class="page" id="content3"></div>
</body>


Die Unterseite, aus der der Inhalt geladen wird muss dann so aussehen. Der Header-Teil kann leer bleiben, schadet aber nicht, wenn doch Styles oder JS Files genannt werden. Die werden zwar ignoriert, können aber nützlich sein, wenn man die Unterseite Standalone testen möchte.


<!DOCTYPE html>
<html>
<title>FHEM</title>
<head>
</head>
<body>
  <div class="page" id="content1">
    <!-- Inhalt ab hier -->
   </div>
</body>
</html>


Also der Teil <div class="page" id="content1"> wie in der Index.html muss wiederfindbar sein, alle Kindknoten daraus werden in die Hauptseite geladen. Man kann darin auch Gridster Elemente verbauen, siehe Beispiel:



<!DOCTYPE html>
<html>
<title>FHEM</title>
<head>
</head>
<body>
  <div class="page" id="content1">
    <div class="gridster">
      <ul>
        <li data-row="1" data-col="2" data-sizex="6" data-sizey="6">
             <header>PAGE ONE</header>
             <div class="left">
                <div data-type="label" data-device="AgroWeather" data-get="fc0_tempMax" data-unit="°C&nbsp;" class="bottom gigantic inline verticalLine"></div>
                <div class="inline">
                   <div data-type="label" data-device="AgroWeather" data-get="fc0_weatherDay" class="large cell"></div>
                   <div data-type="weather" data-device="AgroWeather" data-get="fc0_weatherDay" class="bigplus thin"></div>
                   min:&nbsp;<div data-type="label" data-device="AgroWeather" data-get="fc0_tempMin" data-unit="%B0C%0A" class="inline medium"></div>
                </div>
             </div><div class="row"></div>
             <div class="left">
                 <div data-type="label" data-device="AgroWeather" data-get="fc0_date" data-substitution="toDate().eeee()+','" class="left large cell darker"></div>
                 <div data-type="label" data-device="AgroWeather" data-get="fc0_date" data-substitution="toDate().ddmm()" class="left large cell darker"></div>
                 <div data-type="example" data-device="dummy1" data-get="volume" class="colorfull">efe</div>
             </div>

        </li>
      </ul>
    </div>
   </div>
</body>
</html>


Damit der Pagebutton zeigt welcher gerade aktiv ist, gibt es data-active-pattern. Damit kann man mit RegEx vorgeben, wie die URL aussehen muss, damit der Pagebutton als aktiv gilt.

data-active-pattern=".*#page_content2.html"

Damit die Unterseite schon im Hintergrund vorgeladen wird, kann man mit "prefetch" einschalten. Sollte man aber nicht pauschal für alle Seiten machen, sonst dauert der Start zu lange.

class="prefetch"

Einmal angezeigte Unterseiten bleiben im Cache und werden beim nächsten Aufruf schnell angezeigt, weil kein erneutes Init passiert. Soll jedesmal ein Init gerufen werden, muss man "nocache" beim Pagebutton mitgeben

class="nocache"
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 30 März 2016, 20:30:40
Vielen Dank. Die Erklärung ist sehr hilfreich.
Und die Geschwindigkeit ist der Hammer!!!

Bugs:
1)
wenn man z.B. in deiner Beispielkonfiguration die neue Seite in Zeile 2 laden lassen möchte geht das nicht.
Die neue Seite ist immer in Zeile 1.
Ändere mal in dem File "page_content1.html" die Zeile wie folgt ab
<li data-row="2" data-col="2" data-sizex="6" data-sizey="6">
2)
data-return-time="60" funktioniert nicht mit pagebutton
3)
Man kann durch wiederholtes klicken auf einen pagebutton diesen auch wieder abwählen...es ändert sich aber dann nichts auf der Seite...

Fehlende Widgets:
1) popup
2) klimatrend

Noch eine Frage:
Ist es von Nachteil in der 2.1, wenn man in der page_content1.html templates wie folgt verwendet?
Können die entsprechend vorgeladen werden? Das würde die Übersichtlichkeit verbessern...

<body>
  <div class="page" id="main">
    <div class="gridster">
      <ul>
<li class="halbTransparent" data-template="inc_fahrzeiten.html" data-row="2" data-col="2" data-sizex="4" data-sizey="2"></li>
<li class="halbTransparent" data-template="inc_RaumKlima.html" data-row="2" data-col="6" data-sizex="5" data-sizey="2"></li>
      </ul>
    </div>
   </div>
</body>
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 30 März 2016, 21:09:27
Servus,
ich bin gerade dabei auch fleißig zu testen. Bisher hatte ich alles als Pagetab. Ist Pagebutton viel schneller? Das mit dem Cache und prefetch hat mich auf jeden Fall schon beeindruckt.
Ich wollte gerade mal meine Startseite einbinden, das hat auch bis auf Kleinigkeiten(clock ist noch nicht eingebunden) funktioniert. Eine Frage habe ich dennoch zu Pagebutton. Kann es sein, dass warn noch nicht mit Pagebutton funktioniert?

Ich wollte dies so einbinden:
<div data-type="pagebutton" data-url="#home.html" data-load="#home"
data-off-background-color="transparent" data-off-color="#606060"
data-on-background-color="#337ab7" data-on-color="#222222"
data-get-on='["on","(?:[0-9]*[^1])","1"]' data-device="myAbfall"
data-get="Muellkalender_GelberSack_tage"
data-icons='["fa-home","fa-home","fa-home warn"]'
data-active-pattern="(.*index2.1.html|.*#home.html)"
class=""></div>


Habe dann extra das Reading Muellkalender_GelberSack_tage auf 1 gesetzt, was in meinem alten FTUI ein Warn mit 1 ausgegeben hat. Im neuen passiert leider nichts.

Beste Grüße
Andy

edit:
Habe meine Schlafzimmer Seite eingefügt und dabei einen weiteren Bug gefunden:

<div class="row">
<div data-type="label" class="col-2-1">Weckzeit</div>
<!-- <div data-type="select" data-list="setList:nextRun" data-device="rr_Andy_wakeuptimer1" class="cell w2x" ></div> -->
<div data-type="select" data-device="rr_Andy_wakeuptimer1"
data-items='["OFF","05:15","05:20","05:25","05:30","05:35","05:45","06:00","06:15","06:30","06:45","07:00","07:15","07:30","07:45","08:00","08:15","08:30","08:45","09:00","10:00"]'
data-get="nextRun" data-get="nextRun" class="col-2-1"></div>
</div>


Dieser Code sollte eigentlich eine Liste ausgeben mit OFF und verschiedenen Uhrzeiten. Leider funktioniert das nicht mit den data-items. Ausgegeben wird nur OFF und 00. Mache ich hier etwas falsch?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 21:57:27
Hallo Andy,

guter Hinweise, das klappte wirklich noch nicht. Ist jetzt gefixed.

Änderung
--- a/www/tablet/js/widget_pagebutton.js
+++ b/www/tablet/js/widget_pagebutton.js
@@ -110,6 +110,7 @@ var Modul_pagebutton = function () {
     return $.extend(new Modul_famultibutton(), {
         //override or own public members
         widgetname: 'pagebutton',
+        update_cb:update_cb,
         init:init,
     });
};


Das ist ein gutes Beispiel zur Erklärung der Wirkungsweise der Widgets.
Durch diese Zeile setzt man die innerhalb Pagebutton definierte function update_cb public und überschreibt dadurch die function update_cb der Basisklasse Modul_famultibutton
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: accessburn am 30 März 2016, 21:59:20
Wäre mal jemand so lieb den ein oder anderen Screen zu posten?  :-*
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 22:12:21
Da gibt es nix zu sehen  8)
Das Aussehen entspricht dem, der bekannten Seiten.
Hier aber mal ein Screenshot der Demoseite, wie ich sie bei Github hochgeladen haben. Links drei Pagebuttons und damit irgendein Inhalt rechts angezeigt wird, habe ich etwas Wetter-Stuff benutzt ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 30 März 2016, 22:15:11
Zitat von: setstate am 30 März 2016, 21:57:27
Das ist ein gutes Beispiel zur Erklärung der Wirkungsweise der Widgets.
Durch diese Zeile setzt man die innerhalb Pagebutton definierte function update_cb public und überschreibt dadurch die function update_cb der Basisklasse Modul_famultibutton
Hey,
das ging ja fix. Funkioniert bestens.
Habe durch Zufall einen weiteren Bug gefunden. Wenn man auf einer Unterseite ist, zB (http://192.*.*.*/ftui/test/index2.1.html#wohnzimmer.html) und dann einen Seiten-Reload macht, ist nicht nur diese Unterseite markiert, sondern auch die home-Seite von mir. Also dann "leuchten" beide Pagebuttons.

@accessburn: bevor ich etwas zeigen kann, muss ich erst einmal alle Seiten auf Pagebutton wechseln und mich dann mal in widgets einlesen, um mal zB clock zum laufen zu bekommen. Aber wie setstate schon sagte... Ziel ist es, dass es so aussieht wie vorher bzw durch Veränderungen sogar besser^^

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kvo1 am 30 März 2016, 22:39:01
N'Abend,

versuche mich grade hier einzudenken und würde gern mit testen, kurze Fragen dazu.

Das ZIP-File scheint ja nicht (immer) aktuell zu sein !

Habe von hier https://github.com/knowthelist/fhem-tablet-ui/tree/version2.1/www/tablet (https://github.com/knowthelist/fhem-tablet-ui/tree/version2.1/www/tablet) vor paar Tagen einen Stand kopiert.

Gibt es ein "update....." wie in der 1.*  ?
(update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt)

Muss ich alles von Pagetab auf Pagebutton umstellen !?


Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 30 März 2016, 22:40:44
Dass bei Reload zwei Buttons leuchten, habe ich auch gerade gesehen und bin dran.

clock habe ich schon mal angepasst und hier für Testzwecke angehangen: https://forum.fhem.de/index.php/topic,50945.msg432122.html#msg432122


 
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 30 März 2016, 22:49:22
Zitat von: setstate am 30 März 2016, 22:40:44
Dass bei Reload zwei Buttons leuchten, habe ich auch gerade gesehen und bin dran.

clock habe ich schon mal angepasst und hier für Testzwecke angehangen: https://forum.fhem.de/index.php/topic,50945.msg432122.html#msg432122

Mein Fehler...  :-\
Was muss ich einstellen, damit mir deutsche Sonderzeiche nrichtig angezeigt werden? Also zum Beispiel in der Monatsanzeige von der Clock siehe Screenshot. Beim "Menü" hab ich das "ü" mit "&uuml;" hergestellt, aber das musste ich im alten FTUI nicht..

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 31 März 2016, 07:15:01
Sorry für die zwischenfrage: Andy was zeigst du mit der 1 auf deinem Homebutton an?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 31 März 2016, 07:41:50
Dass morgen der gelbe Sack abgeholt wird => ich muss den heute rausstellen^^ das warn ist auch nur da, wenn Tage bis zu Abholung 1 ist. Bei allen anderen Tagen interessiert mich der gelbe Sack auch nicht ;)
Die anderen Tonnen stehen eh an der Straße, deswegen sind die nur aus Spaß integriert.

Demnächst will ich aber in jedem Raum per Warn anzeigen lassen, wenn ein Fenster offen ist.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 31 März 2016, 07:44:40
Das interessiert mich mit warn, da muss ich mich schlau machen! Danke für die information.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 31 März 2016, 07:47:35
Zitat von: Andy89 am 30 März 2016, 21:09:27
<div data-type="pagebutton" data-url="#home.html" data-load="#home"
data-off-background-color="transparent" data-off-color="#606060"
data-on-background-color="#337ab7" data-on-color="#222222"
data-get-on='["on","(?:[0-9]*[^1])","1"]' data-device="myAbfall"
data-get="Muellkalender_GelberSack_tage"
data-icons='["fa-home","fa-home","fa-home warn"]'
data-active-pattern="(.*index2.1.html|.*#home.html)"
class=""></div>


Hier nochmal der Code für Pagebutton mit warn ;)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: dadoc am 31 März 2016, 15:45:26
So, musste erst einmal "git" lernen. Jetzt läuft's. Bei mir mit Apache, bislang ohne Probleme. Was natürlich noch nicht geht ist das Chart Widget von Eki.
Zur Performance kann ich noch nichts sagen, da derzeit nur Remote per vpn.
Muss jetzt mal den Umbau der Seiten studieren, denn mehr Performance auf dem iPad wäre willkommen. Gefühlt hat sich diese nach dem Update auf iOS 9.3 verschlechtert.
Grüße
Martin
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 01 April 2016, 16:29:17
@setstate:

Aktuell betreibe ich meine alte Konfiguration mit pagetab, nur mit der 2.1er Version.
Dabei muss ich feststellen das keine Daten mehr per poll aktualisiert werden, erst wenn ich umschalte oder nie Seite neu lade.

Konntest du meine 3 oben beschriebenen Bugs nachvollziehen?

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 01 April 2016, 16:39:48
Jepp, 2 und 3 habe ich schon gefixed, commit folgt heute Abend.

Nummer 1 verstehe ich nicht.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 01 April 2016, 17:38:19
Zitat von: setstate am 01 April 2016, 16:39:48
Jepp, 2 und 3 habe ich schon gefixed, commit folgt heute Abend.

Nummer 1 verstehe ich nicht.

Zu 1)
Nimm mal folgenden Inhalt in deine "page_content3.html" rein
<html>
<title>FHEM</title>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * first page
     * -->
</head>
<body>
  <div class="page" id="content3">
    <div class="gridster">
      <ul>
        <li data-row="2" data-col="2" data-sizex="6" data-sizey="6">
             <header>PAGE THREE</header>
             <div class="left">
                <div data-type="label" data-device="AgroWeather" data-get="fc2_tempMax" data-unit="°C&nbsp;" class="bottom gigantic inline verticalLine"></div>
                <div class="inline">
                   <div data-type="label" data-device="AgroWeather" data-get="fc2_weatherDay" class="large cell"></div>
                   <div data-type="weather" data-device="AgroWeather" data-get="fc2_weatherDay" class="bigplus thin"></div>
                   min:&nbsp;<div data-type="label" data-device="AgroWeather" data-get="fc2_tempMin" data-unit="%B0C%0A" class="inline medium"></div>
                </div>
             </div><div class="row"></div>
             <div class="left">
                 <div data-type="label" data-device="AgroWeather" data-get="fc2_date" data-substitution="toDate().eeee()+','" class="left large cell darker"></div>
                 <div data-type="label" data-device="AgroWeather" data-get="fc2_date" data-substitution="toDate().ddmm()" class="left large cell darker"></div>
             </div>
        </li>
      </ul>
    </div>
   </div>
</body>
</html>


Warum ist der content nicht in der zweiten Row?
Prinzipiell scheint es so zu sein das man die Row 1 nicht frei lassen kann. Das ist auch problematisch wenn in der index.html in der ersten Row Daten stehen, dann werden diese einfach überblendet durch den neuen content.

Zitat von: ulli am 01 April 2016, 16:29:17
@setstate:
Aktuell betreibe ich meine alte Konfiguration mit pagetab, nur mit der 2.1er Version.
Dabei muss ich feststellen das keine Daten mehr per poll aktualisiert werden, erst wenn ich umschalte oder nie Seite neu lade.
Ist das Problem bei dir auch fest zu stellen?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: fhainz am 02 April 2016, 14:10:34
Zitat von: ulli am 01 April 2016, 17:38:19
Warum ist der content nicht in der zweiten Row?
Prinzipiell scheint es so zu sein das man die Row 1 nicht frei lassen kann.
Genau das selbe Problem habe ich aktuell auch!

BTW:
Ich hab das Klimatrend, Rotor und wdtimer Widget auf 2.1 angepasst. Bei mir funktioniert es, aber vielleicht kann jemand mit mehr js Erfahrung einmal drüber schauen. :)

Edit:
Habe gerade gemerkt das ich eine alte version des wdtimer widgets umgebaut habe :(
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 02 April 2016, 14:33:13
Das mit dem Gridster in zweiter Reihe kann ich nach vollziehen und habe auch eine Lösung, aber dann klappt das mit der zweiten Column nicht mehr.
Ich schaue mir das aber noch mal genauer an.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: fhainz am 02 April 2016, 14:53:33
Zitat von: setstate am 02 April 2016, 14:33:13Ich schaue mir das aber noch mal genauer an.
Danke!

Ich habe auch noch das wdtimer Widget umgebaut. Ich füge es 2 posts drüber ein.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 02 April 2016, 18:04:54
Zitat von: Andy89 am 30 März 2016, 22:49:22
Was muss ich einstellen, damit mir deutsche Sonderzeiche nrichtig angezeigt werden?
habe mal das eingefügt in meinen Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Einmal sind die Sonderzeichen nun richtig dargestellt und die Warnung in der Konsole verschwindet auch:
ZitatDie Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder Transferprotokoll deklariert werden.
dann bleiben nur noch folgende Warnungen:
ZitatUnbekannte Eigenschaft 'speak'.  Deklaration ignoriert. fhem-tablet-ui.css:48:13
Unbekannte Eigenschaft '-moz-box-shadow'.  Deklaration ignoriert. fhem-tablet-ui.css:130:17
Fehler beim Verarbeiten des Wertes für 'display'.  Deklaration ignoriert. fhem-tablet-ui.css:297:13
Fehler beim Verarbeiten des Wertes für 'display'.  Deklaration ignoriert. fhem-tablet-ui.css:298:13
Fehler beim Verarbeiten des Wertes für 'display'.  Deklaration ignoriert. fhem-tablet-ui.css:299:13
Unbekannte Eigenschaft 'whiteSpace'.  Deklaration ignoriert. fhem-tablet-ui.css:398:14
Fehler beim Verarbeiten des Wertes für 'min-height'.  Deklaration ignoriert. fhem-tablet-ui.css:445:16
Unbekannte Eigenschaft 'appearance'.  Deklaration ignoriert. fhem-tablet-ui.css:672:14
Unbekannte Pseudoklasse oder Pseudoelement '-ms-expand'.  Regelsatz wegen ungültigem Selektor ignoriert. fhem-tablet-ui.css:677:8
'none', URL oder Filterfunktion erwartet, aber 'progid' gefunden.  Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. font-awesome.min.css:4:1840
'none', URL oder Filterfunktion erwartet, aber 'progid' gefunden.  Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. font-awesome.min.css:4:2003
'none', URL oder Filterfunktion erwartet, aber 'progid' gefunden.  Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. font-awesome.min.css:4:2169
'none', URL oder Filterfunktion erwartet, aber 'progid' gefunden.  Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. font-awesome.min.css:4:2340
'none', URL oder Filterfunktion erwartet, aber 'progid' gefunden.  Fehler beim Verarbeiten des Wertes für 'filter'.  Deklaration ignoriert. font-awesome.min.css:4:2513
Fehler beim Verarbeiten des Wertes für 'line-height'.  Deklaration ignoriert. index_mobil.html
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 03 April 2016, 00:40:09
Zitat von: setstate am 02 April 2016, 14:33:13
Das mit dem Gridster in zweiter Reihe kann ich nach vollziehen und habe auch eine Lösung, aber dann klappt das mit der zweiten Column nicht mehr.
Ich schaue mir das aber noch mal genauer an.

Es war dann doch viel einfacher. Man reserviert einfach eine ganze Kachel für den Content


<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="8" data-sizey="1">
                <div data-type="pagebutton" data-url="#page_content1.html" data-load="#content1" ...></div>
                <div data-type="pagebutton" data-url="#page_content2.html" data-load="#content2" ...></div>
                <div data-type="pagebutton" data-url="#page_content3.html" data-load="#content3" ...></div>
            </li>
            <li data-row="2" data-col="1" data-sizex="9" data-sizey="8">
                <div class="page" id="content1"></div>
                <div class="page" id="content2"></div>
                <div class="page" id="content3"></div>
            </li>
        </ul>
    </div>
</body>


Update bei:
pagebutton
range
progress
checkbox
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 03 April 2016, 00:47:50
kurze Frage:
gibt es eine clickable section bei HTML?
ich würde gerne als Übersicht alles "geschlossen haben" und nur die normale Anzeige von section haben. aber wenn ich auf eine einzelne Section draufklicke hätte ich gerne, dass mehr Infos angezeigt werden wie zum Beispiel bei der Heizung die komplette Steuerung mit Auto/Manuell, Temp höher/niedrieger, Soll-Wert Anzeige und so weiter... Quasi so, dass alle anderen Sections sich nach unten verschieben und die Zusatzinfos eingeblendet werden. Und bei einem weiteren klick oder bei einem klick auf eine andere Section die aktuellen Zusatzinfos ausgeblendet werden bzw. die Zusatzinfos von der neuen Section eingeblendet werden.
Gibt es sowas? Oder wenn nicht, ist sowas möglich?

edit: mir gehts hierbei um die mobilen Seiten
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: fhainz am 03 April 2016, 09:10:10
Hallo setstate!

100%ig funktioniert es noch nicht. Wenn ich eine ganze Kachel für den Content reserviere muss ich den Hintergrund der Kachel mit style="background-color: #000000;" auf schwarz setzen. Dann sieht man das sich die Kacheln ein wenig nach rechts verschoben haben. Mit margin-left:-5px; kann ich sie zwar wieder an den richtigen Platz setzen, aber die letzte Kachel ist generell ein bisschen zu schmal.

Hast du eine Idee?

Grüße

Edit:
So funktioniert es. Es wäre natürlich sauberer das in die .css datei zu verschieben.

index.html

<li data-row="2" data-col="2" data-sizex="6" data-sizey="6" style="background-color: #000000;">
<div class="page" id="contentHome"></div>
<div class="page" id="contentHeizung"></div>
<div class="page" id="contentWohnzimmer"></div>
<div class="page" id="contentSchlafzimmer"></div>
<div class="page" id="contentSystem"></div>
</li>


home.html
<div class="gridster" style="margin:-5px 0 0 -5px;">
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 03 April 2016, 18:21:39
Guten Abend,
ich möchte auch auf 2.1 umstellen und habe folgendes Problem. Meine Anzeige sieht so aus:

Ich habe wie beschrieben ein Verzeichnis unter www angelegt - /opt/fhem/www/tablet_dev. hier her habe ich die Dateien vom Download kopiert.
In FHEM sieht der Link in der config so aus: define TABLETUI_dev HTTPSRV ftui_dev/ ./www/tablet_dev Tablet-DEV
Aus meiner bestehenden Version 1 habe ich Teile in die 2.1 index kopiert.
Die sieht jetzt so aus:
<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.1.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="shortpoll-interval" content="900">
    <meta name="shortpoll-only-interval" content="30">
    <meta name="longpoll-delay" content="5"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="1"> <!-- 1=output to console;0=not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="/fhem/tablet_eval/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_eval/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />



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

    <script src="/fhem/pgm2/jquery.min.js" defer></script>
    <script src="/fhem/tablet_eval/lib/jquery.toast.min.js" defer></script>
    <script src="/fhem/tablet_eval/lib/jquery.gridster.min.js" defer></script>
    <script src="/fhem/tablet_eval/js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>
<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="8">
                <div class="cell">
                    <div data-type="pagebutton" data-url="#page_content1.html" data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content1.html" data-device="dummy1" data-return-time="10" data-states='["0","1"]' data-icons='["fa-home","fa-home warn"]' class="prefetch top-space"></div>
                    <div data-type="pagebutton" data-url="#page_content2.html" data-load="#content2" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content2.html" data-icon="fa-music" class="prefetch top-space"></div>
                    <div data-type="pagebutton" data-url="#page_content3.html" data-load="#content3" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content3.html" data-icon="fa-sliders" class="prefetch top-space"></div>
                </div>
            </li>
            <li data-row="1" data-col="2" data-sizex="9" data-sizey="8">
                <div class="page" id="content1"></div>
                <div class="page" id="content2"></div>
                <div class="page" id="content3"></div>
            </li>
           
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type=""                
        </div>                     
        <div data-type="label" class="bold"></div>
</li>

<li data-row="2" data-col="1" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type=""
        </div>                     
        <div data-type="label" class="bold"></div>
</li>

<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="PoolMaster" 
         data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
       </div> 
       <div data-type="label" class="bold">Pool Master</div>
</li>

<li data-row="1" data-col="3" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="PoolPumpe"     
         data-set-on="off"
             data-set-off="on"
         data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
       </div> 
       <div data-type="label" class="bold">Pool Pumpe</div>
</li>

<li data-row="1" data-col="4" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="SolarPumpe"   
         data-set-on="off"
         data-set-off="on"
         data-get-on='["off","on"]'
         data-icon="fa-power-off"
         data-background-colors='["red","green"]'
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Solar Pumpe</div>
</li>

<li data-row="1" data-col="5" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
    data-device="Abend"
             data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
         data-icon="fa-power-off"
         data-background-colors='["red","green"]'
             class="bigger" >
        </div>
        <div data-type="label" class="bold">Abend</div>
</li>

<li data-row="1" data-col="6" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
        data-device="Chlor_Schalter"
             data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
        </div>     
        <div data-type="label" class="bold">Chlor Schalter</div>
</li>

<li data-row="1" data-col="7" data-sizex="1" data-sizey="1">
<header>Roboter</header>
<div class="row top-space">
<div class="col-1-4">
<div data-type="switch"
data-device="Roboter"
data-set-on="on"
data-set-off="off"
data-get-on="on"
data-get-off="off"
data-icon="fa-power-off"
data-on-background-color="green"
data-off-background-color="red"
class="small">
</div>
<div data-type="label"
class="">&nbsp;Auto
</div>
</div>
<div class="col-2-4">&nbsp;
</div>
</div>
<div class="row">
<div class="col-2-4">&nbsp;
</div>
<div class="col-1-4">
<div data-type="symbol"
data-device="Roboter_sw4"
data-get-on="on"
data-get-off="off"
data-icon="fa-gear"
data-on-color="green"
data-off-color="red"
class="small">
</div>
<div data-type="label"
class="">Status
</div>
</div>
</div>
</li>


<li data-row="1" data-col="8" data-sizex="1" data-sizey="1">
        <header>Garagentor</header>
        <div data-type="symbol" data-device="GaragenTor"
             data-get-on='["Offen","Zu"]'
             data-icons='["oa-fts_garage_door_10","oa-fts_garage_door_100"]'
             data-on-colors='["red","green"]'
             class="bigger" >     
        </div>
        <div data-type="label" data-device="GaragenTor"
</li>

<li data-row="2" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" >Ladezustand %</header>
        <br/>   
        <div data-type="label"       
             data-device="Tablet"
             data-get="powerLevel"
             class="big cell" data-part="1" data-unit="">
        </div>                   
</li>

<li data-row="2" data-col="3" data-sizex="1" data-sizey="1">
        <header>Pool °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="4" data-sizex="1" data-sizey="1">
        <header>Solar °C</header>
        <div data-type="thermostat"
             data-device="SolarSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="5" data-sizex="1" data-sizey="1">
        <header>Luft °C</header>
        <div data-type="thermostat"
             data-device="SolarSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="6" data-sizex="1" data-sizey="1">
        <header>SolarDiff</header>   
        <div data-type="label" 
             data-device="SolarDiff"
             data-get="STATE"
             data-fix="1"
             data-unit="%B0C%0A"
             class="big">
        </div> 
        <br/>
        <header>Hysterese</header>
        <div data-type="label"
             data-device="Hysterese"
             data-get="STATE"
             data-unit="%B0C%0A"
             class="big">
        </div>
</li>

<li data-row="2" data-col="7" data-sizex="1" data-sizey="1">
        <header class="cell">pH - Wert</header>
        <br/>
        <div data-type="label"
     data-device="Hysterese"
     data-get="STATE"     
         data-limits='[5,6.9,7.4]'
           data-colors='["orange","green","red"]' 
             class="bigger">
        </div> 
</li>

<li data-row="2" data-col="8" data-sizex="1" data-sizey="1">
        <header>Garage °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>     
</li>

<li data-row="3" data-col="1" data-sizex="1" data-sizey="3">     
        <div data-type="label" class="cell darker top-space">Heute</div>
        <div data-type="weather" data-device="Wetter" data-get="fc1_condition" class="cell big"></div>
        <div data-type="label" data-device="Wetter" data-get="fc1_condition" class="cell narrow"></div>
        <div data-type="label" data-device="Wetter" data-get="fc1_high_c" data-unit="%B0C%0A" class="cell large"></div>
        <div data-type="label" data-device="Wetter" data-get="fc1_low_c" data-unit="%B0C%0A" class="cell large"></div>
        <div data-type="label" class="cell darker top-space">Morgen</div>
        <div data-type="weather" data-device="Wetter" data-get="fc2_condition" class="cell big"></div>
        <div data-type="label" data-device="Wetter" data-get="fc2_condition" class="cell narrow"></div>
        <div data-type="label" data-device="Wetter" data-get="fc2_high_c" data-unit="%B0C%0A" class="cell large"></div>
        <div data-type="label" data-device="Wetter" data-get="fc2_low_c" data-unit="%B0C%0A" class="cell large">
        </div>   
</li>

<li data-row="4" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type="switch"
     data-device="Licht"
             data-set-on="on"
             data-set-off="off"
             data-get-on="on.*"
             dta-get-off="off"   
             data-on-background-color="green"
             data-off-background-color="red"
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Gartenlicht</div>
</li>

<li data-row="3" data-col="4" data-sizex="2" data-sizey="1">
    <header>St. Andrä-Wördern</header>
    <div class="cell center">
    <h2><a style="text-decoration:none;" href="http://www.zeitverschiebung.net/de/city/2761369"></h2><iframe src="http://www.zeitverschiebung.net/clock-widget-iframe?language=de&timezone=Europe%2FVienna" width="100%" height="130" frameborder="0" seamless></iframe></a>
    </div>
</li>

<li data-row="3" data-col="7" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type="switch"
     data-device="SolarPumpe"
             data-set-on="on"
             data-set-off="off"
             data-get-on="on.*"
             dta-get-off="off"   
             data-on-background-color="green"
             data-off-background-color="red"
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Poollicht</div>
</li>

<li data-row="3" data-col="8" data-sizex="1" data-sizey="1">
        <header>TechnikPool °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="4" data-col="8" data-sizex="1" data-sizey="1">
        <header>Abstellraum °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="5" data-col="2" data-sizex="6" data-sizey="2">
        <header></header>
        <div data-type="svgplot"
             data-device="SVG_FileLog_PoolSensor_1"
             data-gplotfile="SVG_FileLog_PoolSensor_1"
             data-logdevice="FileLog_PoolSensor"
             data-logfile="CURRENT"
             data-refresh="300">
        </div>
</li>

<li data-row="5" data-col="8" data-sizex="1" data-sizey="1">
        <header>Brunnen °C</header>
        <div data-type="thermostat"
             data-device="SolarSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>














        </ul>
    </div>

</body>
</html>


Was mache ich bitte falsch. Ich möchte umsteigen weil mein 1.1 am Produktionssystem nicht ordentlich läuft.

Nice eve
Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 03 April 2016, 18:30:47
Einmal verwendest du tablet_eval und einmal tablet_dev als Pfad.
fhem.cfg und die Header Files im HTML müssen gleich sein.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 03 April 2016, 20:08:00
Sorry das hatte ich übersehen.
Habe in meiner FTUI einige Temperaturanzeigen "thermostat" z.B.
<li data-row="2" data-col="3" data-sizex="1" data-sizey="1">
        <header>Pool °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>


die stimmen aber mit meiner FHEM nicht überein?

Hängt das mit den Shortpoll und Longpoll Einstellungen vielleicht zusammen?

Und dann ist mir aufgefallen dass ein Schalter "switch"
<li data-row="4" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type="switch"
     data-device="Gartenbeleuchtung"
             data-set-on="on"
             data-set-off="off"
             data-get-on="on.*"
             data-get-off="off"   
             data-on-background-color="green"
             data-off-background-color="red"
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Gartenlicht</div>
</li>

sich schalten lässt, aber wenn ich in FHEM schalte, werden die Änderungen im FTUI nicht aktualisiert??

Was mache ich da falsch???
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 03 April 2016, 20:47:58
hey, bei mir ging das Thermostat auch nicht, ist mir vorhin auch erst aufgefallen.
Ist jetzt gefixed ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 03 April 2016, 20:57:36
Ok danke. Werde es dann runterladen. Ist der fix im github?
Was kann das Problem mit dem Schalter sein?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 03 April 2016, 22:25:27
sorry kenn mich da noch zu wenig aus - wo und wann finde ich den fix
Herzlichen Dank und nice eve
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 03 April 2016, 22:52:57
Sorry, ja bis jetzt nur bei Github im Branch "version2.1" alles verfügbar
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 04 April 2016, 09:11:35
Guten Morgen,
hab mir jetzt vom Link im ersten Post die Version nochmals gezogen und kopiert - leider ohne Erfolg.
Thermostat Werte passen noch immer nicht - kann natürlich sein dass ich die falsche Version gezogen habe oder stimmt der Link?

Ich dachte auch mit dieser Version 2.1 sind die Anzeigen Probleme mit iPad und Android auch Geschichte?
Ich bekomme nur eine saubere Darstellung auf iMac mit Safari??????

Hilft hier wirklich nur der weg über Apache???

Schöne Woche an alle - hoffe ihr helft mir weiter - Danke
LG
Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 04 April 2016, 12:59:14
So sieht meine index.html nun aus?
<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.1.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_dev' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_dev
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_dev Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_dev/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="138">
    <meta name="widget_base_height" content="155">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="shortpoll-interval" content="900">
    <meta name="shortpoll-only-interval" content="30">
    <meta name="longpoll-delay" content="5"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="1"> <!-- 1=output to console;0=not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/openautomation.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/fhemSVG.css" />


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

    <script src="/fhem/pgm2/jquery.min.js" defer></script>
    <script src="/fhem/tablet_dev/lib/jquery.toast.min.js" defer></script>
    <script src="/fhem/tablet_dev/lib/jquery.gridster.min.js" defer></script>
    <script src="/fhem/tablet_dev/js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>
<body>
    <div class="gridster">
        <ul>


sollte so passen oder habe ich was übersehen?

Danke
Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: fhainz am 04 April 2016, 17:14:00
Hallo Helmut,

Link: https://github.com/knowthelist/fhem-tablet-ui

Anschließend klickst du auf das Dropdown "Branch: master" und stellst auf "version2.1" um. Rechts findest du nun den "Download ZIP" Button.

@setstate
Ich vermute im thermostat Widget gibt es noch einen Bug. Sollte die Zeile 115 nicht so aussehen?
me.elements=$('div[data-type="'+me.widgetname+'"]',this.area);

Ohne this.area werden bei mir manche Thermostate doppelt (nebeneinander, nach herumklicken) dargestellt.

Grüße

Edit:
Ich hab gestern noch das level Widget umgebaut und dem ganzen noch einen title Tag spendiert (Zeile 128) damit per mouse hover der aktuelle wert angezeigt wird. :)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 04 April 2016, 18:07:45
Bei dem Bug hast du Recht. Das fällt auf, wenn man Thermostat auf zwei Unterseiten gleichzeitig nutzt. Das muss ich noch ändern.

Das Level Widget hatte ich gestern auch schon umgestellt. :-)
Aber Danke fürs Engagement.
Es sind noch ein paar "Exoten" offen, die ich selbst nicht nutze und auch nicht testen kann, wie Readinggroups und gds.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 04 April 2016, 18:12:48
Hallo fheinz (alter Bekannter! und treuer Helfer! - Danke)
Werde es so versuchen - Danke
Was aber trotzdem noch nicht mein Problem mit der Darstellung auf verschiedenen Endgeräten löst.
Gruß
Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 04 April 2016, 20:33:49
Zitat von: Helmi55 am 04 April 2016, 09:11:35
Ich dachte auch mit dieser Version 2.1 sind die Anzeigen Probleme mit iPad und Android auch Geschichte?
Ich bekomme nur eine saubere Darstellung auf iMac mit Safari??????

Hilft hier wirklich nur der weg über Apache???


Nur weil es eine größere Änderung ist, kann es nicht gleich alle Probleme lösen, die es gibt.  ;D Dann müsste ich alle Ursachen kennen und die idealen Lösungen wissen.

Was wird nicht sauber dargestellt? Ich habe es gerade auf unserem iPad getestet, läuft alles soweit (Version 9.0.2).
Der Weg über Apache wäre mir zu viel Aufwand, ich würde immer nach der primären Ursache suchen und diese abstellen. Ist aber leider ist Ferndiagnose immer ganz ganz schwierig...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 04 April 2016, 21:54:56
Bei mir funktioniert aktuell weder der longpoll noch der shortpoll...es werden die Anzeigedaten nie aktualisiert, außer durch einen browser refresh.
Habt ihr auch das problem?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 04 April 2016, 22:30:22
Das klingt nach einem Fehler in der Ausführung und das Verhindern der normalen Abarbeitung. Was sagt die Console, da muss es eine Exception geben.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 05 April 2016, 08:56:11
Servus und guten Morgen
mit Darstellungsproblem meinte ich dass ich andere Werte zwischen meinem iMac (10.11.3) mit Safari. dem Samsung Galaxy Tab (4.4) und meinem iPad 4 (9.3.1) habe.
FHEM selbst funktioniert tadellos. Ich hänge mal Screenshots an plus der index.html meiner _dev Umgebung
<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.1.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_dev' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_dev
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_dev Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_dev/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="138">
    <meta name="widget_base_height" content="155">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="shortpoll-interval" content="900">
    <meta name="shortpoll-only-interval" content="30">
    <meta name="longpoll-delay" content="5"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="1"> <!-- 1=output to console;0=not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/openautomation.css" />
    <link rel="stylesheet" href="/fhem/tablet_dev/lib/fhemSVG.css" />


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

    <script src="/fhem/pgm2/jquery.min.js" defer></script>
    <script src="/fhem/tablet_dev/lib/jquery.toast.min.js" defer></script>
    <script src="/fhem/tablet_dev/lib/jquery.gridster.min.js" defer></script>
    <script src="/fhem/tablet_dev/js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>
<body>
    <div class="gridster">
        <ul>
  <li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type=""                
        </div>                     
        <div data-type="label" class="bold"></div>
</li>

<li data-row="2" data-col="1" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type=""
        </div>                     
        <div data-type="label" class="bold"></div>
</li>

<li data-row="1" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="PoolMaster" 
         data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
       </div> 
       <div data-type="label" class="bold">Pool Master</div>
</li>

<li data-row="1" data-col="3" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="PoolPumpe"     
         data-set-on="off"
             data-set-off="on"
         data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
       </div> 
       <div data-type="label" class="bold">Pool Pumpe</div>
</li>

<li data-row="1" data-col="4" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
     data-device="SolarPumpe"   
         data-set-on="off"
         data-set-off="on"
         data-get-on='["off","on"]'
         data-icon="fa-power-off"
         data-background-colors='["red","green"]'
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Solar Pumpe</div>
</li>

<li data-row="1" data-col="5" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
    data-device="Abend"
             data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
         data-icon="fa-power-off"
         data-background-colors='["red","green"]'
             class="bigger" >
        </div>
        <div data-type="label" class="bold">Abend</div>
</li>

<li data-row="1" data-col="6" data-sizex="1" data-sizey="1">
        <header class="cell" > </header>
        <div data-type="switch"
        data-device="Chlor_Schalter"
             data-set-on="off"
             data-set-off="on"
             data-get-on='["off","on"]'
             data-icon="fa-power-off"
             data-background-colors='["red","green"]'
             class="bigger" >
        </div>     
        <div data-type="label" class="bold">Chlor Schalter</div>
</li>

<li data-row="1" data-col="7" data-sizex="1" data-sizey="1">
<header>Roboter</header>
<div class="row top-space">
<div class="col-1-4">
<div data-type="switch"
data-device="Roboter"
data-set-on="on"
data-set-off="off"
data-get-on="on"
data-get-off="off"
data-icon="fa-power-off"
data-on-background-color="green"
data-off-background-color="red"
class="small">
</div>
<div data-type="label"
class="">&nbsp;Auto
</div>
</div>
<div class="col-2-4">&nbsp;
</div>
</div>
<div class="row">
<div class="col-2-4">&nbsp;
</div>
<div class="col-1-4">
<div data-type="symbol"
data-device="Roboter_sw4"
data-get-on="on"
data-get-off="off"
data-icon="fa-gear"
data-on-color="green"
data-off-color="red"
class="small">
</div>
<div data-type="label"
class="">Status
</div>
</div>
</div>
</li>


<li data-row="1" data-col="8" data-sizex="1" data-sizey="1">
        <header>Garagentor</header>
        <div data-type="symbol" data-device="GaragenTor"
             data-get-on='["Offen","Zu"]'
             data-icons='["oa-fts_garage_door_10","oa-fts_garage_door_100"]'
             data-on-colors='["red","green"]'
             class="bigger" >     
        </div>
        <div data-type="label" data-device="GaragenTor"
</li>

<li data-row="2" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" >Ladezustand %</header>
        <br/>   
        <div data-type="label"       
             data-device="Tablet"
             data-get="powerLevel"
             class="big cell" data-part="1" data-unit="">
        </div>                   
</li>

<li data-row="2" data-col="3" data-sizex="1" data-sizey="1">
        <header>Pool °C</header>
        <div data-type="thermostat"
             data-device="PoolSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="4" data-sizex="1" data-sizey="1">
        <header>Solar °C</header>
        <div data-type="thermostat"
             data-device="SolarSensor"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="5" data-sizex="1" data-sizey="1">
        <header>Luft °C</header>
        <div data-type="thermostat"
             data-device="LuftTemp_Telefonmast"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="2" data-col="6" data-sizex="1" data-sizey="1">
        <header>SolarDiff</header>   
        <div data-type="label" 
             data-device="SolarDiff"
             data-get="STATE"
             data-fix="1"
             data-unit="%B0C%0A"
             class="big">
        </div> 
        <br/>
        <header>Hysterese</header>
        <div data-type="label"
             data-device="Hysterese"
             data-get="STATE"
             data-unit="%B0C%0A"
             class="big">
        </div>
</li>

<li data-row="2" data-col="7" data-sizex="1" data-sizey="1">
        <header class="cell">pH - Wert</header>
        <br/>
        <div data-type="label"
     data-device="Hysterese"
     data-get="STATE"     
         data-limits='[5,6.9,7.4]'
           data-colors='["orange","green","red"]' 
             class="bigger">
        </div> 
</li>

<li data-row="2" data-col="8" data-sizex="1" data-sizey="1">
        <header>Garage °C</header>
        <div data-type="thermostat"
             data-device="Garage"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>     
</li>



<li data-row="4" data-col="2" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type="switch"
     data-device="Gartenbeleuchtung"
             data-set-on="on"
             data-set-off="off"
             data-get-on="on.*"
             dta-get-off="off"   
             data-on-background-color="green"
             data-off-background-color="red"
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Gartenlicht</div>
</li>

<li data-row="3" data-col="4" data-sizex="2" data-sizey="1">
    <header>St. Andrä-Wördern</header>
    <div class="cell center">
    <h2><a style="text-decoration:none;" href="http://www.zeitverschiebung.net/de/city/2761369"></h2><iframe src="http://www.zeitverschiebung.net/clock-widget-iframe?language=de&timezone=Europe%2FVienna" width="100%" height="130" frameborder="0" seamless></iframe></a>
    </div>
</li>

<li data-row="3" data-col="7" data-sizex="1" data-sizey="1">
        <header class="cell" ></header>
        <div data-type="switch"
     data-device="SolarPumpe"
             data-set-on="on"
             data-set-off="off"
             data-get-on="on.*"
             dta-get-off="off"   
             data-on-background-color="green"
             data-off-background-color="red"
             class="bigger" >
        </div>   
        <div data-type="label" class="bold">Poollicht</div>
</li>

<li data-row="3" data-col="8" data-sizex="1" data-sizey="1">
        <header>TechnikPool °C</header>
        <div data-type="thermostat"
             data-device="Technik_Pool"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="4" data-col="8" data-sizex="1" data-sizey="1">
        <header>Abstellraum °C</header>
        <div data-type="thermostat"
             data-device="Abstellraum"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>

<li data-row="5" data-col="2" data-sizex="6" data-sizey="2">
        <header></header>
        <div data-type="svgplot"
             data-device="SVG_FileLog_PoolSensor_1"
             data-gplotfile="SVG_FileLog_PoolSensor_1"
             data-logdevice="FileLog_PoolSensor"
             data-logfile="CURRENT"
             data-refresh="300">
        </div>
</li>

<li data-row="5" data-col="8" data-sizex="1" data-sizey="1">
        <header>Brunnen °C</header>
        <div data-type="thermostat"
             data-device="Brunnen"
             data-get="temperature" data-temp=""
             data-min="-10" data-max="60" data-step=".1" data-unit=""
             class="readonly top-space">
        </div>
</li>         
        </ul>
    </div>

</body>
</html>


Hoffe jemand bring Licht ins Dunkel
Herzlichen Dank
Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 05 April 2016, 12:22:10
Leider kann ich nihct bestätigen das alles mit der 2.1 genau so funktioniert wie bei der 1.1.

Ich nutze das CSS von h3llsp4wn der es freundlicher weise in der Demo zu Verfügung gestellt hat.  https://forum.fhem.de/index.php/topic,37378.msg415211.html#msg415211 (https://forum.fhem.de/index.php/topic,37378.msg415211.html#msg415211)

Ich vermute das ich die CSS anpassen muss. Aber was genau muss ich da anpassen zur 2.1??


Die Demoseite funktiniert!
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 05 April 2016, 19:11:56
Hi,

Sieht eher nach FHEM aus, was da aufgerufen wird. Das CSS hatmeine ich keine großen Änderungen. Checke ich aber gerne, wenn ich morgen wieder im Lande bin.

Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 05 April 2016, 21:18:20
Zitat von: setstate am 04 April 2016, 22:30:22
Das klingt nach einem Fehler in der Ausführung und das Verhindern der normalen Abarbeitung. Was sagt die Console, da muss es eine Exception geben.

Ich habe noch einmal genauer hin geschaut...ich musste feststellen das der longpoll doch funktioniert und leider nur der shortpoll auf dem Tablet nicht geht.
Auf der Konsole auf meinem Laptop werden keine Fehler angezeigt und der Shortpoll scheint dort auch zu funktionieren.

Kann es sein das der Shortpoll am Tablet mit Fully einfach nur nicht funktioniert? Hat die Kombination evtl. wer anders auch im Einsatz?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 05 April 2016, 23:26:19
Damit der Link aus dem FHEMWEB funktioniert, muss noch ein "/" angefügt werden. Also ftui_eval/ anstatt ftui_eval

define TABLETUIEVAL HTTPSRV ftui_eval/ ./www/tablet_eval Tablet-EVAL
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 06 April 2016, 06:35:23
Zitat von: setstate am 05 April 2016, 23:26:19
Damit der Link aus dem FHEMWEB funktioniert, muss noch ein "/" angefügt werden. Also ftui_eval/ anstatt ftui_eval

define TABLETUIEVAL HTTPSRV ftui_eval/ ./www/tablet_eval Tablet-EVAL

Ja das muss man auch wissen... Ich hatte mich an den ersten Post gehalten  ;D Danke fürs korregieren, jetzt läuft auch die 2.1.

Gefühlt schneller, aber das kann hier auch täuschen, muss es zuhause am tablet Probieren.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 06 April 2016, 14:59:59
Moin.

Schade.. Ich komm nicht mehr mit.

Gerade ein Update (über FHEM) gemacht. Es funktioniert so einiges nicht mehr (Darstellung ausgeschlossen).

Was habe ich verpasst?

Die Widgets wurden scheinbar angepasst... Aber an welche Version? Welches JS-File muss ich jetzt nutzen damit alles wieder läuft?

Grüße^^
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: eki am 06 April 2016, 16:05:58
Hallo zusammen,

anbei mal eine erste Version des Chart Widget, die bei mir erst mal in der neuen Umgebung funktioniert. Allerdings sollte das noch intensiv weiter getestet werden.

@setstate: Man muss auf jeden Fall noch this.addReading(elem,'get') z.B. im init_attr() aufrufen, sonst wird kein update angestoßen. Bisher ging das wohl auch ohne die alte Form dieses Aufrufs (zumindest hatte ich die im alten Chart nicht drin).
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 06 April 2016, 16:08:14
An der Master Version (1.x) gab es keine Änderungen. Außer neue Version von Chart Widget.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 06 April 2016, 16:08:28
Ich versuche meine Widgets an die neue Version anzupassen, aber offenbar mache ich an irgend einer Stelle einen grundlegenden Fehler.

1.) die update-Funktion wird nicht aufgerufen und ich habe keine Idee warum
2.) wie rufe ich Methoden der Elternelemente auf? Ich hätte zB "Modul_label.init_attr(elem)" vermutet, das funktioniert aber nicht, sondern wirft den Fehler: "Uncaught TypeError: Modul_label.init_attr is not a function"

Ich hänge mal zwei Beispiele an. Für User nochmal der explizite Hinweis: Die sind kaputt. Nicht verwenden.

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 06 April 2016, 16:24:15
Hallo nesges,
bei 1.) vermute ich es fehlt das this.addReading(elem,'get'); Es gibt kein default mehr.
bei 2.) das schaue ich mir zuhause dann an. Aber ein Aufruf der gleichnamigen function der Basis-Klasse wird nicht unterstützt. Das gibt es nicht bei JS out of the Box und die Implementierung dafür war mir zu umfangreich und aufgeblasen und unübersichtlich. Ich habe drauf verzichtet. Aber da gibt es bestimmt andere Möglichkeiten, doppeltes Coding zu vermeiden.
Deswegen habe ich den Variablename 'base' auch in 'me' geändert, damit das nicht verwirrt.
Ich glaube mich zu erinnern, schon was mit einem Zeiger 'base' probiert zu haben. Muss ich mal in den neuen Widgets suchen ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 06 April 2016, 17:40:35
Zitat von: setstate am 06 April 2016, 16:24:15
bei 1.) vermute ich es fehlt das this.addReading(elem,'get'); Es gibt kein default mehr.

In joinedlabel reicht "me.addReading(elem, 'get')" aus, hier geht's jetzt im update weiter.

In wind_direction habe ich folgendes versucht:

    function init_attr(elem) {
        var me = this;
        elem.initData('direction', elem.data('direction') || elem.data('get') || 'wind_direction');
        elem.initData('speed', elem.data('speed') || 'wind_speed');
        me.addReading(elem, elem.data('direction'));
        me.addReading(elem, elem.data('speed'));
        me.addReading(elem, 'wind_direction');
        me.addReading(elem, 'wind_speed');
        me.addReading(elem, 'get');
    };


Die letzten drei addReading() sollten nicht benötigt werden, ich hab sie nur try&error-mäßig hinzugefügt. update() wird aber nie aufgerufen. (auch nicht wenn ich die "dynamischen" Readings ganz weg lasse)


Wenn die Methoden des Parents nicht explizit aufrufbar sind, hab ich ein Problem mit der neuen Version.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 06 April 2016, 17:50:25
Wie muss bei mir ein Dummy-Device aussehen, damit ich das wind_direction testen kann und bitte auch noch gleich ein kurzes Anwendungs-HTML zum Copy und Paste für mich bitte. Dann geht es schneller, als alles nur theoretisch durchzuspielen.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 06 April 2016, 17:58:09
Zitat von: setstate am 06 April 2016, 17:50:25
Wie muss bei mir ein Dummy-Device aussehen, damit ich das wind_direction testen kann und bitte auch noch gleich ein kurzes Anwendungs-HTML zum Copy und Paste für mich bitte. Dann geht es schneller, als alles nur theoretisch durchzuspielen.

Das hier sollte reichen:

define WETTER_TEST dummy
setreading WETTER_TEST wind_direction 90
setreading WETTER_TEST wind_speed 12


<div data-type="wind_direction"
    data-device="WETTER_TEST"
    data-direction="wind_direction"
    data-speed="wind_speed"
    data-size="80"></div>


Wenn es korrekt läuft, wird ein Volume-Dial mit 8 Ticks angezeigt, in der Mitte ein "O" und davon ausgehend ein nach rechts zeigender Pfeil.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 06 April 2016, 18:17:04
Zitat von: roman1528 am 06 April 2016, 14:59:59
Moin.

Schade.. Ich komm nicht mehr mit.

Gerade ein Update (über FHEM) gemacht. Es funktioniert so einiges nicht mehr (Darstellung ausgeschlossen).

Was habe ich verpasst?

Die Widgets wurden scheinbar angepasst... Aber an welche Version? Welches JS-File muss ich jetzt nutzen damit alles wieder läuft?

Grüße^^

Hast du mir darauf schon geantwortet setstate?

ich nutze die 2.0 beta und bis zum update heute war alles schick.
jetzt läuft einiges nicht... vorallem das switch-widget nicht (ist mir explizit aufgefallen, da ich viel damit mache).
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: ulli am 06 April 2016, 19:25:38
Wie ist denn die Bedeutung folgender Zeilen? 

    <meta name="shortpoll-interval" content="900">
Was für eine Einheit?

    <meta name="shortpoll-only-interval" content="30">
Was für eine Einheit? Welche bedeutung?

    <meta name="longpoll-delay" content="5"> <!-- 1=longpoll;0=shortpoll every 30sec -->
Sekunden zwischen den Longpolls?

    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
Aktiviert Longpoll? Schließt short poll aus?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 06 April 2016, 19:55:24
@nesges: wind_direction:

Zeile 87f
nicht
        });
        me.init_attr($(this));


sondern
          me.init_attr($(this));
        });


also Aufruf pro elem, innerhalb der Schleife

und Filterung beim 'update' muss auf die richtigen Attribute passieren.

    function update(dev,par) {
        isUpdating=true;
        console.log('update start');
        this.elements.filterDeviceReading('direction',dev,par)
        .add( this.elements.filterDeviceReading('speed',dev,par) )
        .each(function(index) {
            var elem = $(this);
                var value = elem.getReading('direction').val;
                var part = elem.data('part') || elem.data('direction-part') || -1;
                var val = getPart(value,part);
...


Aber ich räume noch bisschen auf und lade dann das kpl. File hoch.

z.B. - $(this) vermeiden, kostet Zeit, lieber var elem = $(this); und dann elem benutzen
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 06 April 2016, 20:04:58
Zitat von: ulli am 06 April 2016, 19:25:38
Wie ist denn die Bedeutung folgender Zeilen? 

    <meta name="shortpoll-interval" content="900">
Sekunden bis zur nächsten voller Werteabfrage, egal ob Longpoll an ist oder nicht

    <meta name="shortpoll-only-interval" content="30">
Sekunden bis zur nächsten voller Werteabfrage, wenn Longpoll aus ist

    <meta name="longpoll-delay" content="5">
Sekunden bis Longpoll startet. Gibt der Initialisierung mehr Zeit -> erst wenn alle Widgets fertig sind darf Longpoll starten.

    <meta name="longpoll" content="1">
Aktiviert Longpoll.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 07 April 2016, 07:30:10
@nesges: beim joinedlabel wird es ordentlich schwierig mit der Konvertierung, besonders mit den Array für das GET. Da muss richtig viel geändert werden. Mit dem base Funktionsaufruf bin ich auch noch nicht weitergekommen gestern. Muss ich noch etwas forschen ...

Edit:
Base Funktion Aufruf klappt jetzt. Welche Methode gefällt dir optisch besser? 1.) oder 2.) ?

1.)
Definition
   
    // inherit members from base class
    var base = new Modul_label();
    base.base_init_attr = base.init_attr;
    return $.extend(base, {
        //override members
        widgetname:         'joinedlabel',
        init_attr:          init_attr,
        update:             update,
        update_value_cb:    update_value_cb,
    });


Aufruf

    function init_attr(elem) {
        console.log('init_attr start');

        this.base_init_attr(elem);
       
        elem.initData('glue', ' ');
        elem.initData('mask', '');
        console.log('init_attr end');
    };


2.)
Definition

    // inherit members from base class
    var base = new Modul_label();
    var _base = {};
    _base.init_attr = base.init_attr;
    return $.extend(base, {
        //override members
        widgetname:         'joinedlabel',
        init_attr:          init_attr,
        update:             update,
        update_value_cb:    update_value_cb,
    });


Aufruf

    function init_attr(elem) {
        console.log('init_attr start');

        _base.init_attr.call(this,elem);
       
        elem.initData('glue', ' ');
        elem.initData('mask', '');
        console.log('init_attr end');
    };


Einige Änderungen bezüglich Array Reading sind noch nötig ...

Edit2
So, joinedlabel läuft jetzt bei mir rudimentär. Nur noch Sonderbehandlungsfunktionen wieder aktivieren und wieder hübsch machen.

Edit3
Das angepasste joinedlabel hängt jetzt hier dran. Es bedarf aber dazu die neuste Version vom fhem-tablet-ui.js und widget_label.js
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 07 April 2016, 18:31:04
Hallo guten Abend - sorry für die Verwirrung die ich gestiftet habe....
Habe wie von fheinz beschrieben die aktuelle 2.1 von Github geholt, ins Verzeichnis kopiert
und dann die einzelnen Thermostate und Switches in die neue index.html kopiert.
Funktioniert nun tadellos auch auf den mobilen Endgeräten wie Samsung Tab und iPad(muss hier nur die Formatierung noch einrichten)
Was bei mir wahrscheinlich den Fehler ausgelöst hat, war 1. das sture copy/past
denn dadurch habe ich auch den SVG Plot mit übernommen und der wird ja in 2.1 noch nicht unterstützt oder?
So siehts jetzt aus

Gruß
Helmut

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 07 April 2016, 19:33:15
erledigt.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 09:05:03
Moin setstate,

Ich habe heute mal auf 2.1 umgestellt... ist bei mir ja alles noch eine Testumgebung :) )

Screensaver und Analogclock konnte ich auch schon erfolgreich umstellen :)

Allerdings habe ich einige Probleme mit Werten aus FHEM.

Ich habe mein altes Konstrukt so beibehalten wie es war mit ausnahme der Änderungen im <head> der index.html.

PageTab funktioniert nicht (Seite wird nicht geladen) => elem_url is not defined
Symbol-Widget's holen nicht die aktuellen Werte aus FHEM.

Longpoll ist an... Muss shortpoll-interval gesetzt sein? oder eins der anderen <meta>'s?

Grüße^^
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 09:50:28
Bei Pagetab muss immer data-url gesetzt sein.

ShortPoll muss funktionieren, hier die Settings. https://forum.fhem.de/index.php/topic,50945.msg436012.html#msg436012
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 10:12:47
Zitat von: setstate am 08 April 2016, 09:50:28
Bei Pagetab muss immer data-url gesetzt sein.
Ist es... Wie immer... kann dennoch keine andere Seite aufrufen...

Zitat von: setstate am 08 April 2016, 09:50:28
ShortPoll muss funktionieren, hier die Settings. https://forum.fhem.de/index.php/topic,50945.msg436012.html#msg436012
ShortPoll läuft mit gesetztem
<meta name="shortpoll-interval" content="600">

LongPoll tut es definitiv nicht... Und selbst ShortPoll holt nicht alle bzw. nur unvollständige Werte beim "ersten" laden der Seite. Nach dem ShortPoll-Interval ist es auch nicht besser...

Grüße^^
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 10:26:19
Kann es sein, dass Widgets auf der Seite sind, die nicht zur 2.1 passen? Siehe Liste Post #1

In der Console - gibt es diese Outputs? Immer mit Start und Ende? z.B. start shortpoll -> shortPoll - Done
oder get jsonlist2: Timer gestartet --> get jsonlist2: 1437.31ms

initPage: Timer gestartet
initPage area: 
...
initPage: Timer gestartet
initPage area: #content1
..
start shortpoll
get jsonlist2: Timer gestartet
initWidgets - Done
initPage: 1001.3ms
get jsonlist2: 1437.31ms
read jsonlist2: Timer gestartet
shortpoll: json-len=243
shortPoll - Done
read jsonlist2: 99.68ms
...
initWidgets - Done
fetch content: Timer gestartet
fetch content: 22.16ms
..
initPage: Timer gestartet
initPage area: #content2
...
initWidgets - Done
initPage: 729.04ms
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 13:56:42
Ja die gibts es...

und naheliegend war das nesges Clock-Widget hier dazwischen haut (läuft nicht)... dies holt aber auch keine Daten von FHEM... und das ist es auch nicht (oder nicht allein). Habe es ja auf allen Seiten.

Witzigerweise habe ich gerade herausgefunden, dass einige meiner PageTab's funktionieren. Und zwar alle die, die kein data-get in ihrer Definition haben.
Alle PageTab's mit data-get sind "nicht klickbar", rufen also die neue Seite nicht auf. data-url ist definiert!
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 13:58:46
ZitatAlle PageTab's mit data-get sind "nicht klickbar", rufen also die neue Seite nicht auf.

clock-widget hängt in diesem Thread irgendwo dran, das habe ich schon umgestellt.

werde ich bei mir testen...  data-get  habe ich nämlich nicht dabei ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 14:06:53
Zitat von: setstate am 08 April 2016, 13:58:46
clock-widget hängt in diesem Thread irgendwo dran, das habe ich schon umgestellt.

werde ich bei mir testen...  data-get  habe ich nämlich nicht dabei ...

Daten holt er mittlerweile... Also auf jeden Fall per ShortPoll...

EDIT

LongPoll läuft auch. :)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 14:16:57
kleinen Bug beim pagetab gefunden. Änderungen sind eingechecked.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 14:34:56
Zitat von: setstate am 08 April 2016, 14:16:57
kleinen Bug beim pagetab gefunden. Änderungen sind eingechecked.

Läuft. Du bist der Beste. Danke!
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 15:44:58
Schön, dass es jetzt geht. Aber warum geht es jetzt? Was hast du geändert? Oder was kann ich machen, damit man die Ursache schneller findet?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: StefanD am 08 April 2016, 16:57:40
Ich habe mich heute mal dran gemacht die 2.1er auszuprobieren und scheitere leider schon ohne große eigene Anpassungen. Basis für die Einrichtung war das Zip und die Anleitung aus Post #1.
Weiter habe ich mir aus dem Examples Folder noch die index_empty.html reingezogen und sie als Basis nochmals auf index.html kopiert. Darin habe ich dann /tablet/ gegen /tablet_eval/ ersetzt, damit alles aus der korrekten Quelle geladen wird.

In den Anhängen sieht man einmal den Aufruf der index_empty.html ohne die Anpassung und dass dabei noch auf die TabletUI 1.0 Quellen zugegriffen wird. Beim Aufruf der index.html kommt alles aus der Eval-Quelle. Da ist das Gridster-Layout aber total im Eimer und ich habe keine Idee weshalb. Dabei macht es keinen Unterschied, ob ich die nicht vorhandene Referenz auf fhem-tablet-ui.min.js in der index.html auskommentiere oder nicht.

Meine TabletUI 1.0 Seiten habe ich zum großen Teil auf PHP umgestellt und liefere diese über nginx aus. Die Zuriffe auf FHEM erfolgen über eine Reverseproxy-Konfiguration. All das habe ich bei der 2.1er aber erstmal nicht gemacht und arbeite zu 100% über den FHEM HTTPSRV.

Any hints?

VG Stefan
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 17:24:19
Wichtig ist ja, wie das HTML am Ende nach deinem Gemische aussieht. Hänge bitte mal hier an
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 17:27:19
Zitat von: setstate am 08 April 2016, 15:44:58
Schön, dass es jetzt geht. Aber warum geht es jetzt? Was hast du geändert? Oder was kann ich machen, damit man die Ursache schneller findet?

Das wüsste ich auch gern... Durchforste gerade Konsole und alles was ich an Log's so habe ... kann zu Thema LongPoll/ShortPoll aber nichts finden...

Dafür das hier:
ReferenceError: elem_url is not defined
if (elem.hasClass('warn') || elem.children().filter('#fg').hasClass('warn'))
widget_pagetab.js Zeile 179

              if (elem.hasClass('warn') || elem.children().filter('#fg').hasClass('warn'))
Was auch immer diese Zeile mit elem_url zu tun hat....

und witziger weise auch nur auf meiner index_home.html und rpi_status.html... habe die gerade nochmal gcheckt... sieht gut aus.


Das nächste was ich gesehen habe:
Bei widget Link.
2 Link's nebeneinander... eins ist ok das zweite ist es nicht. dabei sind sie quasi gleich:

<div data-type="link"
data-width="160"
data-height="60"
data-color="black"
data-background-color="green"
data-icon="fa-home"
data-fhem-cmd="setreading eco_taster onoff 1"
class="round big inline">AUTO
</div>
<div data-type="link"
data-width="160"
data-height="60"
data-color="black"
data-background-color="cornflowerblue"
data-icon="ma-brightness_3"
data-fhem-cmd="setreading eco_taster onoff 0"
class="round big inline left-space-2">ECO
</div>


ma-**** ist ein custom-font... dieser funktioniert überall anders einwandfrei.
"AUTO" sendet den Befehl... "ECO" nicht! siehe auch angehängtes Bild.

Grüße^^

EDIT:

Ein wenig zu früh gefreut... LongPoll schmiert irgendwann ab... startet auch nicht neu. ShortPoll unterziehe ich gerade einem Langzeittest...... Debug kann ich immer noch nicht anschalten... dann lädt er die Seite gar nicht.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: StefanD am 08 April 2016, 17:29:59
Zitat von: setstate am 08 April 2016, 17:24:19
Wichtig ist ja, wie das HTML am Ende nach deinem Gemische aussieht. Hänge bitte mal hier an

Nix Gemische  :) Das wäre erst der übernächste Schritt gewesen, wenn ich nativ mit der 2.1er gut 80-90% funktional gehabt hätte.

Edith hat noch einen Screenshot, wie's im WinSCP auschaut angehängt.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 18:26:54
Bitte die normale Version benutzen, nicht die minimierte. Da liegt noch keine bei, oder du machst dir eine mit dem yuicompressor

geht nicht:
<script src="/fhem/tablet_eval/js/fhem-tablet-ui.min.js" defer></script>

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

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: StefanD am 08 April 2016, 18:32:47
Zitat von: setstate am 08 April 2016, 18:26:54
Bitte die normale Version benutzen, nicht die minimierte. Da liegt noch keine bei, oder du machst dir eine mit dem yuicompressor

geht nicht:
<script src="/fhem/tablet_eval/js/fhem-tablet-ui.min.js" defer></script>

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

Ahhh, wer lesen kann, ist klar im Vorteil...  :o
js != css Man(n) sollte auch die Endung berücksichtigen. Werde wohl noch mal zum Optiker müssen, die neue Brille tut nicht richtig...  :D

Danke fürs Augenöffnen, setstate!

VG Stefan
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 18:34:21
@roman1528: Warum ist der rechte Link nicht in blau? Dann ist bei dir schon beim Init was schief gelaufen. Bei mir ist er blau und auch die Toast-Message geht raus.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 18:38:30
Zitat von: setstate am 08 April 2016, 18:34:21
@roman1528: Warum ist der rechte Link nicht in blau? Dann ist bei dir schon beim Init was schief gelaufen. Bei mir ist er blau und auch die Toast-Message geht raus.

Genau das frage ich mich auch...
gut es ist noch das button und das clock-widget drin... welche ja nun bekanntermaßen nicht funktionieren... aber warum ist das linke dann so wie es sein soll und das recht im eimer...

och man... ich hätt die finger von lassen sollen XD
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 08 April 2016, 21:37:06
Das Widget itunes_artwork von nesges habe ich auch gerade für die 2.1 angepasst.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: roman1528 am 08 April 2016, 21:38:10
also shortpoll hat meinen test auch nicht bestanden ...

ich lade mein backup.........
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 09 April 2016, 14:38:12
Boaaa, ich will die 2.1 nicht mehr missen... die rennt und rennt und rennt und jetzt auch "Live" der WAF Faktor ist enorm.

Weil ich auf die Geschwindigkeit angesprochen worden bin :-) Wobei ich immernoch glaube das ist nur subjektiv, aber nun gut...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stivmaster am 09 April 2016, 15:49:44
Hi,

ich habe es auch umgestellt, und auch alles überarbeitet, sodass nicht immer die templates aufgerufgen werden. Bei mir ist ein deutlicher Geschwindigkeitszuwachs zu spüren.

Mfg

Stiv
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 09 April 2016, 23:33:50
Zitat von: roman1528 am 08 April 2016, 21:38:10
also shortpoll hat meinen test auch nicht bestanden ...

ich lade mein backup.........

ich habe heute noch einen HealthCheck eingebaut, der aller 60 Minuten ein Bericht über den Short und Longpoll-Status auf der Console ausgibt, wenn der debuglevel>0 ist.


--------- start healthCheck --------------
Longpoll: true
Longpoll objects there: true
Longpoll curent line: 240
Longpoll last event before: 3 Sekunde(n)
Shortpoll interval: 900
Shortpoll last run before: 1 Minute(n) 56 Sekunde(n)
FHEM dev/par count: 4667
Page length: 83301
Widgets count: 107
--------- end healthCheck ---------------

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stril am 11 April 2016, 08:04:48
Hallo!

Ich bin gerade am Testen. Das Ganze sieht gut aus. Was nur noch etwas "träge" ist, sind die automatischen Seitenwechsel. Gehe ich über "activate" automatisch auf einen anderen Tab, wechselt zwar direkt das Icon, aber der Tab wechselt erst nach 5-6 Sekunden. Das ging mit der alten Version deutlich schneller.

Kannst Du das mal anschauen?

Danke und Gruß
Phil
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 11 April 2016, 08:56:02
Hallo Phil,

wie macht man mit "activate" einen automatischen Seitenwechsel? Und womit, mit Pagetab?
Bei Pagetab? Nur bei pagebutton kann man mit prefetch und dem hide/show von ganzen Seiten ein Umschalten in Echtzeit erzielen. Pagetab läd und initialisiert die Seite immer neu, das dauert je nach HW und Inhalt mehrere Sekunden.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stril am 11 April 2016, 09:49:36
Hallo!

Ich habe das Problem bei der Kombination Pagebutton und einem automatischen Seitenwechsel.

data-icons='["fa-home","fa-video-camera activate"]'

Dann soll er einen "Inhalt laden", wenn ein Dummy im Hintergrund sich ändert. Funktioniert auch - nur eben langsam.


Gibt es auch eine Möglichkeit, dass nicht der Bereich der "Wechselseiten" grau gemacht wird wie:
<li data-row="2" data-col="1" data-sizex="6" data-sizey="6" class="transparent">

Und ich habe noch das Problem, dass sich manchmal die ganze FTUI aufhängt. Hier die Ausgabe der JavaScript Konsole:


jquery.min.js:2 Uncaught Error: Syntax error, unrecognized expression: var Modul_switch = function () {

    if(typeof Module_famultibutton == 'undefined')
        loadplugin('widget_famultibutton');

    function init() {
        var me = this;
        me.elements = $('div[data-type="'+me.widgetname+'"]',me.area);
        me.elements.each(function(index) {
            var elem = $(this);
            elem.initData('off-color'           , getStyle('.switch.off','color') || '#2A2A2A');
            elem.initData('off-background-color', getStyle('.switch.off','background-color')   || '#505050');
            elem.initData('on-color'            , getStyle('.switch.on','color')               || '#2A2A2A');
            elem.initData('on-background-color' , getClassColor(elem) || getStyle('.switch.on','background-color')    || '#aa6900');
            elem.initData('background-icon'     , 'fa-circle');
            elem.initData('icon'                , 'fa-lightbulb-o');
            elem.data('mode', (elem.hasClass('readonly')?'signal':'toggle'));
            me.init_attr(elem);
            me.init_ui(elem);
        });
    };

    // public
    // inherit members from base class
    return $.extend(new Modul_famultibutton(), {
        //override members
        widgetname: 'switch',
        init:init,
    });
};


Hast Du hier auch noch einen Tipp für mich?

Grüße
Phil

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stril am 11 April 2016, 13:34:36
Hallo!

Ich hatte mich verschaut. Es war einfach der Timeout, der zurück gewechselt hat.

Gibt es aktuell eine Möglichkeit, mit Pagebutton wie früher mit Pagetab über einen Dummy den aktiven Inhalt zu wählen?

Bei mir wird z.B. das Kamerabild der Türkamera aktiviert, wenn jemand draußen steht.


Danke und Grüße
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 11 April 2016, 19:05:31
@eki:

Chart eingebaut und getestet läuft - allerdings schlagen die Werte unten "aus", vorher sind diese strich gefahren, wenn Sie am unteren Limit angekommen sind - oder meine ich das nur?


Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 11 April 2016, 20:21:59
@Stril:
ZitatUncaught Error: Syntax error, unrecognized expression:
gefällt mir garnicht. Habe auch noch kein Plan, was das sein kann.

Das "activate" schaue ich mir an. Sollte machbar sein, wenn es nicht schon drin ist und nur noch nicht funktioniert.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 11 April 2016, 21:11:20
Hi welchen Chart hadt du da - suche auch für meine Poolsteuerung
Hast du da bitte einige Zeilen für mich. Danke
Gruss Helmut
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stril am 11 April 2016, 21:14:13
Hallo!

Warte bitte noch mit der Suche nach der Ursache des Uncaught Errors.
Ich glaube, ich hatte einfach noch recht viel Mist im Code.

Was noch unangenehm ist:
Bei mir ist das Menü über den Inhalten der Pagebuttons. Die Inhalte sind dann aber um einige Pixel verschoben.

Danke und Grüße
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 12 April 2016, 07:58:29
Hallo setstate
wird in naher Zukunft auch der SVGPlot von Nesges (glaube von ihm war der oder?)  funktionieren?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: eki am 12 April 2016, 12:52:38
Zitat von: h3llsp4wn am 11 April 2016, 19:05:31
@eki:

Chart eingebaut und getestet läuft - allerdings schlagen die Werte unten "aus", vorher sind diese strich gefahren, wenn Sie am unteren Limit angekommen sind - oder meine ich das nur?


Cheers,

h3ll
Hast Du eine feste Skalierung und die gelieferten Werte sind kleiner als der Minimalwert? Poste mal Deine Definition des Charts und die Ausgabe der Browser Konsole mit Debug=1 (Einstellung in der Index.html)
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: cotecmania am 12 April 2016, 14:39:48
Hallo,

die Beispiele verweisen oft noch auf das Verzeichnis "tablet" anstatt "tablet_eval" bei den links. Das kann zu Problemen führen.
z.B. index_example.html

Das muss man auch beachten, wenn man seine vorhandene alte index.html einfach umkopiert.

Wären hier nicht relative Pfade besser ?

Gruss

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 12 April 2016, 15:11:12
@Helmi: Schau mal in den Demo-Thread - da habe ich meine Definition/Templates hochgeladen. Werde diese aber heute Abend noch hier reinpacken, um mein "Problemchen" eki darzustellen.

@eki: Hier meine Definition:


<div class="normal top-space"
data-type="chart"
data-device="logdb"
data-logdevice='["logdb","logdb","logdb"]'
data-logfile='["HISTORY","HISTORY","HISTORY"]'
data-columnspec='["Garten.Pooltemperatur:temperature","Wohnzimmer.Sensor:humidity","Wohnzimmer.Sensor:temperature"]'
data-style='["ftui l1fill","ftui l4","ftui l3fill"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","secondary","primary"]'
data-legend='["Pool","Luftfeuchtigkeit","Temperatur"]'
data-yunit="&deg;C"
data-ytext="Temperatur"
data-minvalue="auto"
data-maxvalue="auto"
data-yunit_sec="%"
data-ytext_sec="Prozent"
data-yticks="auto"
data-minvalue_sec="40"
data-maxvalue_sec="70"
data-daysago_start="2"
data-daysago_end="-1"
data-crosshair="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="true"
data-xticks="auto"
data-height="260">
</div>


Einen Debug aus dem Opera bringt die gesamte Console zum Absturz. Aus dem IE konnte ich zumindest Dein Chart-Debug kopieren.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Helmi55 am 12 April 2016, 18:21:03
Servus h3llsp4wn

ich hoffe ich darf meine Frage hier anhängen - ich bekomme leider gar nix angezeigt.
Ich verwende noch keine DB für die Logs. Ich habe 3 Sensoren Pool, Solar und Luft
Meinen Chart in FHEM stelle ich über SVG dar.
Egal was ich in data-device einsetzte - kein Erfolg (PoolSensor oder FileLog_PoolSensor oder SVG_FileLog_PoolSesnsor)
Kann mir jemand bitte weiterhelfen - Danke

<li data-row="4" data-col="2" data-sizex="6" data-sizey="2">
    <header>Pooltemperatur</header>
<div class="normal top-space"
data-type="chart"
data-device="logdb"
data-logdevice='["FileLog_PoolsSensor","FileLog_SolarSensor","FileLog_LuftTemp_Telefonmast"]'

data-columnspec='["PoolSensor:temperature","SolarSensor:temperature","LuftTemp_Telefonmast:temperature"]'
data-style='["ftui l1fill","ftui l4","ftui l3fill"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary","secondary","primary"]'
data-legend='["Pool","Solar","Luft"]'
data-yunit="&deg;C"
data-ytext="Temperatur"
data-minvalue="auto"
data-maxvalue="auto"
data-yunit_sec="Temperatur"
data-ytext_sec="Temperatur"
data-yticks="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
data-daysago_start="2"
data-daysago_end="-1"
data-crosshair="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="true"
data-xticks="auto"
>
</li>
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: skuggy am 13 April 2016, 08:52:20
Hallo zusammen, Hallo @setstate,

vielen Dank für tolle Arbeit. Irgendwie steh ich mit dem Verständnis/Verhalten von Pagebutton noch auf Kriegsfuß, ich bekomme es einfach nicht rund in meinem Kopf.

Hat jemand zufällig eine fertige Installation/Demo, außer dem Demo von setstate, welches komplett mit Pagebutton umgesetzt wurde?

Vielen Dank.

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kvo1 am 13 April 2016, 19:40:48
Hallo Skuggy,

ZitatHat jemand zufällig eine fertige Installation/Demo, außer dem Demo von setstate, welches komplett mit Pagebutton umgesetzt wurde?

ja das käme mir auch sehr entgegen. Im meiner 1.x Version läuft alles soweit rund ...nur mit der 2.1 Umstellung geht´s mir wir Dir  :-[ :-\
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 14 April 2016, 00:25:42
Hier nochmal drei Seiten von mir, die pagebutton nutzen.
Was genau klappt bei euch nicht?

Das sind die beiden wichtigsten Parameter beim Pagebutton für den Tab-Modus

data-url="#index_main.html"     data-load="#content1"

Bei data-url bedeutet das: "hänge an die vorhandene URL nur etwas hinten dran, was nicht zum Seitenwechsel führt, aber ausgewertet werden kann und als Merker dort verbleiben kann". Dafür nutzt man den Hash #

Beim data-load bedeutet die Raute # aber etwas anderes: "lade den Inhalt mit der ID 'content1' aus der Quelle-Seite in den DOM Knoten mit der ID 'content1' der aktuellen Seite". Das ist CSS Style.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kvo1 am 14 April 2016, 07:45:55
Hallo setstate,
danke, werde ich mir mal "reinziehen". Vielleicht gibt es ja mal wieder auf dem DEMO-Thread die eine oder andere komplette Konfig (wie es das so zahlreich für die 1.x gab) oder wird das WIKI mal "aufgefrischt " ?

Gruß Klaus
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 15 April 2016, 09:32:44
Morgen,
hmm ich hab gestern Abend/Nacht ein update gemacht und seitdem startet mein FTUI gar nicht mehr. In der Konsole steht folgendes:
GET
XHR
http://192.168.2.2/ftui/test/js/widget_pagebutton.js [HTTP/1.1 200 OK 12ms]
ReferenceError: Modul_famultibutton is not defined
Modul_pagebutton()
jquery.min.js line 2 > eval:150
plugins.load/<()
fhem-tablet-ui.js:100
m.Callbacks/j()
jquery.min.js:2
m.Callbacks/k.fireWith()
jquery.min.js:2
x()
jquery.min.js:4
.send/b()
jquery.min.js:4


hast du eine idee setstate?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 15 April 2016, 09:57:09
Setze mal bitte in der HTML Seite debug=1 oder debug=2, dann wird beim Plugins laden auch der Cache ausgeschaltet. Ich vermute, dein Browser holt noch alte Versionen. Alle js Files hast du reinkopiert und sind neuerer?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: urmel86 am 15 April 2016, 11:27:55
Hallo zusammen,

ich bin grade dabei mit der neuen Version ein neues UI für mobile Geräte aufzubauen. Komme soweit auch gut zurecht. Allerdings habe ich ein Problem mit dem Colorwheel Widget innerhalb eines Popups. Es lässt sich einfach nicht bedienen und wirkt auch abgedunkelt. Wenn ich das Widget ohne Popup einbinde funktioniert es wie gewollt. Hier der Code:

<!DOCTYPE html>
<html>
<head></head>
<body>
    <div class="page" id="content2">
        <section>
            <div class="large col-1-2 left-align">Stehlampe groß</div>
            <div data-type="switch" data-device="CUL_HM_HM_LC_SW1_PL2_2094AC"
data-off-background-color="#424242"
                 class="big thin col-1-2 right-align"></div>
         </section>
         <section>
             <div class="large col-1-2 left-align">Wohnzimmer Fenster</div>
             <div data-type="switch" data-device="CUL_HM_HM_LC_SW1_PL2_209532"
  data-off-background-color="#424242"
                  class="big thin col-1-2 right-align"></div>
         </section>
         <section>
             <div class="large col-1-2 left-align">Lampe Dimmer</div>
             <div data-type="dimmer" data-device="CUL_HM_HM_LC_DIM1L_PL_198E49"
  data-off-background-color="#424242"
                  class="big thin col-1-2 right-align"></div>
         </section>
         <section>
             <div class="large col-1-2 left-align">RGB Wohnzimmer</div>
             <div Class="col-1-2">
<div data-type="switch" data-device="RGB_Sofa"
  data-off-background-color="#424242"
  data-on-background-color="RGB_Sofa:rgb"
  data-get-on="dim.*|on" data-set-on="on"
                  class="big thin right-align"></div>
<div data-type="symbol" id="starter1" data-device='RGB_Sofa' data-get="" data-off-color="RGB_Sofa:rgb" data-off-background-color="RGB_Sofa:rgb" data-icon="fa-ellipsis-h" data-background-icon="fa-circle-thin" class="small"></div>
</div>

         </section>
<section>
             <div class="large col-1-2 left-align">RGB Küche</div>
             <div Class="col-1-2">
<div data-type="switch" data-device="RGB_Kueche"
  data-off-background-color="#424242"
  data-on-background-color="RGB_Kueche:RGB"
  data-get-on="dim.*|on" data-set-on="on"
                  class="big thin right-align"></div>
<div data-type="symbol" id="starter2" data-device='RGB_Kueche' data-get="RGB" data-off-color="RGB_Kueche:RGB" data-off-background-color="RGB_Kueche:RGB" data-icon="fa-ellipsis-h" data-background-icon="fa-circle-thin" class="small"></div>
</div>

   
         </section>
<section>
             <div class="large col-1-2 left-align">RGB Terrasse</div>
             <div Class="col-1-2">
<div data-type="switch" data-device="RGB_Terrasse"
  data-off-background-color="#424242"
  data-on-background-color="RGB_Terrasse:rgb"
  data-get-on="dim.*|on" data-set-on="on"
                  class="big thin right-align"></div>
<div data-type="symbol" id="starter3" data-device='RGB_Terrasse' data-get="" data-off-color="RGB_Terrasse:rgb" data-off-background-color="RGB_Terrasse:rgb" data-icon="fa-ellipsis-h" data-background-icon="fa-circle-thin" class="small"></div>
</div>

         </section>
<div data-type="popup" data-height="240px" data-width="240px" data-mode="animate" data-starter="#starter1" class="col-1-6">
<div class="dialog">
<header>RGB COLOR</header>
<div data-type="colorwheel" data-device='RGB_Sofa' data-get="rgb" data-set="rgb" class="roundIndicator"></div>
</div>
</div>
<div data-type="popup" data-height="240px" data-width="240px" data-starter="#starter2" class="col-1-6">
<div class="dialog">
<header>RGB COLOR</header>
<div data-type="colorwheel" data-device="RGB_Kueche" data-get="RGB" data-set="RGB" class="small"></div>
</div>
</div>
<div data-type="popup" data-height="240px" data-width="240px" data-mode="animate" data-starter="#starter3" class="col-1-6">
<div class="dialog">
<header>RGB COLOR</header>
<div data-type="colorwheel" data-device='RGB_Terrasse' data-get="rgb" data-set="rgb" class="roundIndicator"></div>
</div>
</div>
</div>
</body>
</html>


Weiß einer woram es liegen könnte?
Gruß Marco
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 15 April 2016, 11:37:47
Popup macht alles andere im Hintergrund grau. Wenn der z-Index nicht stimmt für das colorwheel, bleibt es in Hintergrund. Ich schaue mir das an. Als Notlösung können wir den Hintergrund auch ausschalten für bestimmte popups.

Muss ich aber noch einbauen, wie bei Circlemenu "noshade"
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: urmel86 am 15 April 2016, 12:05:30
Danke für die Info, dann kann ich ja aufhören den Fehler zu suchen
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Andy89 am 15 April 2016, 14:03:02
Zitat von: setstate am 15 April 2016, 09:57:09
Setze mal bitte in der HTML Seite debug=1 oder debug=2, dann wird beim Plugins laden auch der Cache ausgeschaltet. Ich vermute, dein Browser holt noch alte Versionen. Alle js Files hast du reinkopiert und sind neuerer?
schande über mein Haupt  :-\ :-\ hab wohl übersehen die fhem-tablet-ui.js zu kopieren :o :o deswegen kamen die Fehler... beim Health Check hätte mir das auch auffallen können wegen der Versionsnummer.....

danke!
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 15 April 2016, 15:13:44
@setstate:

Da ich den Kalender, den ich mal gebastelt habe für die 2.1 umgebaut habe und nun auch ohne Änderung in Calendar-Modul auskomme und nachdem ich das button widget "entfernt" habe auch die Updates getriggert werden - kurze Frage - ich habe einen Kalender im Frontend und sozusagen "mehrere" Devices (also die Kalender in FHEM), die ich dann einzeln ansprechen muss. Es wird sicherlich keine Option geben mehrere Devices in das data-device zu packen und dies sozusagen als Array zu handeln. Ich habe mir die Tablet-UI angeschaut und denke, dass der Umbau für eine solche Erweiterung wohl zu weit gehen würde. Ich hatte überlegt ggf. ein "Dummy-Device" anzulegen, welches dann die Updates für alle Kalender beinhaltet - finde ich aber nicht ganz so schön. Ebenso finde ich es auch nicht so toll, einfach mehrere widgets aufzumachen, da wenn alles async läuft ich nie weiß, wer zuerst den Kalender von der Darstellung her aufbauen muss. Vielleicht hast Du eine gute/bessere Idee?

Also kurz: Es kann immer nur eine Kalender-Instanz auf der Anzeigeseite geben, diese kann und muss aber aus mehrere Devices befüllt werden, wenn ich den Standard Tablet-UI Update Mechanismus nutzen möchte.


Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: CoolTux am 15 April 2016, 15:16:59
Wie schaut es mir ReadingsProxy für Deine ganzen Kalender aus? Ist besser wie ein Dummy.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 15 April 2016, 15:59:12
Ich bin mir ziemlich sicher, dass Reading Arrays seit der 2.1 funktionieren.
Das habe ich extra noch erweitert, damit einige Widgets von nesges funktionieren.
Schaue dir mal das joinedlabel aus dem ersten Post an, damit kann man ein Label erzeugen, welches sich aus mehreren Readings Werte zusammenfügen.

So definiert man das im HTML:
data-get='["device1:reading1","device2:reading2"]'

Im init ganz normal bekannt machen
this.addReading(elem,'get');

Nur in der update function werden Arrays gezielt per Index abgefragt (for schleife)
var value = elem.getReading('get',idx).val;

Skalare Readings fragt man ohne Index ab
var value = elem.getReading('get').val;
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 15 April 2016, 19:07:47
Super, danke für die Tipps - das schaue ich mir am Wochenende direkt an  :D

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kt83 am 15 April 2016, 21:53:10
Habe auch mal auf die 2.2er Version umgestellt und kann jetzt das Menü nicht mehr unten platzieren (hier ist der Sollzustand zu sehen: https://forum.fhem.de/index.php/topic,37378.msg424772.html#msg424772 (https://forum.fhem.de/index.php/topic,37378.msg424772.html#msg424772)).
Als Gerüst habe ich die Dateien von setstate aus diesem Post benutzt: https://forum.fhem.de/index.php/topic,50945.msg439193.html#msg439193 (https://forum.fhem.de/index.php/topic,50945.msg439193.html#msg439193).

Hier der body der index.html:
<body>
  <div class="gridster">
    <ul>
      <li data-row="12" data-col="1" data-sizex="12" data-sizey="1">
        <div class="cell">
          <div data-type="pagebutton" data-url="#index_main.html"     data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern="(.*/||.*#index_main.html)" data-icon="fa-home" class="default top-space"></div>
        </div>
      </li>
    </ul>
  </div>
  <div class="page" id="content1"></div>
</body>


gridster-Größe ist 12x12.
Beim Laden taucht das Menü kurz ganz oben auf und wird dann sofort vom restlichen Inhalt überschrieben.
Hat jemand eine Idee?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 15 April 2016, 22:34:58
Zitat von: setstate am 15 April 2016, 11:37:47
Muss ich aber noch einbauen, wie bei Circlemenu "noshade"

Das popup-Widget für die 2.2 hat nun die class="noshade" Option
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 15 April 2016, 22:42:46
Wenn die Pagebutton-Menüs oben oder unten sein sollen, verwendet lieber diese Anordnung:

https://github.com/knowthelist/fhem-tablet-ui/blob/version2.1/www/tablet/index_page_demo.html

Also für Menü und den Content einen festen Platz reservieren.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: urmel86 am 16 April 2016, 17:19:54
Zitat von: setstate am 15 April 2016, 22:34:58
Das popup-Widget für die 2.2 hat nun die class="noshade" Option
Das ging ja fix. Hab's getestet und funktioniert. Vielen Dank!

Gesendet von meinem Find7 mit Tapatalk

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: kt83 am 16 April 2016, 23:02:33
Zitat von: setstate am 15 April 2016, 22:42:46
Wenn die Pagebutton-Menüs oben oder unten sein sollen, verwendet lieber diese Anordnung:

https://github.com/knowthelist/fhem-tablet-ui/blob/version2.1/www/tablet/index_page_demo.html

Also für Menü und den Content einen festen Platz reservieren.
Danke setstate! Ich hatte übersehen, dass Du das schon auf Seite 5 dieses Threads gezeigt hattest.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 17 April 2016, 09:43:11
Version: 2.2:
Ich hatte in der Vergangenheit "pagetab" statt "pagebutton" benutzt. Scheint irgendwie niht mehr zu wollen und musste nach "pagebutton" umsteigen. Sind die gleichwertig?

Ich hatte ein widget "clock" von nesges eingebunden. Fehlermeldung: Failed to load Pluin: clock..  Ich habe das widget raw in ein Textdokument gepackt und widget_clock.js in den Ordner "js" der Evalierungsversion geschoben. Aber der Fehler bleibt??  :( 

Gruß
Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 17 April 2016, 10:16:59
das widget_clock für die 2.2 ist am ersten Post hier dran.

pagetab sollte 1:1 funktionieren, wenn es nicht klappt, schaue ich nochmal nach ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 17 April 2016, 10:59:29
Warte nochmal mit pagetab, vielleicht war ich etwas voreilig. Muss esrt mal die Uhr deaktivieren und nochmal prüfen, ob es wirklich nicht geht oder aber die Seite nachgeladen wird.
Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 17 April 2016, 11:09:23
Eine kleine Bitte/Frage: Kannst Dufür die FTUI-Definitionen das Attribut "disable" einbauen? Ich möchte ungern zwei FTUI-Instanzen aktiv nebeneinander haben, da ich nicht weiß, ob die sich gegeneinander beeinflussen. Wenn ich mit der 2.2 arbeite würde ich gerne 1.x deaktivieren.

Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 17 April 2016, 11:28:55
Zitat von: setstate am 17 April 2016, 10:16:59
das widget_clock für die 2.2 ist am ersten Post hier dran.

Ich habe heute morgen eine Evaluationsversion mit Update auf 2.2 gemacht. In dem Verzeichnis js ist keine widget_clock.js enthalten gewesen und im ersten Post ist im Listing nix von clock zu sehen.
Steh' ich denn total neben mir??  :o :o  Na, wo ist sie denn nun???  ;D
Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 17 April 2016, 11:30:06
Meine Güte, sie liegt als zusätzliche Anlage bei!!!!
Sorry.
Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 17 April 2016, 11:46:33
@setstate:

Beim pagetab musst Du noch den zweiten Block löschen - ist ja oben in der depends function drin :


var Modul_pagetab = function () {

    if(typeof Module_famultibutton == 'undefined') {
        loadplugin('widget_famultibutton');
    }



... ich meine in der 2.2
Dann läuft's bei mir auch.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 17 April 2016, 12:43:13
@h3llsp4wn: super! Danke für den Hinweis.
Ist jetzt gefixt
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 17 April 2016, 13:57:05
@setstate:

Scheint als hätte der dynamicload anders funktioniert als die neue depends function - ich übergebe da so einige Scripte:


function depends_fullcalview (){
if (!$.fn.fullCalendar){
$('head').append('<link rel="stylesheet" href="/ftui2/fullcalendar/fullcalendar.css" type="text/css" />');
return ['fullcalendar/lib/moment.min.js',
'fullcalendar/fullcalendar.js',
'fullcalendar/lang/de.js',
'ical/ical.js',
'ical/ical_events.js',
'ical/ical_fullcalendar.js'];
};
};


... und habe jetzt festgestellt, dass er diese zwar abholt, aber wohl zu spät - das Widget wird zwar load widget: fullcalview geladen, aber es kommt nicht mehr in den Init und läuft wohl ins Leere - er kommt nicht mehr bis zum loaded plugin: fullcalview). Ich weiß nicht, ob Du das irgendwie verifizieren kannst. Ich habe aber zu Testzwecken alle Scripte direkt in die index.html eingebunden und dann habe ich keine Lade- und Initialisierungsfehler - das Widget wird dann auch initialisiert und update geht auch. Wenn ich's aus dem index.html rausnehme und in die depends_fullcalview packe, dann klappen 5-6 Aufrufe, 5-6 nicht ...

Eine Idee?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 17 April 2016, 15:48:44
 :( Das ist der Nachteil von Async -> Race Condition

Wo kann ich fullcalview kpl. downloaden, um zu testen?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: uniqueck am 17 April 2016, 19:10:22
gibt es denn schon einen Zeitstrecke, ab wann ftui 2.x released wird und damit die 1.x ablöst?
oder ist gar keine Ablösung geplant?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: netbus am 18 April 2016, 10:30:17
wie kann man die Version 2.2 laden?
Ein root@fhem:~/fhem-tablet-ui# git checkout version2.2
error: pathspec 'version2.2' did not match any file(s) known to git.

geht nicht
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 18 April 2016, 11:15:11
version2.1

Ich habe keinen neuen Branch im git für die 2.2 angelegt.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 18 April 2016, 13:51:53
Zitat von: setstate am 17 April 2016, 10:16:59
pagetab sollte 1:1 funktionieren, wenn es nicht klappt, schaue ich nochmal nach ...
Zitat von: FHEm2005 am 17 April 2016, 10:59:29
Warte nochmal mit pagetab, vielleicht war ich etwas voreilig. Muss erst mal die Uhr deaktivieren und nochmal prüfen, ob es wirklich nicht geht oder aber die Seite nachgeladen wird.

So, ich habe das nochmal überprüft: pagetab läuft nicht; wechsle ich zu pagebutton, wird der Button angezeigt.

Nun meine Randbedingungen:
index.html mit den Kopfdaten der V2.2. steht zwar 2.1 drin, aber in Wirklichkeit 2.2 darhinter. Ob es da Unterschiede gibt habe ich nicht geprüft.

Nach dem Wiki den Aufruf von menu-main.html gestaltet.  Dort werden nur die Menuepunkte gezeigt, die pagebutton aufrufen.


--------- start healthCheck --------------                     fhem-tablet-ui.js (Zeile 733)
now: Date {Mon Apr 18 2016 12:35:13 GMT+0200}                  fhem-tablet-ui.js (Zeile 734)
FTUI version: 2.2.0                                              fhem-tablet-ui.js (Zeile 735)
Longpoll: true                                       fhem-tablet-ui.js (Zeile 736)
Longpoll objects there: true                 fhem-tablet-ui.js (Zeile 737)
Longpoll curent line: 314                      fhem-tablet-ui.js (Zeile 738)
Longpoll last event before: 27 Sekunde(n)  fhem-tablet-ui.js (Zeile 739)
Shortpoll interval: 900                               fhem-tablet-ui.js (Zeile 740)
Shortpoll last run before: 2 Minute(n) 30 Sekunde(n)   fhem-tablet-ui.js (Zeile 741)
FHEM dev/par count: 6482                    fhem-tablet-ui.js (Zeile 742)
Page length: 10291                              fhem-tablet-ui.js (Zeile 743)
Widgets count: 12                                fhem-tablet-ui.js (Zeile 744)
--------- end healthCheck ---------------


Plugin dir: /fhem/tablet_eval/js      fhem-tablet-ui.js (Zeile 871)
Filename: indexv3.html                  fhem-tablet-ui.js (Zeile 871)
FHEM dir: /fhem/                             fhem-tablet-ui.js (Zeile 871)
initPage - area= (Leerstring)         fhem-tablet-ui.js (Zeile 225)
start shortpoll in (ms):30000        fhem-tablet-ui.js (Zeile 871)
count of templates:                       fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/www/tablet_eval/menu-main.html    304 Not Modified     27ms   jquery.min.js (Zeile 4)   
Load widget : pagebutton    fhem-tablet-ui.js (Zeile 871)
Create widget : pagebutton     fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/tablet_eval/js/widget_pagebutton.js?_=1460975830454  200 OK   16ms    jquery.min.js (Zeile 4)
Load widget : pagetab     fhem-tablet-ui.js (Zeile 871)
Create widget : pagetab   fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/tablet_eval/js/widget_pagetab.js?_=1460975830455   200 OK   31ms   jquery.min.js (Zeile 4)
Create widget : famultibutton     fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/tablet_eval/js/widget_famultibutton.js?_=1460975830456   200 OK   15ms    jquery.min.js (Zeile 4)
Create widget : famultibutton         fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/tablet_eval/js/widget_famultibutton.js?_=1460975830457  200 OK       31ms    jquery.min.js (Zeile 4)
GET http://192.168.2.46:8083/fhem/tablet_eval/lib/fa-multi-button.min.js?_=1460975830458  200 OK     16ms       jquery.min.js (Zeile 4)
GET http://192.168.2.46:8083/fhem/tablet_eval/lib/fa-multi-button.min.js?_=1460975830459  200 OK       16ms    jquery.min.js (Zeile 4)
Loaded plugin: famultibutton        fhem-tablet-ui.js (Zeile 871)
Loaded plugin: pagebutton        fhem-tablet-ui.js (Zeile 871)
Loaded plugin: famultibutton          fhem-tablet-ui.js (Zeile 871)
ReferenceError: loadplugin is not defined
       console.time('fetch content');          jquery.... > eval (Zeile 10, Spalte 9)
start shortpoll
fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/?cmd=jsonlist2&XHR=1&timeout=60000    200 OK      1,83s   jquery.min.js (Zeile 4)
start shortpoll in (ms):30000           fhem-tablet-ui.js (Zeile 871)
get jsonlist2: 1905.33ms                 fhem-tablet-ui.js (Zeile 337)
shortpoll: json-len=251                   fhem-tablet-ui.js (Zeile 871)
shortPoll - Done                               fhem-tablet-ui.js (Zeile 871)
read jsonlist2: 131.90ms                 fhem-tablet-ui.js (Zeile 404)
Longpoll started                              fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/?XHR=1&inform=type%3Dstatus%3Bfilter%3D.*%3Bfmt%3DJSON&_=1460975830460   200 OK   18,88s


Soweit das, was ich zur Zeit liefern kann. Wenn Du mehr brauchst melde Dich.

Gruß
Eberhard

Edit: Wenn aus dem pagebutton-widget die unter data-url angegebene Seite durch buttonclick nachgeladen werden soll, wird ausschießlich die url-Seite aufgerufen und nicht nachgeladen. Somit fehlen in der Anzeige alle css-Angaben, sowie die Meßwerte und Einstellengen aus fhem.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 18 April 2016, 16:47:31
@setstate:
Im Anhang das zip in Deinen Tablet-testordner entpacken. Wenn Du in FHEM Kalender hast, kannst Du diese dann anhand des Beispiels hoffentlich einbinden.
Diese Version ist noch nicht final (updates muss ich demnächst noch manuell handeln - wahrscheinlich dann den index mit auswerten, damit nicht immer alle Kalender
zum Update führen bzw. upgedated werden).

Einbindung sieht aktuell so aus:


<div data-type="fullcalview"
data-device='["abfallKalender:lastUpdate","allKalender:lastUpdate"]'
data-defaultview="basicWeek"
data-eventlimit="true"
data-timeformat="H:mm"
data-lang="de"
data-weeknumbers="true"
data-headerleft="title"
data-headerright="today month basicWeek prev,next"
data-contentheight="350"
data-get='["abfallKalender:lastUpdate","allKalender:lastUpdate"]'
data-eventsources='["abfallKalender","allKalender"]'
data-eventcolors='["red","#E6FF57"]'
data-eventtextcolors='["white","black"]' />


Cheers,

h3ll

@FHEm2005:
Bist Du Dir sicher, dass Du die letzte Version des pagetab widgets installiert hast? So sieht es aus, wenn der loadplugin code noch drin ist - siehe einige Posts über diesem hier.

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 18 April 2016, 20:10:22
Hallo h3ll,

muss ich die Änderung mauell vornehmen, wie in der Note an setstate (#167) ?

Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 18 April 2016, 20:28:11
@h3ll
Habe die Zeilen wie in (#167) beschrieben gelöscht!. Jetzt sieht die Welt schon gaaaanz anders aus. 20 browny points für Dich. Jetzt werden die betreffenden Seiten nachgeladen. Aber wie das nun so ist, die Charts wollen noch nicht, dass sie angezeigt werden. Werde da nochmal testen und lesen, ich kann mich erinnern da war irgendwo etwas.

Vielen Dank!
Gruß
Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: FHEm2005 am 18 April 2016, 20:50:15
Ich bin offensichtlich noch nicht an Schmitz Backes vorbei (wie wir Rheinländer zusagen pflegen). Er meckert nun, dass er den multistatebutton nicht laden kann. Er zeigt ihn auch nicht an.

Konsolen ausschnitt:
Load widget : multistatebutton                               fhem-tablet-ui.js (Zeile 871)
GET http://192.168.2.46:8083/fhem/tablet_eval/js/widget_multistatebutton.js?_=1461005008865    404 Not Found    146ms    jquery.min.js (Zeile 4)
XML-Verarbeitungsfehler: Kein Element gefunden Adresse: moz-nullprincipal:{45506d65-be88-4b11-b016-9f0ded6a7942} Zeile Nr. 1, Spalte 1:
...
...


Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 18 April 2016, 23:18:20
@h3llsp4wn: Ich kann den Fehler bei mir nachstellen. Es passiert immer mal wieder, dass alles Skripte zwar mit OK geladen werden, aber es passiert ab und an ein parserError.

Hier wird ähnliches berichtet.
http://stackoverflow.com/questions/1130921/is-the-callback-on-jquerys-getscript-unreliable-or-am-i-doing-something-wrong/2068597#2068597

Als würde etwas vom Inhalt der Files verstümmelt beim Laden

ZitatParserError: invalid line (no token ";" or ":") "Please define abfallKalender first" <unbekannt>
ParserError: invalid line (no token ";" or ":") "Please define allKalender first" <unbekannt>
ParserError: invalid line (no token ";" or ":") "Please define abfallKalender first" <unbekannt>
ParserError: invalid line (no token ";" or ":") "Please define allKalender first" <unbekannt>
ParserError: invalid line (no token ";" or ":") "Please define abfallKalender first"

Bin ziemlich ratlos und gerade etwas deprimiert deswegen ... :(

Überlegung: kann es sein, dass der FHEM Webservice nicht immer alle Bytes mitschickt? Ich kann noch probieren, auf Plain Javascript Ajax umzustellen für Jquery getScript, aber auf synchrone Anfragen möchte ich ungern zurück.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: HoTi am 19 April 2016, 07:05:09
Mal eine blöde frage... Ich Teste die eval in meinen Mittagspausen und habe ftp und ssh zugriff nur übers Handy mit VPN.

Kannst du es einrichten das man über die FHEM Komandozeile die eval updaten kann? Genau wie die 1.x?! Das wäre toll  ???
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: MichaelT am 19 April 2016, 20:53:49
Zitat von: roman1528 am 08 April 2016, 09:05:03
Moin setstate,
...
Screensaver und Analogclock konnte ich auch schon erfolgreich umstellen :)
...
Grüße^^

Hallo Roman,
hast Du einen Tip für mich, wie ich diese Meldung weg bekomme?
Ich will auch jetzt auf 2.2 gehen.


myScreenSaver.js:1 Uncaught ReferenceError: $ is not defined(anonymous function) @ myScreenSaver.js:1



<div class="gridster">
<div id="screensaver">
  <ul>
...



Habe den Screensaver so bei mir definiert

$(document).on('ready', function() {
  if ($('#screensaver')) {
    $('#screensaver').hide();
    var mousetimeout;
    var screensaver_active = false;
    var idletime = 60;

    mousetimeout = setTimeout(function(){
            show_screensaver();
    }, 1000 * idletime);

    function show_screensaver(){
        $('#screensaver').fadeIn();
        screensaver_active = true;
    }

    function stop_screensaver(){
        $('#screensaver').fadeOut();
        screensaver_active = false;
    }
    var moveEventType=((document.ontouchmove!==null)?'mousemove':'touchmove');
    $(document).bind(moveEventType, function(e) {
        clearTimeout(mousetimeout);

        if (screensaver_active) {
            stop_screensaver();
        }

        mousetimeout = setTimeout(function(){
            show_screensaver();
        }, 1000 * idletime); // 5 secs
    });
  }
});


Danke Dir schon mal im Voraus.
Gruß Michael
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 20 April 2016, 01:47:14
@h3llsp4wn: ich habe jetzt anstatt des JQuery Ajax, Plain JS für das dynamische Laden eingebaut und leider musste ich für die Dependencies wieder auf synchrones Laden umstellen, damit die vorgegebene Reihenfolge der Files eingehalten bleibt. Jetzt klappt das Laden des Fullcalviews jederzeit.

@HoTi: Ich bereite was vor für das schnelle Update ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Stril am 20 April 2016, 08:11:03
Zitat von: setstate am 11 April 2016, 20:21:59
Das "activate" schaue ich mir an. Sollte machbar sein, wenn es nicht schon drin ist und nur noch nicht funktioniert.

Hallo!

Hast Du schon einmal über das "activate" drüber schauen können? Das ist bisher die einzige Funktion, die in der Beta fehlt, die mich daran hindert, sie einzusetzen.

Gruß
Phil
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 20 April 2016, 08:44:42
Sorry, activate ist in Vergessenheit geraten. Kommt umgehend ...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 20 April 2016, 09:28:39
Zitat von: setstate am 07 April 2016, 07:30:10
Das angepasste joinedlabel hängt jetzt hier dran. Es bedarf aber dazu die neuste Version vom fhem-tablet-ui.js und widget_label.js

Danke für deine Mühe! In der aktuelle fhem-tablet.ui.js Version hast du die globale Variable "dir" und alle darauf basierenden relativen Abhängigkeiten entfernt. Damit funktioniert's in einem Aufbau ausserhalb von fhem (Apache Installation) nicht mehr.

PS: Ich hab momentan leider kaum Zeit mich mit den Widgets zu befassen, von daher dauert's etwas länger bis ich reagiere und wahrscheinlich auch noch eine ganze Weile, bis mein Repository angepasst ist.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 20 April 2016, 09:36:27
Hallo nesges
Ich habe alles jetzt unter ftui.* gekapselt. Nicht das andere .js Files auch ähnliche globale Variablen benutzen.
Du musst also alle Nutzungen von "dir" in "ftui.config.dir" ändern.

Schade, dass du nicht mehr soviel Zeit für FTUI hast. War immer sehr kreativ und konstruktiv deine Mitwirkung...
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: nesges am 20 April 2016, 09:50:06
Zitat von: setstate am 20 April 2016, 09:36:27
Ich habe alles jetzt unter ftui.* gekapselt. Nicht das andere .js Files auch ähnliche globale Variablen benutzen.
Du musst also alle Nutzungen von "dir" in "ftui.config.dir" ändern.

Ahja, gute Idee :-) Dann müsste ein in der Funktion dynamicload  ergänztes

url = ftui.config.dir + '/../' + url;

das wieder herstellen. Bei mir funktioniert's, in einer Fhem-Installation hab ich's nicht getestet.

ZitatSchade, dass du nicht mehr soviel Zeit für FTUI hast. War immer sehr kreativ und konstruktiv deine Mitwirkung...

Danke! Mir fehlt's auch, mal sehen wann's wieder richtig weiter geht.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 20 April 2016, 10:15:22
@setstate:

Ich hatte mal mit der Lösung von dieser Seite experimentiert:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement#Dynamically_importing_scripts

Allerdings wurden die Scripte alle gezogen, waren jedoch auch nicht "verfügbar" für die Ausführung. Ich habe auch Testweise die Situation über andere Webserver (Ngnix, Apache) laufen lassen,
allerdings trat auch hier der Fehler auf, so dass es wohl nicht der FHEM Webservice ist.

Wie ich gesehen habe, hast Du ja bereits alles umgestellt. Ich werde mir das dann heute noch mal anschauen - sollte dann ja jetzt wieder gehen. Ärgerlich, aber Danke für Deinen MEGA-Support!


Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 20 April 2016, 10:41:04
Deine vielen externe Skripte waren ein guter Stresstest. Unterschiedliche Dateigrößen, alle werden gleichzeitig angefordert. Da weiß man nicht, welches zuerst verfügbar wird. Zumal einige auch beim onload auch gleich aktiv werden und auf Ressourcen anderer Files zugreifen wollen. Das zwingt zur einer bestimmten Ladereihenfolge. Leider musste ich dafür auf Sync zurück, damit verliert man leider das parallele Downloaden.
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: h3llsp4wn am 20 April 2016, 16:23:37
Hab's eben auch bei mir getestet - läuft fehlerfrei. Ich habe auch noch die Update-Problematik gelöst und habe jetzt einen ersten runden Stand. Jetzt wird auch nur der geänderte Kalender aktualisiert. Fraglich ist, ob ich die erste Version jetzt hier in der Evaluierung posten soll oder lieber in einem sep. Thread. Wo hättest Du es gerne?
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: Luigi am 20 April 2016, 19:59:03
Hallo,

hat jemand das klimatrend-widget an die Version 2.2 angepasst?

Gruß
Luigi

Titel: Antw:Evaluierungsversion 2.1
Beitrag von: fhainz am 20 April 2016, 20:00:37
Hab ich hier im thread irgendwo angehängt. Die version für 2.1 funktioniert bei mir auch mit 2.2
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 April 2016, 20:18:06
Erster Post ist angepasst. Install jetzt per 'update' möglich

Install Eval-Version
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui.txt

Es wird der Ordner www/tablet_eval/ angelegt
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 20 April 2016, 20:26:07
Anbei mal eki's chart widget für die 2.2 (depends angepasst)

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 20 April 2016, 21:05:36
Das Update hat gut funktioniert, danke.
Nur fehlt das Clock Widget und das klimatrend Widget noch.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 April 2016, 21:24:39
Clock_widget ist am ersten Post attached, Klimatrend muss noch angepasst werden
Chart_widget ist bei Github aktuell dabei
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: HoTi am 21 April 2016, 07:11:47
Zitat von: setstate am 20 April 2016, 20:18:06
Erster Post ist angepasst. Install jetzt per 'update' möglich

Install Eval-Version
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui.txt

Es wird der Ordner www/tablet_eval/ angelegt

DANKE!!!!!!!!

*edit*

Mit update add zum normalen update hinzufügen geht leider nicht :-)

controls_fhemtabletui.txt is already present in https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 April 2016, 09:51:20
Ohhh nö! Ich hatte das File schon controls_fhemtabletui_eval.txt genannt, aber dann wieder zurück genommen. Werde ich ändern.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 10:02:35
Moin.

Ich habe mich jetzt auch mal wieder der Eval angenommen... 2.2 natürlich.

Habe allerdings Probleme bei der Umstellung der Widgets:

- Screensaver ("meins")
- Button (nesges)
- Analogclock (meins)
- klimatrend (nesges)

habe alles entsprechend der widget_example.js geändert... aber es läuft nichts! Bei Screensaver und Analogclock bin ich mir sicher! Diese holen keine Daten von FHEM.
Auch habe ich das mit den neuen Depencies beachtet.

Hast du einen Tipp worauf ich explizit achten muss?

Grüße^^

EDIT
wind_direction aus dem ersten thread läuft auch nicht! dabei schiebe ich es allerdings auf andere widgets die (noch) nicht laufen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 21 April 2016, 10:03:54
Klimatrend widget hängt hier im thread dran.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 10:08:26
Zitat von: fhainz am 21 April 2016, 10:03:54
Klimatrend widget hängt hier im thread dran.

Ähm... ich scheine blind geworden zu sein  :o

Wo?

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 21 April 2016, 10:09:56
Sry bin nur mit dem handy unterwegs. Aber bin mir ziemlich sicher das es irgendwo dranhängt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 10:11:14
Zitat von: fhainz am 21 April 2016, 10:09:56
Sry bin nur mit dem handy unterwegs. Aber bin mir ziemlich sicher das es irgendwo dranhängt.

Naja irgendwo ist gut... Sollte ja auch für die V2.2 passen  ;)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 21 April 2016, 10:12:51
Ich habs für 2.1 geändert, funktioniert auch mit 2.2
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 April 2016, 10:13:37
Ich kann ja mal die 3rd Party Widgtes mit in den Eval Branch werfen, damit man alles zusammen testen kann.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 10:18:53
Zitat von: setstate am 21 April 2016, 10:13:37
Ich kann ja mal die 3rd Party Widgtes mit in den Eval Branch werfen, damit man alles zusammen testen kann.

Das wäre natürlich eine sehr geile Aktion :)

Zitat von: fhainz am 21 April 2016, 10:12:51
Ich habs für 2.1 geändert, funktioniert auch mit 2.2

Ich mach mich mal auf die suche :)

Grüße^^ und Danke
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 21 April 2016, 10:36:42
Wie sieht die Kompatibilität mit pagetab aus. Ich habe alles auf pagetab umgestellt so das ich nur noch in einer Datei den HEAD habe. Läuft das weiterhin so?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 10:56:29
Zitat von: CoolTux am 21 April 2016, 10:36:42
Wie sieht die Kompatibilität mit pagetab aus. Ich habe alles auf pagetab umgestellt so das ich nur noch in einer Datei den HEAD habe. Läuft das weiterhin so?

Ja definitiv. Pagetab läuft bei mir 1A.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 21 April 2016, 10:56:48
Daaaaanke
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 21 April 2016, 11:18:22
Soho...

Also Meine Analogclock und mein Screensaver laufen wieder.

für:
button
klimatrend (läuft bei mir nicht!)
wind_direction

bin ich zu blöd

wind_direction läuft definitiv auch nicht. Habe es kurzzeitig zum laufen bekommen, allerdings macht es dann beim laden der Seite ein:

set <data-device> NaN

Warum auch immer....

klimatrend wird stumpf nicht angezeigt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 21 April 2016, 11:46:22
super schnell test hat ergeben

Transparenter Hintergrund ging nicht.
Die Gridsterelemente waren nicht umrandet oder besser gesagt keine lücken zu sehen


Abe rdafür sau schneller Aufbau    ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 21 April 2016, 19:01:52
Zitat von: setstate am 21 April 2016, 10:13:37
Ich kann ja mal die 3rd Party Widgtes mit in den Eval Branch werfen, damit man alles zusammen testen kann.
Das wäre super!

BTW: Darf ich dich nach deiner Meinung zu meinen PR (https://github.com/knowthelist/fhem-tablet-ui/pull/143) fragen? :)


Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 21 April 2016, 19:05:02
Zitat von: roman1528 am 21 April 2016, 11:18:22
klimatrend wird stumpf nicht angezeigt.
Komisch. Ich hatte weder bei 2.1 noch bei 2.2 Probleme. Hast du diese Version hier? https://forum.fhem.de/index.php/topic,50945.msg434018.html#msg434018
Cache hast du sicherlich geleert, oder?


Sry, mein Fehler!  :(
Ich hab da nochmal was geändert und komplett darauf vergessen. Diese Version sollte funktionieren.

Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 21 April 2016, 19:58:03
Kurze Rückmeldung,

habe seit vorgestern die Version 2.2 bei mir am laufen.
Bisher ohne Probleme.

Mein Problem mit dem sreensaver war ein fehlendes defer im script-Tag.

Danke setstate für deine enormen zeitlichen Investitionen in das FTUI.

Gruß
Michael
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 April 2016, 21:38:46
Update ist oben:
- pagebutton hat jetzt die 'activate' Möglichkeit wie beim Pagetab
- einige angepasste 3rd Party widgets sind mit dabei
- update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui_eval.txt
- Demoseite mit link_widget als Tab -> index_tab_demo.html
Titel: Antw:Evaluierungsversion 2.1
Beitrag von: setstate am 21 April 2016, 21:50:21
Zitat von: nesges am 20 April 2016, 09:50:06
Dann müsste ein in der Funktion dynamicload  ergänztes

url = ftui.config.dir + '/../' + url;

das wieder herstellen. Bei mir funktioniert's, in einer Fhem-Installation hab ich's nicht getestet.

Ich gebe die Pfade jetzt immer relative an.

   
    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>


Wir da das ftui.config.dir wirklich noch gebraucht?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Stril am 22 April 2016, 08:00:49
Hallo!

Der automatische Wechsel bei Pagebutton hat im Test funktioniert.
Hat schon jemand "multistatebutton" in Angriff genommen?

Sonst habe ich kosmetisch nur noch weiter das Problem, dass bei "Menü oben" die Inhalte darunter ein paar Pixel "eingerückt" sind. Liegt das am "Gridster in Gridster"? Feste Positionen habe ich festgelegt.

Danke und Gruß
Phil
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 09:22:14
So nun konnte ich doch noch sauber umstellen. Aber es bleibt ein Fehler bein winddirection Widget


widget_wind_direction.js:136 Uncaught ReferenceError: Modul_volume is not definedModul_wind_direction @ widget_wind_direction.js:136(anonymous function) @ fhem-tablet-ui.js:687j @ jquery.min.js:2k.add @ jquery.min.js:2d.always @ jquery.min.js:2(anonymous function) @ fhem-tablet-ui.js:686j @ jquery.min.js:2k.fireWith @ jquery.min.js:2e.(anonymous function) @ jquery.min.js:2script.onload @ fhem-tablet-ui.js:735
fhem-tablet-ui.js:339 get jsonlist2: 4231.493ms


Vielleicht kann sich das mal einer anschauen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 09:25:52
Verwendet hier jemand das Widget settimer von Nesges. Da habe ich noch keine funktionierende Version finden können.

@Nesges
Bist Du bitte so nett und schaust mal. Du weisst ja ich brauche den settimer   :D



Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 10:16:06
Noch mal zu winddirection Widget.

Ist der Eintrag im js korrekt?


function depends_direction (){
    if(typeof Modul_volume == 'undefined')
        return ["volume"];
};
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 10:38:50
Zitat von: CoolTux am 22 April 2016, 10:16:06
Noch mal zu winddirection Widget.

Ist der Eintrag im js korrekt?


function depends_direction (){
    if(typeof Modul_volume == 'undefined')
        return ["volume"];
};


Am wind_direction-Widget bin ich dran...

Es wird mir auch schon angezeigt... allerdings wird beim laden ein "set DEVICE NaN" ausgeführt... wird denke ich ein Problem beim laden des "volume-Widgets" sein... Habe es leider noch nicht raus bekommen weil ich parallel die Analogclock umbaue damit man sie mehrfach einbinden kann.
Ich vermute, dass man nicht das Volume-Widget laden muss sondern die Mutter.... Das Knob-script...

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 10:40:27
Zitat von: roman1528 am 22 April 2016, 10:38:50
Am wind_direction-Widget bin ich dran...

Es wird mir auch schon angezeigt... allerdings wird beim laden ein "set DEVICE NaN" ausgeführt... wird denke ich ein Problem beim laden des "volume-Widgets" sein... Habe es leider noch nicht raus bekommen weil ich parallel die Analogclock umbaue damit man sie mehrfach einbinden kann.
Ich vermute, dass man nicht das Volume-Widget laden muss sondern die Mutter.... Das Knob-script...

Grüße^^

Na dann warte ich einfach mal ob. So wichtig ist das Teil nicht. Viel wichtiger wäre das settimer Widget. Dann verwende ich nämlich jeden Tag   :'(
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 22 April 2016, 11:03:07
Hallo,
Ich habe mir gerade die 2.2 zum erneuten testen installiert. Ich hatte gestern Abend bereits eine funktionierende Version, die nun das selbe Verhalten aufweist. Daher die erneute Testinstallation.

Ich habe das Problem, dass die Kommunikation nur von ftui nach fhem funktioniert. D.h. ich kann den testdummy in ftui schalten und der Status wird korrekt in fhem gesetzt. Ändere ich den dummy aber in fhem, findet keine Aktualisierung von ftui statt. healthCheck liefert das folgende (die fetten Zeilen kommen mir komisch vor):

--------- start healthCheck --------------
fhem-tablet-ui.js:746 now: Fri Apr 22 2016 10:54:20 GMT+0200 (CEST)
fhem-tablet-ui.js:747 FTUI version: 2.2.0
fhem-tablet-ui.js:748 Longpoll: true
fhem-tablet-ui.js:749 Longpoll objects there: false
fhem-tablet-ui.js:750 Longpoll curent line: 0
fhem-tablet-ui.js:751 Longpoll last event before: 16913 Tag(e) 8 Stunde(n) 54 Minute(n) 21 Sekunde(n)
fhem-tablet-ui.js:752 Shortpoll interval: 30
fhem-tablet-ui.js:753 Shortpoll last run before: 16913 Tag(e) 9 Stunde(n) 54 Minute(n) 21 Sekunde(n)
fhem-tablet-ui.js:754 FHEM dev/par count: 0
fhem-tablet-ui.js:755 Page length: 11551
fhem-tablet-ui.js:756 Widgets count: 11
fhem-tablet-ui.js:757
--------- end healthCheck ---------------


Was kann das sein?
Grüße,
Matthias
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 11:27:27
Widget_winddirection ist doch im eval Branch in der 2.2er Version dabei. Geht das nicht?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 11:31:29
Zitat von: setstate am 22 April 2016, 11:27:27
Widget_winddirection ist doch im eval Branch in der 2.2er Version dabei. Geht das nicht?

Nein leider nicht. Genau das habe ich ja.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 22 April 2016, 11:51:47
@setstate:
Anbei die fertige Version mit sauberem Update vom fullcalview. Für's 3rd party repo.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 12:00:06
Zitat von: setstate am 22 April 2016, 11:27:27
Widget_winddirection ist doch im eval Branch in der 2.2er Version dabei. Geht das nicht?

nein geht nicht.. sagte ich aber auch schon vor einigen beiträgen :))
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 22 April 2016, 12:14:06
Hallo zusammen,

ich habe die Version für die Wind Direction bei mir laufen. Ich denke das ist ein Fehler im depends gewesen (direction vs. wind_direction).


Cheers,

h3ll
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 12:29:06
Tatsächlich. Habe es gerade im Code geändert. Läuft. Aber ich bekomme ne Meldung von wegen set DEVICE NaN
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 12:32:19
Zitat von: CoolTux am 22 April 2016, 12:29:06
Tatsächlich. Habe es gerade im Code geändert. Läuft. Aber ich bekomme ne Meldung von wegen set DEVICE NaN
Zitat von: h3llsp4wn am 22 April 2016, 12:14:06
Hallo zusammen,

ich habe die Version für die Wind Direction bei mir laufen. Ich denke das ist ein Fehler im depends gewesen (direction vs. wind_direction).


Cheers,

h3ll

Genau das was ich sagte... ich bin doch nicht doof  :P

so geändert hatte ich das auch und so ans "anzeigen" bekommen... aber der toast "set DEVICE NaN" gehört da definitiv nicht hin!!!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 12:39:47
Genau das wdtimer-Widget

depends_level -> dpends_wdtimer

allerdings bekomme ich dann:


ReferenceError: Switchery is not defined
http://192.168.1.5:8083/fhem/tablet_eval/js/widget_wdtimer.js
Line 361
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 13:43:36
okay, wind_direction habe ich bei mir gefixed. Es muss readonly gesetzt werden und die function onRelease muss leer überschrieben werden, wir wollen ja nix senden
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 13:54:13
Zitat von: setstate am 22 April 2016, 13:43:36
okay, wind_direction habe ich bei mir gefixed. Es muss readonly gesetzt werden und die function onRelease muss leer überschrieben werden, wir wollen ja nix senden

Und da waren sie wieder meine drei Probleme. Kann mir das mal einer übersetzen bitte  ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 14:00:10
Zitat von: CoolTux am 22 April 2016, 13:54:13
Und da waren sie wieder meine drei Probleme. Kann mir das mal einer übersetzen bitte  ;D

Sorry, ich wollte mich nur schnell melden, dass es eine Lösung gibt, die es bald gesammelt als update gibt. Nicht dass ihr unnötig weitersucht ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 22 April 2016, 14:02:39
Ich danke Dir.
Dann harren wir der Dinge die da kommen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 22 April 2016, 16:00:16
Ich hoffe ich habe die Lösung für folgendes Problem nicht übersehen...

Mit Pagebutton kann man in der Content-Page wiederum ein neues Gridster definieren, wodurch man bestehende data-templates prima nutzen kann.
Das kappt soweit ganz gut, allerdings sind die Gridster-Elemente dann noch etwas eingerückt (s. Screenshot). Zur besseren Sichtbarkeit habe ich die Hintergrundfarbe der Content-Page temporär mit hellgrau definiert.

Das Einrücken lässt sich sicherlich übers CSS abstellen, nur wie?

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 16:19:16
Zitat von: StefanD am 22 April 2016, 16:00:16
Ich hoffe ich habe die Lösung für folgendes Problem nicht übersehen...

Mit Pagebutton kann man in der Content-Page wiederum ein neues Gridster definieren, wodurch man bestehende data-templates prima nutzen kann.
Das kappt soweit ganz gut, allerdings sind die Gridster-Elemente dann noch etwas eingerückt (s. Screenshot). Zur besseren Sichtbarkeit habe ich die Hintergrundfarbe der Content-Page temporär mit hellgrau definiert.

Das Einrücken lässt sich sicherlich übers CSS abstellen, nur wie?

VG Stefan

die content-page nicht in ein gridster laden.. sondern nur in ein einfaches <div>
in der content-page selber wie gewohnt die gridster-elemente verwenden...

sollte funktionieren

Grüße^^

main-page

<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
                <div data-type="pagebutton" data-url="#page_content1.html" data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content1.html" data-icon="fa-home" class="default top-space"></div>
                <div data-type="pagebutton" data-url="#page_content2.html" data-load="#content2" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content2.html" data-icon="fa-music" class="prefetch top-space"></div>
                <div data-type="pagebutton" data-url="#page_content3.html" data-load="#content3" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_content3.html" data-device="ftuitest" data-states='["0","1"]' data-icons='["fa-sliders","fa-sliders activate"]' class="prefetch top-space"></div>
            </li>
        </ul>
    </div>
   <div>
                <div class="page" id="content1"></div>
                <div class="page" id="content2"></div>
                <div class="page" id="content3"></div>
   </div>
</body>


content-page

<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="2" data-sizex="6" data-sizey="5">
....WIDGETS.....
            </li>
            <li data-row="2" data-col="2" data-sizex="6" data-sizey="2">
....WIDETS.....
            </li>
        </ul>
    </div>
</body>


ggf. mit css klassen (class="") rumexperimentieren damit die "einfachen" div's neben das gridster-div geladen werden (inline)

ALLES UNGETESTET!!!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 16:36:59
Gridster im Gridster wird notwendig, wenn die Menu-Leiste oben sein soll. Irgendwo hier im Forum gab es das Thema schon und auch eine Lösung für die zusätzlichen Ränder.

suche ich mal ...

Hier :
https://forum.fhem.de/index.php/topic,50945.msg434293.html#msg434293

Lösung:
https://forum.fhem.de/index.php/topic,50945.msg434340.html#msg434340

home.html
<div class="gridster" style="margin:-5px 0 0 -5px;">

könnte ich ja auch gleich in die CSS einbauen, wenn ich eine passenden CSS Selector finde, der diesen Gridster in Gridster Fall beschreibt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 22 April 2016, 16:49:58
Wenn ich die <div>s außerhalb des Gidsters habe, wird die Content-Page unter dem Gridster-Layout angzeigt (s. Screenshot).  >:(

also so:
<body>
<div class="gridster">
<ul>
<!-- ========= Linkes-Hauptmenü =========== -->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="7">
<header>Navigation</header>
<div
data-type="pagebutton"
data-url="#content_index.html"
data-load="#content_index"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_index.html"
data-icon="fa-home"
class="default top-space"></div>
<div
data-type="pagebutton"
data-url="#content_heating.html"
data-load="#content_heating"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_heating.html"
data-icon="fa-fire"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_weather.html"
data-load="#content_weather"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_weather.html"
data-icon="fa-cloud"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_info.html"
data-load="#content_info"
data-off-background-color="AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_info.html"
data-icon="fa-info"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_test.html"
data-load="#content_test"
data-off-background-color="AA6900"
data-off-color="yellow"
data-on-background-color="#AA6900"
data-on-color="red"
data-active-pattern=".*#content_test.html"
data-icon="fa-info"
class="top-space"></div>
</li>

<!-- ========= variable content ============ -->
<!--
<li data-row="1" data-col="2" data-sizex="13" data-sizey="7">
</li>
-->
</ul>
</div>
<div class="page" id="content_index"></div>
<div class="page" id="content_heating"></div>
<div class="page" id="content_weather"></div>
<div class="page" id="content_info"></div>
<div class="page" id="content_test" style="background-color: #CCCCCC;"></div>
</body>


Die dazugehörige Content-Page sieht so aus:
<!DOCTYPE html>
<html>
<title>content_test</title>
<head></head>
<body>
<div class="page" id="content_test">
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<header>Uhr</header>
<div data-type="clock" data-format="H:i" style="color:#AA6900" class="bigger darker"></div>
<div data-type="clock" data-format="D, d. M Y" shortday-length="2" class="darker"></div>
</li>
<li data-row="1" data-col="3" data-sizex="4" data-sizey="1" data-template="inc_tempoutside.html"></li>
</ul>
</div>
</div>
</body>
</html>


Die 2.2er Version habe ich heute Nachmittag erst komplett neu gezogen, "Altlasten" sind somit ausgeschlossen. Zugegriffen wird über http://fhem.fritz.box:8083/fhem/tablet_eval/index.html#content_test.html, sprich ohne weitere Zwischenkomponenten, wie Nginx, Apache, etc.

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 17:02:46
Aber in deiner Content Page vergibst du wieder data-col="1", das besetzt doch schon das menü.

Wie beim Grundgesetz der Physik: "Wo ein Körper ist, kann ..."  ;D

Dann muss der Content nach unten rutschen, weil er ganz nach links soll

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 22 April 2016, 17:07:39
Hi zusammen,

bin stiller Mitleser und erst noch gaaaanz am Anfang von FHEM und FTUI  ;D.... hätte aber eine Frage:
Muss in den Contentseiten ebenfalls <html>, <head> etc .... definiert sein??
oder reicht nur der reine Content, da es ja eigentlich in die index geladen wird?

Zitat von: StefanD am 22 April 2016, 16:49:58
[...]
Die dazugehörige Content-Page sieht so aus:
<!DOCTYPE html>
<html>
<title>content_test</title>
<head></head>
<body>
<div class="page" id="content_test">
[...]
</div>
</body>
</html>


[...]

Btw....großen Respekt an die Entwickler hier, vor allem an setstate für die große Mühe mit FTUI!!!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 17:14:21
na dann, herzlich willkommen ... und Danke

Das kannst du machen, wie du willst, es wird eh nur der Teil der Seite entnommen und kein Script oder ähnliches gestartet. Ich würde die Seite so klein wie möglich halten, wegen Ladezeit vom Server. Zu Testzwecken (Standalone) kann man aber auch eine vollwertige FTUI Seite drausmachen.

siehe hier: http://api.jquery.com/load/

unter "Loading Page Fragments"
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 22 April 2016, 17:28:52
Zitat von: StefanD am 22 April 2016, 16:49:58
Wenn ich die <div>s außerhalb des Gidsters habe, wird die Content-Page unter dem Gridster-Layout angzeigt (s. Screenshot).  >:(

also so:
<body>
<div class="gridster">
<ul>
<!-- ========= Linkes-Hauptmenü =========== -->
<li data-row="1" data-col="1" data-sizex="1" data-sizey="7">
<header>Navigation</header>
<div
data-type="pagebutton"
data-url="#content_index.html"
data-load="#content_index"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_index.html"
data-icon="fa-home"
class="default top-space"></div>
<div
data-type="pagebutton"
data-url="#content_heating.html"
data-load="#content_heating"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_heating.html"
data-icon="fa-fire"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_weather.html"
data-load="#content_weather"
data-off-background-color="#AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_weather.html"
data-icon="fa-cloud"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_info.html"
data-load="#content_info"
data-off-background-color="AA6900"
data-off-color="#2A2A2A"
data-on-background-color="#AA6900"
data-on-color="#CCCCCC"
data-active-pattern=".*#content_info.html"
data-icon="fa-info"
class="top-space"></div>
<div
data-type="pagebutton"
data-url="#content_test.html"
data-load="#content_test"
data-off-background-color="AA6900"
data-off-color="yellow"
data-on-background-color="#AA6900"
data-on-color="red"
data-active-pattern=".*#content_test.html"
data-icon="fa-info"
class="top-space"></div>
</li>

<!-- ========= variable content ============ -->
<!--
<li data-row="1" data-col="2" data-sizex="13" data-sizey="7">
</li>
-->
</ul>
</div>
<div class="page" id="content_index"></div>
<div class="page" id="content_heating"></div>
<div class="page" id="content_weather"></div>
<div class="page" id="content_info"></div>
<div class="page" id="content_test" style="background-color: #CCCCCC;"></div>
</body>


Die dazugehörige Content-Page sieht so aus:
<!DOCTYPE html>
<html>
<title>content_test</title>
<head></head>
<body>
<div class="page" id="content_test">
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<header>Uhr</header>
<div data-type="clock" data-format="H:i" style="color:#AA6900" class="bigger darker"></div>
<div data-type="clock" data-format="D, d. M Y" shortday-length="2" class="darker"></div>
</li>
<li data-row="1" data-col="3" data-sizex="4" data-sizey="1" data-template="inc_tempoutside.html"></li>
</ul>
</div>
</div>
</body>
</html>


Die 2.2er Version habe ich heute Nachmittag erst komplett neu gezogen, "Altlasten" sind somit ausgeschlossen. Zugegriffen wird über http://fhem.fritz.box:8083/fhem/tablet_eval/index.html#content_test.html, sprich ohne weitere Zwischenkomponenten, wie Nginx, Apache, etc.

VG Stefan

ich sagte ja... ggf. mit css-klassen experimentieren.


<div class=" gridster inline">
.....
</div>
<div class="inline">
<div content.....></div>
</div>


wobei das wahrschienlich auch in die hose gehen wird... weil bei inline irendwie alles am unteren rand ausgerichtet wird...

versuch das mit
<div class="gridster" style="margin:-5px 0 0 -5px;">
in den content-seiten
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 22 April 2016, 17:33:19
Zitat von: setstate am 22 April 2016, 17:02:46
Aber in deiner Content Page vergibst du wieder data-col="1", das besetzt doch schon das menü.

Wie beim Grundgesetz der Physik: "Wo ein Körper ist, kann ..."  ;D

Dann muss der Content nach unten rutschen, weil er ganz nach links soll

Hajanaja, hängt immer davon ab, wie's für die Darstellung interprediert wird.  ::)

Lasse ich die <div>s fürn Content außerhalb von <ul> verschieben sich die Gridster Element zwar in Spalte 2, dennoch bleibt der Content unter dem Menü. Ich tippe mal drauf, dass diese Art nur dann funktioniert, wenn man das Menü ganz oben horizontal aufbaut.

Packt man die <div>s aber ohne <li> in <ul>, sieht's schon besser aus. Dann ist die Einrückung umlaufend, mit der man layouttechnisch besser leben kann, auch wenn dadurch ein paar Pixel "verschwendet" werden. Die Gretchenfrage ist nur, bleibt dieses Verhalten in der Zukunft gleich, nicht dass sich mal nach einem Update die Gridster-Elemente überlagern...  :o

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 22 April 2016, 17:37:29
Hallo!

Bezüglich des Problem mit dem CSS und content page. Mittlerweile sieht das bei mir so aus:

index.html

<body>
  <div class="gridster">
    <ul>
      <li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
        <header>Uhrzeit</header>
        <div data-type="clock" data-format="H:i" class="container bigger"></div>
        <div data-type="clock" data-format="d-m-Y" class="cell"></div>
      </li>
      <li data-row="2" data-col="2" data-sizex="6" data-sizey="6" class="content">
<div class="page" id="contentHome"></div>
      </li>
    </ul>
  </div>


home.html
<!DOCTYPE html>
<html>
<title>FHEM</title>
<head>
</head>
<body>
  <div class="page" id="contentHome">
    <div class="gridster content">
      <ul>
      <li data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
      </ul>
    </div>
  </div>
</body>


css:

/*
* Gridster mit Pagebutton und dataLoad
*/
li.content {
background-color: #000000 !important;
}

div.gridster.content {
margin:-5px 0 0 -5px !important;
}


Funktioniert bei mir wunderbar.

Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 22 April 2016, 17:38:04
Zitat von: roman1528 am 22 April 2016, 17:28:52
ich sagte ja... ggf. mit css-klassen experimentieren.
wobei das wahrschienlich auch in die hose gehen wird... weil bei inline irendwie alles am unteren rand ausgerichtet wird...

...und genau da wird's bei mir dünn, blitzdünn...  :(

Zitat von: roman1528 am 22 April 2016, 17:28:52
versuch das mit
<div class="gridster" style="margin:-5px 0 0 -5px;">
in den content-seiten

Bingo! Damit funzt's!  8)
Das muss an das Gridster-Element in der Content-Page.

Besten Dank!

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 April 2016, 20:35:46
Zitat von: matzemoerk am 22 April 2016, 11:03:07
Hallo,
Ich habe mir gerade die 2.2 zum erneuten testen installiert. Ich hatte gestern Abend bereits eine funktionierende Version, die nun das selbe Verhalten aufweist. Daher die erneute Testinstallation.

Ich habe das Problem, dass die Kommunikation nur von ftui nach fhem funktioniert. D.h. ich kann den testdummy in ftui schalten und der Status wird korrekt in fhem gesetzt. Ändere ich den dummy aber in fhem, findet keine Aktualisierung von ftui statt. healthCheck liefert das folgende (die fetten Zeilen kommen mir komisch vor):

--------- start healthCheck --------------
fhem-tablet-ui.js:746 now: Fri Apr 22 2016 10:54:20 GMT+0200 (CEST)
fhem-tablet-ui.js:747 FTUI version: 2.2.0
fhem-tablet-ui.js:748 Longpoll: true
fhem-tablet-ui.js:749 Longpoll objects there: false
fhem-tablet-ui.js:750 Longpoll curent line: 0
fhem-tablet-ui.js:751 Longpoll last event before: 16913 Tag(e) 8 Stunde(n) 54 Minute(n) 21 Sekunde(n)
fhem-tablet-ui.js:752 Shortpoll interval: 30
fhem-tablet-ui.js:753 Shortpoll last run before: 16913 Tag(e) 9 Stunde(n) 54 Minute(n) 21 Sekunde(n)
fhem-tablet-ui.js:754 FHEM dev/par count: 0
fhem-tablet-ui.js:755 Page length: 11551
fhem-tablet-ui.js:756 Widgets count: 11
fhem-tablet-ui.js:757
--------- end healthCheck ---------------


Was kann das sein?
Grüße,
Matthias

Das verrät uns doch schon mal einiges. Update funktioniert nicht.  ;)
Du erreichst FHEM nicht mit deiner Konfig.

Was sagen die ersten Debug-Zeilen?

ZitatPlugin dir: js
Filename: index.html
FHEM dir: /fhem/

/fhem/

So müsste bei der URL: http://<IP>:<PORT>/fhem/ dein FHEM erreichbar sein

Dann kannst du testen, ob bei dieser URL Daten abgerufen werden können.

http://<IP>:<PORT>/fhem/?cmd=jsonlist2&XHR=1


Ob die Datenübertragung klappt, kann man im Browser > Entwicklertools > Netzwerkanalyse. Dort siehst du, welche URL für Shortpoll und Longpoll aufgerufen wird, mit dem Connectionstatus. Er muss grün sein und Status 200 zeigen. Ansonsten fragst du falsch ab.

Wenn /fhem/ bei dir nicht passt, kann man auch in der index.html etwas anderes vorgeben: <meta name="fhemweb_url" content="/andererPfad/">
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: hermann1514 am 22 April 2016, 20:51:29
Hi...

bekomme das CHART Widget nicht zum laufen. Es kommt nur der Header vom DIV Object. Habe vom GIT die widget_chart genommen.

Hier mal der Code:
<li data-row="1" data-col="1" data-sizex="6" data-sizey="3">
  <header>Temperatur Schlafzimmer</header>
    <div class="normal"
         data-type="chart"
         data-device="MAX_00ddd2"
         data-logdevice='["logdb","logdb","logdb"]'
        data-logfile='["HISTORY","HISTORY","HISTORY"]'
         data-columnspec='["MAX_00ddd2:temperature","MAX_00ddd2:desiredTemperature","MAX_00ddd2:valveposition"]'
         data-style='["ftui l0fill","ftui l0dot","ftui l2dash"]'
         data-ptype='["lines","lines","lines"]'
         data-uaxis='["primary","primary","secondary"]'
         data-legend='["Measured", "Desired", "Valve"]'
         data-yunit="°C"
         data-ytext="Temperature"
         data-minvalue="auto"
         data-maxvalue="auto"
         data-yunit_sec="%"
         data-ytext_sec="Percentage"
         data-yticks="auto"
         data-minvalue_sec="0"
         data-maxvalue_sec="100"
         data-daysago_start="0"
         data-daysago_end="-1"
         data-crosshair="true"
         data-cursorgroup="1"
         data-scrollgroup="1"
         data-showlegend="true"
         data-xticks="auto">
    </div>
</li>


Habe auch schon eine Minimal Version genommen. Geht auch nicht.
Hat jemand eine Idee?

Gruß
Hermann
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 22 April 2016, 21:58:44
Zitat von: setstate am 22 April 2016, 20:35:46
Ob die Datenübertragung klappt, kann man im Browser > Entwicklertools > Netzwerkanalyse. Dort siehst du, welche URL für Shortpoll und Longpoll aufgerufen wird, mit dem Connectionstatus. Er muss grün sein und Status 200 zeigen. Ansonsten fragst du falsch ab.

Der Connectionstatus scheint OK zu sein.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: guna83 am 23 April 2016, 09:08:56
Hallo,

habe dasselbe Problem wie Hermann. Liegt es vielleicht am DbLog? Ich nutze auch DbLog und es funktioniert nicht.

<div data-type="chart"
             data-device="Umwelt.Feuchte.Schlafen"
             data-logdevice=["logdb","logdb","logdb","logdb"]
             data-logfile="HISTORY"
             data-columnspec='["Umwelt.Feuchte.Schlafen:state","Umwelt.Feuchte.Wohnen:state","Umwelt.Co2.Schlafen:state","Umwelt.Co2.Wohnen:state"]'
             data-legend='["Schlafen Feuchte","Wohnen Feuchte","Schlafen Co2","Wohnen Co2"]'
             data-style='["ftui l2dash","ftui l3dash","ftui l2dash","ftui l3dash"]'
             data-title="Hausklima"></div>


Selbiger Code tut unter der "alten" 1.x Tablet UI. Keine Fehlermeldungen in der Console bei Tablet UI 2.2

Viele Grüße
Andrea
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 23 April 2016, 09:17:03
Liegt vermutlich nicht an DBLog. Die Aktuelle Version von widget_chart aus dem eval branch funktioniert bei mir auch nicht.
Eine funktionierende Version unter 2.2 ist diese hier. Ich kann nicht genau sagen aus welchem Thread ich sie habe. Hab zwar danach gesucht, aber sie nicht gefunden :D

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 10:15:08
Danke fhainz, ich sehe mir die Version an und lade sie hoch.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 23 April 2016, 10:17:55
@setstate

Hast du dir schon Gedanken über meinem PR gemacht? https://github.com/knowthelist/fhem-tablet-ui/pull/143
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 10:48:54
Sorry, übersehen bzw. wieder vergessen. Ich merge das gerne rein.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 23 April 2016, 10:50:21
Danke!  :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 11:53:53
Ich kämpfe mit der 2.2er noch damit, dass mir, im Gegensatz zur v1.*, keine Daten angezeigt werden. U.a. beim Label. Manchmal geht's, dann werden zuverlässig veraltete Daten angezeigt.

Debug habe ich auf 2 gesetzt und in der Console folgende Ausgabe:
Plugin dir: js
fhem-tablet-ui.js:883 Filename: test.html
fhem-tablet-ui.js:883 FHEM dir: /fhem/
fhem-tablet-ui.js:225 initPage - area=
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:883 count of templates:
fhem-tablet-ui.js:883 Load widget : label
fhem-tablet-ui.js:883 Create widget : label
fhem-tablet-ui.js:883 function depends_label not found
fhem-tablet-ui.js:883 init widget: label
fhem-tablet-ui.js:883 Loaded plugin: label
fhem-tablet-ui.js:883 initWidgets - Done
fhem-tablet-ui.js:287 initPage: 64.909ms
fhem-tablet-ui.js:883 start shortpoll in (ms):2500
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:745 --------- start healthCheck --------------
fhem-tablet-ui.js:746 now: Sat Apr 23 2016 11:48:14 GMT+0200 (W. Europe Daylight Time)
fhem-tablet-ui.js:747 FTUI version: 2.2.0
fhem-tablet-ui.js:748 Longpoll: true
fhem-tablet-ui.js:749 Longpoll objects there: false
fhem-tablet-ui.js:750 Longpoll curent line: 0
fhem-tablet-ui.js:751 Longpoll last event before: 16914 day(s) 9 hour(s) 48 minute(s) 14 second(s)
fhem-tablet-ui.js:752 Shortpoll interval: 30
fhem-tablet-ui.js:753 Shortpoll last run before: 16914 day(s) 10 hour(s) 48 minute(s) 14 second(s)
fhem-tablet-ui.js:754 FHEM dev/par count: 0
fhem-tablet-ui.js:755 Page length: 6403
fhem-tablet-ui.js:756 Widgets count: 2
fhem-tablet-ui.js:757 --------- end healthCheck ---------------
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:745 --------- start healthCheck --------------
fhem-tablet-ui.js:746 now: Sat Apr 23 2016 11:49:14 GMT+0200 (W. Europe Daylight Time)
fhem-tablet-ui.js:747 FTUI version: 2.2.0
fhem-tablet-ui.js:748 Longpoll: true
fhem-tablet-ui.js:749 Longpoll objects there: false
fhem-tablet-ui.js:750 Longpoll curent line: 0
fhem-tablet-ui.js:751 Longpoll last event before: 16914 day(s) 9 hour(s) 49 minute(s) 14 second(s)
fhem-tablet-ui.js:752 Shortpoll interval: 30
fhem-tablet-ui.js:753 Shortpoll last run before: 16914 day(s) 10 hour(s) 49 minute(s) 14 second(s)
fhem-tablet-ui.js:754 FHEM dev/par count: 0
fhem-tablet-ui.js:755 Page length: 6403
fhem-tablet-ui.js:756 Widgets count: 2
fhem-tablet-ui.js:757 --------- end healthCheck ---------------
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:745 --------- start healthCheck --------------
fhem-tablet-ui.js:746 now: Sat Apr 23 2016 11:50:14 GMT+0200 (W. Europe Daylight Time)
fhem-tablet-ui.js:747 FTUI version: 2.2.0
fhem-tablet-ui.js:748 Longpoll: true
fhem-tablet-ui.js:749 Longpoll objects there: false
fhem-tablet-ui.js:750 Longpoll curent line: 0
fhem-tablet-ui.js:751 Longpoll last event before: 16914 day(s) 9 hour(s) 50 minute(s) 14 second(s)
fhem-tablet-ui.js:752 Shortpoll interval: 30
fhem-tablet-ui.js:753 Shortpoll last run before: 16914 day(s) 10 hour(s) 50 minute(s) 14 second(s)
fhem-tablet-ui.js:754 FHEM dev/par count: 0
fhem-tablet-ui.js:755 Page length: 6403
fhem-tablet-ui.js:756 Widgets count: 2
fhem-tablet-ui.js:757 --------- end healthCheck ---------------
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000
fhem-tablet-ui.js:883 start shortpoll
fhem-tablet-ui.js:883 start shortpoll in (ms):30000


Etwas stutzig macht mich dabei die Ausgabe fhem-tablet-ui.js:883 function depends_label not found.

Die dazugehörige Testseite sieht so aus:
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.2
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
   <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<!--
   <meta name="widget_base_width" content="74">
   <meta name="widget_base_height" content="71">
-->
<meta name="widget_base_width" content="80">
<meta name="widget_base_height" content="102">
    <meta name="widget_min_cols" content="13">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1">
    <meta name="debug" content="2">
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- 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="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <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-eval-static-test</title>

<link rel="stylesheet" href="lib/openautomation.css" />
<link rel="stylesheet" href="lib/fhemSVG.css" />
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="7" data-sizey="4">
<header>Test</header>
<div data-type="label"
data-device="wtr_PROPLANTA"></div>

<div data-type="label"
data-device="kg_hr_Heizkreis_VL_RL_T1"
data-limits='[40,0,48]'
data-colors='["#6699FF","#AA6900","#FF0000"]'
data-part="2" 
data-unit="%B0C%0A"
class="cell bigger narrow"></div>

</li>
</ul>
</div>
</body>
</html>


VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 12:02:10
Zitat von: StefanD am 23 April 2016, 11:53:53
Ich kämpfe mit der 2.2er noch damit, dass mir, im Gegensatz zur v1.*, keine Daten angezeigt werden. U.a. beim Label. Manchmal geht's, dann werden zuverlässig veraltete Daten angezeigt.

Ich habe die selben Probleme und konnte sie bis jetzt leider nicht lösen.
Grüße,
Matthias
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 12:25:13
Mmmm, ich baue noch eine Fehler Ausgabe für die getjsonlist Abfrage ein, das hätte ich schon eher machen müssen. Ihr könnt auch in der Zwischenzeit in den Entwicklertools > Netzwerk Analyse bei der entsprechenden Abfrage den Responstext ansehen. Da muss ein Fehler passieren.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 13:07:11
Im Responsetext finde ich keine Fehler, es ist die komplette Antwort wie ich sie von jsonlist2 erwarte.

Auch der Dummy der Demoseite mit der ich teste ist da.

{
    "Name":"ftuitest",
    "PossibleSets":" ",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long readingList setList event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle genericDeviceType:ignore,switch,outlet,light,blind,thermometer,thermostat,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "CFGFN": "",
      "NAME": "ftuitest",
      "NR": "164",
      "STATE": "on",
      "TYPE": "dummy"
    },
    "Readings": {      "state": { "Value":"on", "Time":"2016-04-23 13:05:47" }    },
    "Attributes": {      "webCmd": "on:off"    }
  }


Der button in ftui ist aber aus.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 13:22:57
Zitat von: setstate am 23 April 2016, 12:25:13
Ihr könnt auch in der Zwischenzeit in den Entwicklertools > Netzwerk Analyse bei der entsprechenden Abfrage den Responstext ansehen. Da muss ein Fehler passieren.

Meine Web-Entwicklerkenntnisse sind höchst rudimentär. Ein bisschen statisches HTML oder auch einfache Sachen mit PHP kriege ich noch hin, aber dann wird's schon recht dünn.

Bis aufs favicon haben alle Requests den Status 200, damit sollte auf der Transportebene erstmal alles in Ordnung sein oder?

Was unter der Url http://fhem.fritz.box:8083/fhem/?cmd=jsonlist2&XHR=1&timeout=60000 zurückkommt beinhaltet quasi meine gesamte FHEM-Konfiguration (inkl. der DOIFs und noch andern Sachen, die TabletUI wohl eher nicht braucht..  :o) und ist entsprechend groß. Direkt "angesprungen" hat mich beim Durchsehen nichts, was nach einem Fehler aussieht. Da dort nach meiner Einschätzung wirklich alles drin ist, möchte ich die Datei nicht so offen ins Forum stellen, kann sie aber gerne per PN/Email schicken, wenn gewünscht

Hier auszugsweise das was für wtr_Proplanta zurückkommt:
  {
    "Name":"wtr_PROPLANTA",
    "PossibleSets":"update:noArg ",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long INTERVAL URL disable:0,1 forecastDays:4,7,11,14 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat cmdIcon devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "Forchheim+(Oberfranken)",
      "INTERVAL": "7200",
      "NAME": "wtr_PROPLANTA",
      "NR": "378",
      "STATE": "Tmin: 3 Tmax: 13 T: 8.6 H: 76 W: 10.8 P: 1009.4",
      "TYPE": "PROPLANTA",
      "URL": "http://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60&PLZ=Forchheim+(Oberfranken)&STADT=Forchheim+(Oberfranken)&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT="
    },
    "Readings": {
      "cloudBaseMax": { "Value":"1000", "Time":"2016-04-23 11:47:42" },
      "cloudBaseMin": { "Value":"600", "Time":"2016-04-23 11:47:42" },
      "dewPoint": { "Value":"4.5", "Time":"2016-04-23 11:47:42" },
      "durationFetchReadings": { "Value":"14.17", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain00": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain03": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain06": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain09": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain12": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain15": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain18": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRain21": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRainDay": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc0_chOfRainNight": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud00": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud03": { "Value":"75", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud06": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud09": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud12": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud15": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud18": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc0_cloud21": { "Value":"87.5", "Time":"2016-04-23 11:47:42" },
      "fc0_date": { "Value":"23.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc0_dew": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc0_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc0_frost": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_moonRise": { "Value":"21:36", "Time":"2016-04-23 11:47:42" },
      "fc0_moonSet": { "Value":"07:01", "Time":"2016-04-23 11:47:42" },
      "fc0_rad": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc0_rain": { "Value":"1.8", "Time":"2016-04-23 11:47:42" },
      "fc0_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_rain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_rain09": { "Value":"0.6", "Time":"2016-04-23 11:47:42" },
      "fc0_rain12": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_rain15": { "Value":"1.2", "Time":"2016-04-23 11:47:42" },
      "fc0_rain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc0_sun": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc0_temp00": { "Value":"8", "Time":"2016-04-23 11:47:42" },
      "fc0_temp03": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc0_temp06": { "Value":"8", "Time":"2016-04-23 11:47:42" },
      "fc0_temp09": { "Value":"9", "Time":"2016-04-23 11:47:42" },
      "fc0_temp12": { "Value":"13", "Time":"2016-04-23 11:47:42" },
      "fc0_temp15": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc0_temp18": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc0_temp21": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc0_tempMax": { "Value":"13", "Time":"2016-04-23 11:47:42" },
      "fc0_tempMin": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc0_uv": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherDay": { "Value":"Regen", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t7.gif", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherEvening": { "Value":"bedeckt", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n5.gif", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherMorning": { "Value":"bedeckt", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t5.gif", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherNight": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc0_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n3.gif", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain00": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain09": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain12": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain15": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain18": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRain21": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRainDay": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc1_chOfRainNight": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud00": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud09": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud12": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud15": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud18": { "Value":"75", "Time":"2016-04-23 11:47:42" },
      "fc1_cloud21": { "Value":"37.5", "Time":"2016-04-23 11:47:42" },
      "fc1_date": { "Value":"24.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc1_dew": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc1_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc1_moonRise": { "Value":"22:34", "Time":"2016-04-23 11:47:42" },
      "fc1_moonSet": { "Value":"07:32", "Time":"2016-04-23 11:47:42" },
      "fc1_rad": { "Value":"6.3", "Time":"2016-04-23 11:47:42" },
      "fc1_rain": { "Value":"0.8", "Time":"2016-04-23 11:47:42" },
      "fc1_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_rain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_rain09": { "Value":"0.2", "Time":"2016-04-23 11:47:42" },
      "fc1_rain12": { "Value":"0.6", "Time":"2016-04-23 11:47:42" },
      "fc1_rain15": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_rain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_sun": { "Value":"30", "Time":"2016-04-23 11:47:42" },
      "fc1_temp00": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc1_temp03": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc1_temp06": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc1_temp09": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc1_temp12": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc1_temp15": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc1_temp18": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc1_temp21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc1_tempMax": { "Value":"8", "Time":"2016-04-23 11:47:42" },
      "fc1_tempMin": { "Value":"-2", "Time":"2016-04-23 11:47:42" },
      "fc1_uv": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherDay": { "Value":"Regenschauer", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t6.gif", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherEvening": { "Value":"stark bewoelkt", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n4.gif", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherMorning": { "Value":"sonnig", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t1.gif", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherNight": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc1_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n3.gif", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain00": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain03": { "Value":"30", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain09": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain12": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain15": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain18": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRain21": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRainDay": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc2_chOfRainNight": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud00": { "Value":"25", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud03": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud09": { "Value":"37.5", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud12": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud15": { "Value":"75", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud18": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc2_cloud21": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc2_date": { "Value":"25.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc2_dew": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc2_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc2_moonRise": { "Value":"23:31", "Time":"2016-04-23 11:47:42" },
      "fc2_moonSet": { "Value":"08:08", "Time":"2016-04-23 11:47:42" },
      "fc2_rad": { "Value":"6.2", "Time":"2016-04-23 11:47:42" },
      "fc2_rain": { "Value":"2.3", "Time":"2016-04-23 11:47:42" },
      "fc2_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain09": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain12": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain15": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc2_rain18": { "Value":"0.8", "Time":"2016-04-23 11:47:42" },
      "fc2_rain21": { "Value":"1.5", "Time":"2016-04-23 11:47:42" },
      "fc2_sun": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc2_temp00": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc2_temp03": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc2_temp06": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc2_temp09": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc2_temp12": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc2_temp15": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc2_temp18": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc2_temp21": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc2_tempMax": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc2_tempMin": { "Value":"-3", "Time":"2016-04-23 11:47:42" },
      "fc2_uv": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherDay": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t3.gif", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherEvening": { "Value":"Regenschauer", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n6.gif", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherMorning": { "Value":"sonnig", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t1.gif", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherNight": { "Value":"Regenschauer", "Time":"2016-04-23 11:47:42" },
      "fc2_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n6.gif", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain00": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain03": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain06": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain09": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain12": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain15": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain18": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRain21": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRainDay": { "Value":"80", "Time":"2016-04-23 11:47:42" },
      "fc3_chOfRainNight": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud00": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud03": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud06": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud09": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud12": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud15": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud18": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc3_cloud21": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc3_date": { "Value":"26.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc3_dew": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc3_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc3_moonRise": { "Value":"--:--", "Time":"2016-04-23 11:47:42" },
      "fc3_moonSet": { "Value":"08:49", "Time":"2016-04-23 11:47:42" },
      "fc3_rad": { "Value":"5.8", "Time":"2016-04-23 11:47:42" },
      "fc3_rain": { "Value":"9.4", "Time":"2016-04-23 11:47:42" },
      "fc3_rain00": { "Value":"3.4", "Time":"2016-04-23 11:47:42" },
      "fc3_rain03": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc3_rain06": { "Value":"3.5", "Time":"2016-04-23 11:47:42" },
      "fc3_rain09": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_rain12": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_rain15": { "Value":"0.7", "Time":"2016-04-23 11:47:42" },
      "fc3_rain18": { "Value":"0.8", "Time":"2016-04-23 11:47:42" },
      "fc3_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_sun": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc3_temp00": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc3_temp03": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc3_temp06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_temp09": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc3_temp12": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc3_temp15": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc3_temp18": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc3_temp21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_tempMax": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc3_tempMin": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc3_uv": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherDay": { "Value":"Schneefall", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t10.gif", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherEvening": { "Value":"Schneeschauer", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n9.gif", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherMorning": { "Value":"Schneeschauer", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t9.gif", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherNight": { "Value":"Schneeschauer", "Time":"2016-04-23 11:47:42" },
      "fc3_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n9.gif", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain00": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain03": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain06": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain09": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain12": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain15": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain18": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRain21": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRainDay": { "Value":"40", "Time":"2016-04-23 11:47:42" },
      "fc4_chOfRainNight": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud00": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud03": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud06": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud09": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud12": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud15": { "Value":"75", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud18": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc4_cloud21": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc4_date": { "Value":"27.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc4_dew": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc4_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc4_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc4_moonRise": { "Value":"00:24", "Time":"2016-04-23 11:47:42" },
      "fc4_moonSet": { "Value":"09:36", "Time":"2016-04-23 11:47:42" },
      "fc4_rad": { "Value":"4.7", "Time":"2016-04-23 11:47:42" },
      "fc4_rain": { "Value":"5.2", "Time":"2016-04-23 11:47:42" },
      "fc4_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc4_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc4_rain06": { "Value":"1.2", "Time":"2016-04-23 11:47:42" },
      "fc4_rain09": { "Value":"2.6", "Time":"2016-04-23 11:47:42" },
      "fc4_rain12": { "Value":"0.8", "Time":"2016-04-23 11:47:42" },
      "fc4_rain15": { "Value":"0.6", "Time":"2016-04-23 11:47:42" },
      "fc4_rain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc4_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc4_sun": { "Value":"30", "Time":"2016-04-23 11:47:42" },
      "fc4_temp00": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc4_temp03": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc4_temp06": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc4_temp09": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc4_temp12": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc4_temp15": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc4_temp18": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc4_temp21": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc4_tempMax": { "Value":"6", "Time":"2016-04-23 11:47:42" },
      "fc4_tempMin": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc4_uv": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherDay": { "Value":"Regenschauer", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t6.gif", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherEvening": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n3.gif", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherMorning": { "Value":"Schneeschauer", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t9.gif", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherNight": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc4_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n3.gif", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain00": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain03": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain06": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain09": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain12": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain15": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRainDay": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc5_chOfRainNight": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud00": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud03": { "Value":"62.5", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud06": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud09": { "Value":"87.5", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud12": { "Value":"37.5", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud15": { "Value":"25", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_cloud21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_date": { "Value":"28.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc5_dew": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc5_evapor": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc5_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc5_moonRise": { "Value":"01:13", "Time":"2016-04-23 11:47:42" },
      "fc5_moonSet": { "Value":"10:30", "Time":"2016-04-23 11:47:42" },
      "fc5_rad": { "Value":"7.1", "Time":"2016-04-23 11:47:42" },
      "fc5_rain": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain09": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain12": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain15": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_sun": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc5_temp00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc5_temp03": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc5_temp06": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc5_temp09": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc5_temp12": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc5_temp15": { "Value":"8", "Time":"2016-04-23 11:47:42" },
      "fc5_temp18": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc5_temp21": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc5_tempMax": { "Value":"9", "Time":"2016-04-23 11:47:42" },
      "fc5_tempMin": { "Value":"-2", "Time":"2016-04-23 11:47:42" },
      "fc5_uv": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherDay": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t3.gif", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherEvening": { "Value":"klar", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n1.gif", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherMorning": { "Value":"bedeckt", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t5.gif", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherNight": { "Value":"klar", "Time":"2016-04-23 11:47:42" },
      "fc5_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n1.gif", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain09": { "Value":"5", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain12": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain15": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain18": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRain21": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRainDay": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc6_chOfRainNight": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud09": { "Value":"25", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud12": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud15": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud18": { "Value":"75", "Time":"2016-04-23 11:47:42" },
      "fc6_cloud21": { "Value":"100", "Time":"2016-04-23 11:47:42" },
      "fc6_date": { "Value":"29.04.2016", "Time":"2016-04-23 11:47:42" },
      "fc6_dew": { "Value":"3", "Time":"2016-04-23 11:47:42" },
      "fc6_evapor": { "Value":"2", "Time":"2016-04-23 11:47:42" },
      "fc6_frost": { "Value":"1", "Time":"2016-04-23 11:47:42" },
      "fc6_moonRise": { "Value":"01:57", "Time":"2016-04-23 11:47:42" },
      "fc6_moonSet": { "Value":"11:30", "Time":"2016-04-23 11:47:42" },
      "fc6_rad": { "Value":"6.9", "Time":"2016-04-23 11:47:42" },
      "fc6_rain": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain06": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain09": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain12": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain15": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain18": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_rain21": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_sun": { "Value":"50", "Time":"2016-04-23 11:47:42" },
      "fc6_temp00": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_temp03": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "fc6_temp06": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc6_temp09": { "Value":"11", "Time":"2016-04-23 11:47:42" },
      "fc6_temp12": { "Value":"14", "Time":"2016-04-23 11:47:42" },
      "fc6_temp15": { "Value":"15", "Time":"2016-04-23 11:47:42" },
      "fc6_temp18": { "Value":"10", "Time":"2016-04-23 11:47:42" },
      "fc6_temp21": { "Value":"7", "Time":"2016-04-23 11:47:42" },
      "fc6_tempMax": { "Value":"16", "Time":"2016-04-23 11:47:42" },
      "fc6_tempMin": { "Value":"-1", "Time":"2016-04-23 11:47:42" },
      "fc6_uv": { "Value":"4", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherDay": { "Value":"wolkig", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherDayIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t3.gif", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherEvening": { "Value":"stark bewoelkt", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherEveningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n4.gif", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherMorning": { "Value":"sonnig", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherMorningIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t1.gif", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherNight": { "Value":"stark bewoelkt", "Time":"2016-04-23 11:47:42" },
      "fc6_weatherNightIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/n4.gif", "Time":"2016-04-23 11:47:42" },
      "humidity": { "Value":"76", "Time":"2016-04-23 11:47:42" },
      "lastConnection": { "Value":"392 values captured in 14.17 s", "Time":"2016-04-23 11:47:42" },
      "obsTime": { "Value":"11:00", "Time":"2016-04-23 11:47:42" },
      "pressure": { "Value":"1009.4", "Time":"2016-04-23 11:47:42" },
      "state": { "Value":"Tmin: 3 Tmax: 13 T: 8.6 H: 76 W: 10.8 P: 1009.4", "Time":"2016-04-23 11:47:42" },
      "temperature": { "Value":"8.6", "Time":"2016-04-23 11:47:42" },
      "visibility": { "Value":"20", "Time":"2016-04-23 11:47:42" },
      "weather": { "Value":"Regen", "Time":"2016-04-23 11:47:42" },
      "weatherIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/t7.gif", "Time":"2016-04-23 11:47:42" },
      "wind": { "Value":"10.8", "Time":"2016-04-23 11:47:42" },
      "windDir": { "Value":"0", "Time":"2016-04-23 11:47:42" },
      "windDirIcon": { "Value":"http://www.proplanta.de/wetterdaten/images/symbole/w31.gif", "Time":"2016-04-23 11:47:42" }
    },


und für kg_hr_Heizkreis_VL_RL_T1: -> s. nächster Post

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 13:27:54
Das Posting ist mit dem lezten Codeblock wohl etwas lang, hier noch die Rückgabe für kg_hr_Heizkreis_VL_RL_T1:
  {
    "Name":"kg_hr_Heizkreis_VL_RL_T1",
    "PossibleSets":"clear:readings,trigger,register,oldRegs,rssi,msgEvents,attack,all getConfig getRegRaw peerBulk peerChan regBulk regSet sign:on,off",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long do_not_notify:1,0 showtime:1,0 rawToReadable unit expert:0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything param actAutoTry:0_off,1_on aesCommReq:1,0 ignore:1,0 dummy:1,0 IODev IOList IOgrp rssiLog:1,0 actCycle hmKey hmKey2 hmKey3 serialNr firmware .stc .devInfo actStatus autoReadReg:0_off,1_restart,2_pon-restart,3_onChange,4_reqStatus,5_readMissing,8_stateOnly burstAccess:0_off,1_auto msgRepeat hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger aesKey:5,4,3,2,1,0  repPeers peerIDs tempListTmpl:none,defaultWeekplan, levelRange levelMap event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat model:ASH550,ASH550I,CCU-FHEM,CMM,DORMA_BRC-H,DORMA_RC-H,DORMA_atent,HM-CC-RT-DN,HM-CC-RT-DN-BoM,HM-CC-SCD,HM-CC-TC,HM-CC-VD,HM-Dis-TD-T,HM-Dis-WM55,HM-ES-PMSw1-DR,HM-ES-PMSw1-Pl,HM-ES-PMSw1-Pl-DN-R1,HM-ES-PMSw1-Pl-DN-R2,HM-ES-PMSw1-Pl-DN-R3,HM-ES-PMSw1-Pl-DN-R4,HM-ES-PMSw1-Pl-DN-R5,HM-ES-PMSw1-SM,HM-ES-TX-WM,HM-LC-BL1-FM,HM-LC-BL1-PB-FM,HM-LC-BL1-SM,HM-LC-Bl1-FM-2,HM-LC-Bl1-SM-2,HM-LC-Bl1PBU-FM,HM-LC-DDC1-PCB,HM-LC-DIM1L-CV,HM-LC-DIM1L-PL,HM-LC-DIM1T-CV,HM-LC-DIM1T-FM,HM-LC-DIM1T-PL,HM-LC-DIM2L-CV,HM-LC-DIM2L-SM,HM-LC-DIM2T-SM,HM-LC-Dim1L-CV-2,HM-LC-Dim1L-CV-644,HM-LC-Dim1L-Pl-2,HM-LC-Dim1L-Pl-3,HM-LC-Dim1L-Pl-644,HM-LC-Dim1PWM-CV,HM-LC-Dim1PWM-CV-2,HM-LC-Dim1T-CV-2,HM-LC-Dim1T-CV-644,HM-LC-Dim1T-FM-2,HM-LC-Dim1T-FM-644,HM-LC-Dim1T-FM-LF,HM-LC-Dim1T-Pl-2,HM-LC-Dim1T-Pl-3,HM-LC-Dim1T-Pl-644,HM-LC-Dim1TPBU-FM,HM-LC-Dim1TPBU-FM-2,HM-LC-Dim2L-SM-2,HM-LC-Dim2L-SM-644,HM-LC-Dim2T-SM,HM-LC-Dim2T-SM-2,HM-LC-RGBW-WM,HM-LC-SW1-BA-PCB,HM-LC-SW1-FM,HM-LC-SW1-PB-FM,HM-LC-SW1-PL,HM-LC-SW1-PL-OM54,HM-LC-SW1-PL2,HM-LC-SW1-SM,HM-LC-SW1-SM-ATMEGA168,HM-LC-SW2-DR,HM-LC-SW2-FM,HM-LC-SW2-PB-FM,HM-LC-SW2-SM,HM-LC-SW4-BA-PCB,HM-LC-SW4-DR,HM-LC-SW4-PCB,HM-LC-SW4-SM,HM-LC-SW4-SM-ATMEGA168,HM-LC-SW4-WM,HM-LC-Sw1-DR,HM-LC-Sw1-FM-2,HM-LC-Sw1-Pl-3,HM-LC-Sw1-Pl-CT-R1,HM-LC-Sw1-Pl-CT-R2,HM-LC-Sw1-Pl-CT-R3,HM-LC-Sw1-Pl-CT-R4,HM-LC-Sw1-Pl-CT-R5,HM-LC-Sw1-Pl-DN-R1,HM-LC-Sw1-Pl-DN-R2,HM-LC-Sw1-Pl-DN-R3,HM-LC-Sw1-Pl-DN-R4,HM-LC-Sw1-Pl-DN-R5,HM-LC-Sw1-SM-2,HM-LC-Sw1PBU-FM,HM-LC-Sw2-DR-2,HM-LC-Sw2-FM-2,HM-LC-Sw2PBU-FM,HM-LC-Sw4-DR-2,HM-LC-Sw4-PCB-2,HM-LC-Sw4-SM-2,HM-LC-Sw4-WM-2,HM-MOD-Em-8,HM-MOD-Re-8,HM-OU-CF-PL,HM-OU-CFM-PL,HM-OU-CFM-TW,HM-OU-CM-PCB,HM-OU-LED16,HM-PB-2-FM,HM-PB-2-WM,HM-PB-2-WM55,HM-PB-2-WM55-2,HM-PB-4-WM,HM-PB-4DIS-WM,HM-PB-4DIS-WM-2,HM-PB-6-WM55,HM-PBI-4-FM,HM-RC-12,HM-RC-12-B,HM-RC-12-SW,HM-RC-19,HM-RC-19-B,HM-RC-19-SW,HM-RC-2-PBU-FM,HM-RC-4,HM-RC-4-2,HM-RC-4-3,HM-RC-4-3-D,HM-RC-4-B,HM-RC-8,HM-RC-Dis-H-x-EU,HM-RC-KEY3,HM-RC-KEY3-B,HM-RC-Key4-2,HM-RC-Key4-3,HM-RC-P1,HM-RC-SEC3,HM-RC-SEC3-B,HM-RC-Sec4-2,HM-RC-Sec4-3,HM-SCI-3-FM,HM-SEC-KEY,HM-SEC-KEY-O,HM-SEC-KEY-S,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-MDIR-3,HM-SEC-RHS,HM-SEC-RHS-2,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-SCo,HM-SEC-SD,HM-SEC-SD-2,HM-SEC-SFA-SM,HM-SEC-TIS,HM-SEC-WDS,HM-SEC-WDS-2,HM-SEC-WIN,HM-SEN-EP,HM-SEN-MDIR-SM,HM-SWI-3-FM,HM-Sec-Cen,HM-Sec-Sir-WM,HM-Sen-DB-PCB,HM-Sen-LI-O,HM-Sen-MDIR-O,HM-Sen-MDIR-O-2,HM-Sen-MDIR-WM55,HM-Sen-RD-O,HM-Sen-Wa-Od,HM-Sys-sRP-Pl,HM-TC-IT-WM-W-EU,HM-WDC7000,HM-WDS10-TH-O,HM-WDS100-C6-O,HM-WDS100-C6-O-2,HM-WDS20-TH-O,HM-WDS30-OT2-SM,HM-WDS30-OT2-SM-2,HM-WDS30-T-O,HM-WDS40-TH-I,HM-WDS40-TH-I-2,HM-WS550,HM-WS550LCB,HM-WS550LCW,HM-WS550Tech,IS-WDS-TH-OD-S-R3,KFM-Display,KFM-Sensor,KS550,KS550LC,KS550TECH,KS888,OLIGO-smart-iq-HM,PS-Th-Sens,PS-switch,ROTO_ZEL-STG-RM-DWT-10,ROTO_ZEL-STG-RM-FDK,ROTO_ZEL-STG-RM-FEP-230V,ROTO_ZEL-STG-RM-FSA,ROTO_ZEL-STG-RM-FST-UP4,ROTO_ZEL-STG-RM-FWT,ROTO_ZEL-STG-RM-FZS,ROTO_ZEL-STG-RM-FZS-2,ROTO_ZEL-STG-RM-HS-4,ROTO_ZEL-STG-RM-WT-2,Roto_ZEL-STG-RM-FFK,Roto_ZEL-STG-RM-FSS-UP3,S550IA,Schueco_263-130,Schueco_263-131,Schueco_263-132,Schueco_263-133,Schueco_263-134,Schueco_263-135,Schueco_263-144,Schueco_263-145,Schueco_263-146,Schueco_263-147,Schueco_263-155,Schueco_263-157,Schueco_263-158,Schueco_263-160,Schueco_263-162,Schueco_263-167,Schueco_263-xxx,SensoTimer-ST-6,WDF-solar,WS888 subType:AlarmControl,KFM100,THSensor,blindActuator,blindActuatorSol,dimmer,keyMatic,motionAndBtn,motionDetector,outputUnit,powerMeter,powerSensor,pushButton,remote,repeater,rgb,senBright,sensRain,sensor,singleButton,siren,smokeDetector,swi,switch,thermostat,threeStateSensor,timer,tipTronic,virtual,winMatic cmdIcon devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "35E6B401",
      "NAME": "kg_hr_Heizkreis_VL_RL_T1",
      "NR": "263",
      "NTFY_ORDER": "50-kg_hr_Heizkreis_VL_RL_T1",
      "STATE": "T: 70.0",
      "TYPE": "CUL_HM",
      "chanNo": "01",
      "device": "kg_hr_Heizkreis_VL_RL"
    },
    "Readings": {
      "state": { "Value":"T: 70.0", "Time":"2016-04-23 12:32:20" },
      "temperature": { "Value":"70.0", "Time":"2016-04-23 12:32:20" }
    },
    "Attributes": {
      "event-on-update-reading": "state",
      "expert": "3_all",
      "icon": "sani_supply_temp",
      "model": "HM-WDS30-OT2-SM",
      "peerIDs": "00000000,",
      "room": "Heizung"
    }
  },


Zitat von: matzemoerk am 23 April 2016, 13:07:11Der button in ftui ist aber aus.

Das gleiche hatte ich mit einem vorherigen Test eines Switch für einen UP-Schalter auch. Schalten über TabletUI kein Problem, aber beim Refresh (F5) oder schalten via FHEM zeigt das Widget den aktuellen Status nicht an.

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 13:40:22
Das könnte die Antwort sein:

https://developer.mozilla.org/de/docs/Web/API/Console/time

ich benutze so etwas hier:

console.timeEnd('get jsonlist2');
           console.time('read jsonlist2');


Wenn das euer Browser nicht kennt, wird die Funktion bestimmt abgebrochen.
Welchen Browser nutzt ihr? Könnt ihr mal testweise FF 45 oder höher benutzen? Dann können wir sehen, ob es aus der Richtung her nicht passt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 13:49:44
Könnte in der Tat mit dem Browser zusammenhängen. Ich nutze Chrome. Sollte auf allen Gerätschaften auf dem letzten, aktuellen Stand sein.
FF muss ich erst installieren, ein Schelltest mit Edge liefert zumindest schon mal Daten aus den Devices für die Labels. Das Switch-Widget wird aber (noch) nicht aktualisiert, wenn die Statusänderung nicht über FTUI erfolgt.

VG
Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 13:50:54
Problem besteht in Firefox 45.0.2, Chrome 50.0.2661.86 und Safari 9.1.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 13:56:51
Zitat von: matzemoerk am 23 April 2016, 13:50:54
Problem besteht in Firefox 45.0.2, Chrome 50.0.2661.86 und Safari 9.1.

Kann ich für FF und Chrome bestätigen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 13:59:19
okay  :o

Ich vermisse aber in euren Debug-Outputs die Zeitangaben. Muss man vllt. erst noch einblenden. egal ...
Ich habe noch etwas mehr output für debug-level 3 eingebaut. Bitte updaten!

Vielleicht sieht das Json bei euch anders aus. Beginnt das mit Arg und Results ?
Dann müsste man doch in der Antwort die Länge von Results sehen ...

get jsonlist2: 4030.32ms fhem-tablet-ui.js:340
read jsonlist2: Timer gestartet fhem-tablet-ui.js:341
fhemJSON: 0=Arg 1=Results fhem-tablet-ui.js:889:13
shortpoll: fhemJSON.Results.length=240 fhem-tablet-ui.js:889:13
shortPoll - Done
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 14:11:32
JSON beginnt mit

  "Arg":"",
  "Results":

Folgender Fehler findet sich jetzt in der Konsole:

start shortpoll fhem-tablet-ui.js:889:13
get jsonlist2: Timer gestartet fhem-tablet-ui.js:334
start shortpoll in (ms):30000 fhem-tablet-ui.js:889:13
shortPoll request failed: parsererror, SyntaxError: JSON.parse: bad control character in string literal at line 1402 column 32 of the JSON data fhem-tablet-ui.js:889:13


1402:       "g_altitude": { "Value":"", "Time":"2016-01-24 12:49:22" },
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 14:12:22
Zitat von: setstate am 23 April 2016, 13:59:19Ich vermisse aber in euren Debug-Outputs die Zeitangaben. Muss man vllt. erst noch einblenden. egal ...
Ich habe noch etwas mehr output für debug-level 3 eingebaut. Bitte updaten!

Das ist wohl meine größte Hürde, da ich hier nur übersichtliche Kenntnisse habe... Da bräuchte ich's dann etwas detaillierter beschrieben. Update läuft...

Habe eben noch mit Chrome auf iOS, Android (CM13) und FF 45 auf Ubuntu 16.04 getestet und auf allen ist das Test-Gridster Element leer...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 14:15:03
Es ist das GDS Modul. Nachdem ich das gelöscht habe Funktioniert alles!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 14:17:24
Der Parser-Error ist doch eine heiße Spur. Kannst du das Zeichen noch rausbekommen? line 1402 column 32

Und dann muss ich rausfinden, wie man das abfängt ...

Zur Info, longpoll (kontinuierlichen Update der UI) startet erst, wenn Shortpoll (vollständiges Update auf Anforderung) komplett durchgelaufen ist. Dann triggert das document 'updateDone'. Das ist der Startschuss für initLongpoll();
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 14:20:43


Zitat1402:       "g_altitude": { "Value":"", "Time":"2016-01-24 12:49:22" },


Der Value hat komische Sonderzeichen drin.  :o
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 14:22:51
Ja wie bereits geschrieben mach da das GDS Modul komische Dinge. Ohne GDS klappt alles!
Vielen Dank für die Hilfe!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 14:28:47
Ok, vielleicht kann ich dann was zuliefern.

Zuerstmal fällt mir auf, dass Chrome und FF unterschiedliche Ausgabe auf der Console schreiben:

FF: shortPoll request failed: parsererror, SyntaxError: JSON.parse: bad control character in string literal at line 18608 column 28 of the JSON data
Chrome:  shortPoll request failed: parsererror, SyntaxError: Unexpected token

Wenn ich mir den JSON-Content vom FF ins Notepad++ kopiere, hört's in Zeile 8298 plötzlich auf:
    }
  },
  {
    "Name":"doif_


Aus dem Chrome bekomme ich mehr, aber auch "nur" 18526 Zeilen... Edge liefert mir zwar 18681 Zeilen, jedoch enden beide identisch mit:
  {
    "Name":"uartGarage",
    "PossibleSets":"reopen classdef",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long classdefs split logTraffic:0,1,2,3,4,5 timeout partial requestSeparator responseSeparator cmdIcon devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "telnet xuartwifi.fritz.box:8080",
      "DeviceName": "xuartwifi.fritz.box:8080",
      "NAME": "uartGarage",
      "NEXT_OPEN": "1461413818.72502",
      "NR": "515",
      "PARTIAL": "",
      "Protocol": "telnet",
      "STATE": "disconnected",
      "TYPE": "ECMD"
    },
    "Readings": {      "state": { "Value":"disconnected", "Time":"2016-04-23 14:15:58" }    },
    "Attributes": {
      "requestSeparator": "


VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 14:31:05
Okay, fein.
Das muss auf FHEM Seite (Modul Seite) behandelt werden!
Der JSON Standard erlaubt keine Control Character in String Literalen.

Zitatchar
    any-Unicode-character-
        except-"-or-\-or-
        control-character
    \"
    \\
    \/
    \b
    \f
    \n
    \r
    \t
    \u four-hex-digits

http://www.json.org/
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 14:36:19
Zitat von: StefanD am 23 April 2016, 14:28:47
Ok, vielleicht kann ich dann was zuliefern.

Zuerstmal fällt mir auf, dass Chrome und FF unterschiedliche Ausgabe auf der Console schreiben:

...

Das wird die Begrenzung der Ausgabe sein. Gib mal die Anforderung in die Adressleiste des Browsers ein und kopiere den Output in einen Texteditor.

http://<FHEMSERVER>:8083/fhem/?cmd=jsonlist2&XHR=1&timeout=60000

Vielleicht kann der Editor auch Sonderzeichen anzeigen und du siehst, welches Modul die verbotenen Zeichen reinbringt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 14:42:08
Zitat von: matzemoerk am 23 April 2016, 14:22:51
...
Vielen Dank für die Hilfe!

ich muss euch danken für die geduldige und intensive Mitarbeit bei der Fehlersuche.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 14:46:50
Zitat von: setstate am 23 April 2016, 14:36:19
Das wird die Begrenzung der Ausgabe sein. Gib mal die Anforderung in die Adressleiste des Browsers ein und kopiere den Output in einen Texteditor.

http://<FHEMSERVER>:8083/fhem/?cmd=jsonlist2&XHR=1&timeout=60000

Vielleicht kann der Editor auch Sonderzeichen anzeigen und du siehst, welches Modul die verbotenen Zeichen reinbringt.

Leider schon zu spät, das das Device uartGarage das war, an dem der Output hing, habe ich es kurzerhand mal gelöscht. War eh noch nicht in Verwendung. Siehe da, schon läuft FTUI wie am Schnürchen und so irre schnell, wie andere berichten. Hab's wieder angelegt und es lief immer noch.  :o
Das kam mir dann schon etwas komisch vor und ich habe das Device in FHEM noch mal angesehen und habe wohl auch die Ursache gefunden. In der alten Konfiguration war der Wert des Attributs requestSeparator ein Leerzeichen, das kann ich jetzt nicht mehr konfigurieren, bzw. wenn ich das eingebe, wird jetzt im GUI eine 1 daraus gemacht. Die Definition in der fhem.cfg bleibt aber nach wie vor gleich:

define uartGarage ECMD telnet xuartwifi.fritz.box:8080
attr uartGarage requestSeparator
attr uartGarage room _Test


Nur in der GUI wird jetzt, im Gegensatz vor dem Löschen, eine 1 angezeigt... (s. Screenshot)

Vielen Dank für die Unterstützung!

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 14:48:28
Zitat von: setstate am 23 April 2016, 14:42:08
ich muss euch danken für die geduldige und intensive Mitarbeit bei der Fehlersuche.

Den Ball muss ich aber zurückspielen!  :)

Was du hier an Motivation und Zeit investierst ist aller Ehren wert!!!

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: matzemoerk am 23 April 2016, 15:02:43
Zitat von: StefanD am 23 April 2016, 14:48:28
Den Ball muss ich aber zurückspielen!  :)

Was du hier an Motivation und Zeit investierst ist aller Ehren wert!!!

VG Stefan

Dem kann ich nur zustimmen!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 15:22:43
Wenn beim Datenholen von FHEM Fehler passieren, zeige ich jetzt eine Error-Toast Message in rot an. Falls andere auch noch solche Probleme haben, damit es gleich ins Auge springt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 23 April 2016, 16:21:50
Zitat von: setstate am 23 April 2016, 15:22:43
Wenn beim Datenholen von FHEM Fehler passieren, zeige ich jetzt eine Error-Toast Message in rot an. Falls andere auch noch solche Probleme haben, damit es gleich ins Auge springt.

*daumenhoch* Das dürfte viel Zeit beim Vorsortieren einsparen.

Vielleicht wäre ein dedizierter Thread sinnvoll, der im Startpost eine Art Leitfaden für die Fehlersuche beinhaltet. Ggf. auch mit einer nicht zu langen Checkliste, die einen dann schneller in die richtige Richtung führt.

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 23 April 2016, 18:03:35
so... ich bekomme mal wieder 'ne mittelschwere Krise.

FTUI 2.2, Fully FullScreenBrowser

Dieses Switch-Widget: (ja, etwas komplex)

<div data-type="switch"
data-device="ku_intentradio_dummy"
data-set-states='["setSTOP","","setPLAY"]'
data-states='["play","play/buffering|setPLAY","stop|play/pause|play/duck|play/disconnected|complete|error"]'
data-icons='["fa-stop","fa-play fa-blink","fa-play"]'
data-colors='["#eee","#aa6900","#eee"]'
data-background-icons='["fa-circle","fa-circle","fa-circle"]'
data-background-colors='["#0088CC","#0088CC","#aaa"]'
class="col-1-4 right-align big">
</div>


Seite auf Smartphone mit Slideout-Menü.

Auf meinem Samsung Galaxy S5 (Android 5.0) läuft das ganz hervorragend!

Auf meinem Samsung Galaxy S3 (CyanogenMod Android 4.4.4) läuft das wie der letzte Dreck.
Alle "set-states" werden immer 2 mal gesendet (toast-messages).

Der allergrößte Humbug ist es, wenn "play" ansteht und ich folglich "setSTOP" drücke wird erst "setSTOP" und direkt danach "setPLAY" gesendet!!!

Warum?
Das oberwitzigste daran ist, dass es von 1000 mal 1 mal richtig funktioniert. Vorrausgesetzt ich leere jedes mal den Cache und starte Fully neu.

Gleiches gilt bei Firefox am Desktop-PC.


Zum Slideout-Menü gedöns:
Wenn ich die Seite das erste mal aufrufe wird der Titel nicht im <header> angezeigt. Erst nach Menü -> Menü-Item wird der richtige Titel eingetragen. "data-active-pattern" ist richtig gesetzt.

<body>

    <!-- Demo FTUI 2.1 mobil page with slideout navigation -->

<nav id="menu">
<div data-type="link" class="default large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-home"
data-color="white"
data-text-align="right"
data-load="#content_home"
data-url="#content_home.html"
data-active-color="blue"
data-active-pattern="(.*index.html|.*#content_home.html)">Home
</div>
<div data-type="link" class="prefetch large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-tint"
data-color="white"
data-text-align="right"
data-load="#content_bad"
data-url="#content_bad.html"
data-active-color="blue"
data-active-pattern=".*#content_bad.html">Bad
</div>
<div data-type="link" class="prefetch large top-space-2x left-space-3x"
data-width="150"
data-icon-left="ro-pc"
data-color="white"
data-text-align="right"
data-load="#content_buro"
data-url="#content_buro.html"
data-active-color="blue"
data-active-pattern=".*#content_buro.html">Büro
</div>
<div data-type="link" class="prefetch large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-cutlery"
data-color="white"
data-text-align="right"
data-load="#content_kuche"
data-url="#content_kuche.html"
data-active-color="blue"
data-active-pattern=".*#content_kuche.html">Küche
</div>
</nav>

<main id="panel" class="">
<header id="header-nav" class="bg-lightgray row">
<div data-type="slideout"
class="col-1-4 big left-align notouch">
</div>
<div id="linkname"
class="col-1-4 large left-align middle">
</div>
<div data-type="symbol"
data-device="gds"
data-get="a_count"
data-states='["[1-9]{1}|[0-9]{2}","0"]'
data-icons='["fa-bolt","fa-bolt"]'
data-colors='["firebrick","black"]'
class="col-1-8 right-align big">
</div>
<div data-type="switch"
data-device="KeyMatic"
data-get="door"
data-set="door"
data-states='["closed","open","MISSING.*"]'
data-set-states='["open","",""]'
data-icons='["ftui-door","ftui-door","ftui-door warn"]'
data-background-icons='["","",""]'
data-colors='["green","firebrick","#808080"]'
data-background-colors='["","",""]'
class="col-1-8 right-align big">
</div>
<div data-type="clock"
data-format="H:i"
data-interval="1000"
class="col-1-5 right-align large orange">
</div>
</header>
        <div class="page" id="content_home"></div>
        <div class="page" id="content_bad"></div>
        <div class="page" id="content_buro"></div>
        <div class="page" id="content_kuche"></div>
    </main>

</body>


Grüße^^

EDIT:

Ich habe festgestellt, dass das oben beschriebene, äußerst ätzende verhalten nur auf der zuerst geladenen seite/unterseite eintritt!

beispiel mit egal welchem switch:
öffne ich die index.html (#content_home) direkt und drücke auf ein switch: sendet 2 mal
öffne ich die index.html#content_kuche.html direkt und drücke hier auf ein switch: sendet 2 mal.
wechsle ich nun von hier aus (index.html#content_kuche.html), über das menü auf eine andere seite (index.html#content_home.html) und drücke ich ein switch ist alles in ordnung.
wechsle ich über das menü zurück auf die zuerstgeladene seite (index.html#content_kuche.html) wird wieder 2mal gesendet.

super nervig.
es liegt aber nicht an den unterschiedlichen geräten... sondern scheinbar an der ersten einbindung der contenSeite beim laden.

dass der titel im header der zuerst aufgerufenen seite nicht geladen wird bleibt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 April 2016, 21:40:28
Ich sehe bei mir mit meinen Seiten auch bei Klick auf einen Switch auch die doppelte Toast-Message. Sehr komisch.
Ich schaue mir das sofort an ...

News
- es sind immer zwei Buttons übereinander, deshalb vermutlich das doppelte Senden
- es passiert nur, wenn man nicht abwartet, bis die Subseiten im Hintergrund geladen wurden ("Full Refresh done ..."), die Subseiten class="prefetch" haben und man vorher schon auf die Subseite wechselt, dann ist der Switch doppelt.
- es liegt am Widget Link
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 24 April 2016, 10:05:27
Genau das habe ich auch versucht auszuschließen.
Aber auch nach abwartend des full refresh done  habe ich dieses verhalten.
index.html öffnen... warten... full refresh done... switch klick... doppeltes senden.
Kein pagetab-Widget in verwendung. Baue meine mobil-ui neu auf.

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 24 April 2016, 10:51:50
Hallo setstate,

ich bekomme derzeit in der Konsole die Meldung
Zitat[Error] QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota.
   setItem (fhem-tablet-ui.js:634)
   saveStatesLocal (fhem-tablet-ui.js:634)
   (anonyme Funktion) (fhem-tablet-ui.js:405)
   j (jquery.min.js:2:27301)
   fireWith (jquery.min.js:2:28110)
   x (jquery.min.js:4:22073)
   b (jquery.min.js:4:25982)


Läuft da bei mir irgendein Speicher über?

Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 24 April 2016, 11:01:45
Nein, das ist zu erwarten, wenn du beim iOS "privates" Browsen an hast. Dann darf nix in localStorage gespeichert werden. Ich könnte das vorher abfragen und dann nicht versuchen ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 24 April 2016, 11:04:41
Die Meldung erhalte ich am Mac unter Safari. Ich habe zwar zum testen Caches deaktiviert, aber auch mit aktiviertem Cache erhalte ich die Meldung.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 24 April 2016, 11:27:23
Vergiss das ganze bitte.
Das muss irgendein Cache Bug von Safari sein.Wenn ich die TabletUI unter einem anderen FHEM-Port aufrufe, passt alles. Unter Chrome passt auch alles.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 24 April 2016, 19:33:00
Moin.

Mir ist schon wieder etwas aufgefallen.

Mal abgesehen davon, dass beim ersten laden der Seite #linkname gar nicht angezigt wird...

Wird er erst recht nicht angezeigt, wenn man die <div id="linkname"></div> in z.B. einer <table><tr><td> verpackt.
Auch nicht wenn man die <td> mit id="linkname" deklariert.

Die Layoutaufteilung mit col-X-X und row passt mir nämlich gar nicht, vorallem weil dann die ganze col-X-X klickbar ist und nicht nur das Widget selbst!!!

Kann man das ändern?

EDIT:

Uuuund noch etwas XD

Der PopUp-Dialog eines PopUp-Widgets liegt unter dem Shadow/Shade und ist somit nicht bedienbar obwohl der z-index passt. (Shade=1001, PopUp=2000).
Was ist hier nur los?  ;D ;D

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 25 April 2016, 01:18:29
Hallo roman1528,

gib mal ein paar Beispiele als Code, ich weiß gerade nicht, an welcher Stelle du bist und was nicht geht.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 25 April 2016, 07:53:13
Zitat von: setstate am 25 April 2016, 01:18:29
Hallo roman1528,

gib mal ein paar Beispiele als Code, ich weiß gerade nicht, an welcher Stelle du bist und was nicht geht.

Äh ja.. klar.. Mein Fehler  ::)

Bin natürlich immer noch bei der SlideOut Geschichte.

#linkname:
index.html: Die Problemstelle:

<main id="panel" class="">
<header id="header-nav" class="bg-lightgray row">
<table width="100%">
<tr>
<td width="10%">
<div data-type="slideout"
class="left-align notouch">
</div>
</td>
<td width="60%" style="border-right:1px solid black;">
<div id="linkname"
class="large bold middle">
</div>
</td>
.............


Die div#linkname wird nicht gefüllt seitdem ich sie in die <table> verpackt habe. Bei der Beispieleinbindung von dir (index_nav_mobil.html) funktioniert es eigentlich. Nur beim ersten Aufruf nicht.


PopUp:
content_home: Naja, wie gewohnt ein PopUp-Widget mit Push-Widget als Öffner.

<td width="33.33%">
<div data-type="popup"
data-width="200px"
data-height="275px"
data-dragable="false"
class="">
<div data-type="push"
data-icon="fa-bell-slash">
</div>
<div class="dialog">
<header>ALARM DEAKTIVIEREN</header>
<div class="top-space">
<div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="1"
class="">1
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="2"
class="">2
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="3"
class="">3
</div>
</div>
<div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="4"
class="">4
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="5"
class="">5
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="6"
class="">6
</div>
</div>
<div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="7"
class="">7
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="8"
class="">8
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="9"
class="">9
</div>
</div>
<div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="0"
class="">0
</div>
<div data-type="push"
data-icon=""
data-device="dummy_keypad"
data-set-on="#"
class="">OK
</div>
</div>
</div>
</div>
</div>
</td>


Im Anhang noch 3 Screenshots dazu.

Und zur allgemeinen Verständlichkeit meine komplette index.html. Wenn man das "default" aus dem ersten Menü-Eintrag entfernt wird die Seite trotzdem geladen aber die weiter oben angesprochene Dopplung der Buttons passiert nicht!!!


<!DOCTYPE html>
<html>
<head>
<title>HOME</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_margin" content="0"> <!-- Space between gridster-elements -->
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="shortpoll-interval" content="120">
<meta name="shortpoll-only-interval" content="30">
<meta name="longpoll-delay" content="0">
    <meta name="longpoll" content="1"> <!-- 1= LongPoll; 0= Shortpoll every 30s -->
    <meta name="debug" content="2"> <!-- 1= Output to console; 0= No output -->
<meta name="toast" content="1"> <!-- 1= Toast Messages; 0 = No Messages -->
<!-- Cache -->
    <meta http-equiv="Cache-Control" content="no-store" />
<!-- Style CSS -->
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />
<link rel="stylesheet" href="lib/fhemSVG.css" />
<link rel="stylesheet" href="lib/openautomation.css" />
<!-- Custom Fonts -->
<link rel="stylesheet" href="fonts/roman/style.css" />
<link rel="stylesheet" href="fonts/material/style.css" />
<!-- Custom CSS -->
    <link rel="stylesheet" href="css/fhem-mobil-ui.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui-user_mobile.css" />
<!-- Scripts -->
    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>
</head>
<body>
<nav id="menu">
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-home"
data-color="white"
data-text-align="center"
data-load="div#content_home"
data-url="#content_home.html"
data-active-color="blue"
data-active-pattern="(.*index.html|.*#content_home.html)">Home
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-tint"
data-color="white"
data-text-align="center"
data-load="div#content_bad"
data-url="#content_bad.html"
data-active-color="blue"
data-active-pattern=".*#content_bad.html">Bad
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="ro-pc"
data-color="white"
data-text-align="center"
data-load="div#content_buro"
data-url="#content_buro.html"
data-active-color="blue"
data-active-pattern=".*#content_buro.html">Büro
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="ro-hanger"
data-color="white"
data-text-align="center"
data-load="div#content_flur"
data-url="#content_flur.html"
data-active-color="blue"
data-active-pattern=".*#content_flur.html">Flur
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-cutlery"
data-color="white"
data-text-align="center"
data-load="div#content_kuche"
data-url="#content_kuche.html"
data-active-color="blue"
data-active-pattern=".*#content_kuche.html">Küche
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-bed"
data-color="white"
data-text-align="center"
data-load="div#content_schlafen"
data-url="#content_schlafen.html"
data-active-color="blue"
data-active-pattern=".*#content_schlafen.html">Schlafen
</div>
<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="ro-sofa"
data-color="white"
data-text-align="center"
data-load="div#content_wohnen"
data-url="#content_wohnen.html"
data-active-color="blue"
data-active-pattern=".*#content_wohnen.html">Wohnen
</div>
</nav>

<main id="panel" class="">
<header id="header-nav" class="bg-lightgray row">
<table width="100%">
<tr>
<td width="10%">
<div data-type="slideout"
class="left-align notouch">
</div>
</td>
<td width="60%" class="large bold middle" style="border-right:1px solid black;">
<div id="linkname"
class="large bold middle">
</div>"title"
</td>
<td width="10%">
<div data-type="symbol"
data-device="gds"
data-get="a_count"
data-states='["[1-9]{1}|[0-9]{2}","0"]'
data-icons='["fa-bolt warn","fa-bolt"]'
data-colors='["firebrick","black"]'
class="large">
</div>
</td>
<td width="20%">
<div data-type="clock"
data-format="H:i"
data-interval="1000"
class="large thin orange">
</div>
</td>
</tr>
</table>
</header>
        <div class="page" id="content_home"></div>
        <div class="page" id="content_bad"></div>
        <div class="page" id="content_buro"></div>
        <div class="page" id="content_flur"></div>
        <div class="page" id="content_kuche"></div>
        <div class="page" id="content_schlafen"></div>
        <div class="page" id="content_wohnen"></div>
    </main>

</body>
</html>


Grüße^^

Nicht von dem "title" im Screenshot verwirren lassen. Habe ich derzeit nur als Platzhalter drin!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 25 April 2016, 08:35:54
Wodurch soll div#linkname gefüllt werden? Die Menü Punkte heißen alle div#content*

Btw: Laut HTML Kochbuch sollte man TABLE nur einsetzen, wenn man wirklich eine Tabelle ala Excel anzeigen will. TABLE sollte nicht für das Seiten Layout benutzt werden.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: hermann1514 am 25 April 2016, 09:38:57
Zitat von: fhainz am 23 April 2016, 09:17:03
Liegt vermutlich nicht an DBLog. Die Aktuelle Version von widget_chart aus dem eval branch funktioniert bei mir auch nicht.
Eine funktionierende Version unter 2.2 ist diese hier. Ich kann nicht genau sagen aus welchem Thread ich sie habe. Hab zwar danach gesucht, aber sie nicht gefunden :D


Hey,

auch diese Version funktioniert bei mir nicht.
Gibt es noch eine andere Version?
Auch bei mir läuft dieses Widget unter 1.1

Gruß
Hermann
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 25 April 2016, 11:33:07
Zitat von: setstate am 25 April 2016, 08:35:54
Wodurch soll div#linkname gefüllt werden? Die Menü Punkte heißen alle div#content*

Btw: Laut HTML Kochbuch sollte man TABLE nur einsetzen, wenn man wirklich eine Tabelle ala Excel anzeigen will. TABLE sollte nicht für das Seiten Layout benutzt werden.

Na mit dem im Link befindlichen Namen


<div data-type="link" class="large top-space-2x left-space-3x"
data-width="150"
data-icon-left="fa-home"
data-color="white"
data-text-align="center"
data-load="div#content_home"
data-url="#content_home.html"
data-active-color="blue"
data-active-pattern="(.*index.html|.*#content_home.html)">Home
</div>

In dem Fall -> Home ... schau dir dein eigenes Beispiel an: index_nav_mobil.html

Funktionierte (mit der Ausnahme, dass beim ersten öffnen der Seite der "Titel" nicht angezeigt wurde, was ja möglicherweise noch geändert wird) ohne Probleme bis ich diese div in eine table gesteckt habe.

Dass table's nicht zur formatierung genutzt werden sollen mag ja stimmen und kann ich in bestimmten Fällen auch verstehen. Nur ist die ganze col-x-x Geschichte absoluter Mist wie ich finde!
Man kann es einfach nicht sauber auf die darin befindlichen Inhalte anpassen, geschweigedenn irgendwas sauber damit ausfüllen (bestes Beispiel der Header) und die Widgets (die meisten) sind dann über die gesamte Fläche des col-x-x klickbar, was ein scrollen über längere Seiten massiv behindert!

Ich stamme noch aus dem DOCTYPE HTML 4.4 Zeitalter und mag was HTML5 angeht reichlich beschränkt sein. Aber mit einer Table habe ich immer alles da hin bekommen wo ich es hin haben wollte.
Und das verhalten der Div's ist nun auch nicht sehr berauschend... vorallem wenn man ihnen ein paar Klassen verpasst ist der Text plötzlich unten ausgerichtet und der "float" ist völlig im Eimer. Dann man kann alles nochmal neu formatieren....

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: zap am 25 April 2016, 11:59:18
Dem kann ich uneingeschränkt zustimmen. Der Versuch, Tabellen mit CSS-Mitteln darzustellen ist ein reines Glücksspiel. Nicht alles an native HTML ist schlecht. Mit table Tags kann man Tabelleninhalte vernünftig formatieren und positionieren, und das Browser übergreifend.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 25 April 2016, 12:35:47
Zitat von: roman1528 am 25 April 2016, 07:53:13
[...]
Bei der Beispieleinbindung von dir (index_nav_mobil.html) funktioniert es eigentlich. Nur beim ersten Aufruf nicht.
[...]

Kann ich bestätigen!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 25 April 2016, 12:39:11
Sorry, ich bin jetzt wieder im Bilde. Ist schon wieder etwas her.
Ich schaue mir das an, muss am Selector liegen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 25 April 2016, 16:19:29
Hey.

Öhm.. wenn du mal ganz viel Zeit hast schau dir doch bitte mal das angehängte Widget an..

Ich habe mich da schon dran probiert... allerdings komme ich mit dem neuen Readings-Handling nicht klar... ich habe das ding wahrschienlich auch schon komplett vermurkst...

Wäre super wenn du das Teil hinbiegen könntest und wenn dann kannst du es ja auch ins Repo aufnehmen.

Widget zum anzeigen der Meldungen im GDS-Modul:
data-get="alert" wird nur behandelt um zu schauen ob es gesetzt ist (nicht als Reading) da dort auch irgendwann die forecast behandelt werden sollte... Kann im Grunde aber raus.
data-max="10" um die Anzahl der anzuzeigenden Meldungen einzustellen/zu begrenzen.

Danke dir schon mal im Vorraus.
Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 25 April 2016, 18:45:19
Hallo setstate,

habe den Stand von gestern bei mir laufen. Jetzt wollte ich ein LW12 mit
      <div data-type="volume" data-device="EG_WZ_LedTV" data-min='0' data-max='360' data-tickstep='4' data-get='RGB' data-set='RGB' class="cell small hue-tick rgb" > </div>
steuern.

Wenn ich aber class=".. rgb ..." setze, bekomme ich die Fehlermeldung

initPage - area=
widget_volume.js:188 Uncaught ReferenceError: widget_knob is not defined(anonymous function)
@ widget_volume.js:188m.extend.each
@ jquery.min.js:2m.fn.m.each
@ jquery.min.js:2update
@ widget_volume.js:177(anonymous function)
@ fhem-tablet-ui.js:707j
@ jquery.min.js:2k.fireWith
@ jquery.min.js:2e.(anonymous function)
@ jquery.min.js:2(anonymous function)
@ fhem-tablet-ui.js:716j
@ jquery.min.js:2k.add
@ jquery.min.js:2d.always
@ jquery.min.js:2(anonymous function)
@ fhem-tablet-ui.js:693j
@ jquery.min.js:2k.fireWith
@ jquery.min.js:2e.(anonymous function)
@ jquery.min.js:2script.onload
@ fhem-tablet-ui.js:742
fhem-tablet-ui.js:340 get jsonlist2: 2410.817ms


Ohne class=" .. rgb ..." funktioniert es.

Hast Du eine Idee. Bin leider in JS und jquery nicht tief genug drin um ein Fehler zu lokalisieren.


Danke
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 25 April 2016, 18:56:43
Habe doch bei dem widget_volume.js ein Problem gefunden.

Habe in Zeile 188ff.
   
               //is hex rgb

                val=widget_knob.rgbToHsl(val)[0];
                val=val*elem.data('max');
            }


durch

                //is hex rgb

                val=ftui.rgbToHsl(val)[0];
                val=val*elem.data('max');
            }


ersetzt.

Und in Zeile 111 setFhemStatus durch ftui.setFhemStatus ersetzt. War aber nur eine depricate-Meldung


Gruß
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Haecksler am 25 April 2016, 19:47:36
Hallo zusammen,
habe gerade gerade versucht von pagetab auf pagebutton umzusteigen...wollte mal schauen ob das dann die Seiten noch schneller laden...leider ohne Erfolg.

Habe mich bei meinem Versuch an die index_page_demo.html gehalten.

Kann mir jemand kurz ein paar Tipps geben was alles angepasst werden muss.

Danke!

Gruß,
Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 April 2016, 05:05:31
Zitat von: MichaelT am 25 April 2016, 18:56:43
Habe doch bei dem widget_volume.js ein Problem gefunden.

Habe in Zeile 188ff.
   
               //is hex rgb

                val=widget_knob.rgbToHsl(val)[0];
                val=val*elem.data('max');
            }


durch

                //is hex rgb

                val=ftui.rgbToHsl(val)[0];
                val=val*elem.data('max');
            }


ersetzt.

Und in Zeile 111 setFhemStatus durch ftui.setFhemStatus ersetzt. War aber nur eine depricate-Meldung


Gruß

Vielen Dank, fürs Suchen & Finden. genau das war es. Ich habe es jetzt so übernommen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 April 2016, 06:12:58
Das Thema mit den SlideOut Linkname ist jetzt auch gefixed. Wenn die 2.2 dann stable ist, muss ich auch endlich mal die Readme aktualisieren.
Welche Widgets laufen jetzt noch nicht?
Gds und multistatebutton weiß ich noch ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 26 April 2016, 06:45:46
Moin.
Erstmal vielen Dank für deine Mühe. Tolle Arbeit!! Kann ich nicht oft genug sagen.

CoolTux erwähnte daß SetTimer-Widget von nesges.

Wäre für mich bestimmt auch irgendwann interessant :)

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: guna83 am 26 April 2016, 07:02:49

Viele Grüße & Danke für die tolle Arbeit!
Andrea
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 26 April 2016, 07:30:35
Das wdtimer Widget funktioniert auch noch nicht. Kanns mir mal ansehen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 26 April 2016, 07:38:07
Zitat von: roman1528 am 26 April 2016, 06:45:46
Moin.
Erstmal vielen Dank für deine Mühe. Tolle Arbeit!! Kann ich nicht oft genug sagen.

CoolTux erwähnte daß SetTimer-Widget von nesges.

Wäre für mich bestimmt auch irgendwann interessant :)

Grüße^^
Das wäre toll wenn das gehen würde. Meine ganze Familie stellt damit ihren Residenz Wecker.

Ich habe nun 3 Tage testen können. Meine Version ist von Mitte letzter Woche. Es gibt wohl noch Probleme beim Status der Geräte wenn dieser in FHEM sich ändert. FTUI scheint das nicht mit zu bekommen.

Grüße
Leon
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 April 2016, 07:55:33
Zitat von: CoolTux am 26 April 2016, 07:38:07
Ich habe nun 3 Tage testen können. Meine Version ist von Mitte letzter Woche. Es gibt wohl noch Probleme beim Status der Geräte wenn dieser in FHEM sich ändert. FTUI scheint das nicht mit zu bekommen.

Grüße
Leon

Was sagt der HealthCheck in der Console beim Thema longpoll? Ist es laut Output an, sind die Objekte erzeugt und wann war der letzte timestamp? Bitte auch die eval Version heute nochmal updaten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 26 April 2016, 08:46:35
Zitat von: setstate am 26 April 2016, 07:55:33
Was sagt der HealthCheck in der Console beim Thema longpoll? Ist es laut Output an, sind die Objekte erzeugt und wann war der letzte timestamp? Bitte auch die eval Version heute nochmal updaten.
Hallo,

Das werde ich mir heute alles in Ruhe anschauen. Ich melde mich dann noch mal.

Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SvenJust am 26 April 2016, 10:08:13
Hallo,

das Widget pagebutton funktioniert seit einigen Tagen nicht mehr. Der Fehler tritt seit dem Einfügen des folgenden Codes in der Zeile var hashUrl=elem.data('url').replace('#',''); auf:

           // remove all left locks
           var sel = elem.data('load');
           var hashUrl=elem.data('url').replace('#','');
           var lockID = ['ftui',me.widgetname,hashUrl,sel].join('_');
           localStorage.removeItem(lockID);


Meine Kenntnisse reichen leider nicht zum Fixen des Problems.

VG
Sven
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 April 2016, 10:19:18
Wie äußert sich der Fehler? Man kann nicht mehr auf eine Unterseite wechseln, wenn diese nicht mit class="prefetch" schon vorher geladen wurde?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 26 April 2016, 10:23:25
Zitat von: setstate am 26 April 2016, 06:12:58
Das Thema mit den SlideOut Linkname ist jetzt auch gefixed.

So weit so gut... Deine Demo funktioniert einwandfrei... nur in meiner index.html läuft wieder nix -.- gleiches phänomen wie beim popup was...

oder übersehe ich hier noch irgendeinen fehler?

<nav id="menu">
<div data-type="link" class="large top-space-mobile-2 left-space-2"
data-width="150"
data-icon-left="fa-home"
data-color="white"
data-text-align="center"
data-load="div#content_home"
data-url="#content_home.html"
data-active-color="blue"
data-active-pattern="(.*index.html|.*#content_home.html)">Home
</div>
       </nav>


<main id="panel" class="">
<header id="header-nav" class="bg-lightgray row">
<table width="100%">
<tr>
<td width="10%">
<div data-type="slideout"
class="left-align notouch">
</div>
</td>
<td width="60%" style="border-right:1px solid black;">
<div id="linkname"
class="large bold middle">
</div>
</td>
<td width="10%">
<div data-type="symbol"
data-device="gds"
data-get="a_count"
data-states='["0","[1-9]{1}|[0-9]{2}"]'
data-icons='["fa-bolt","fa-bolt warn"]'
data-colors='["black","firebrick"]'
class="large">
</div>
</td>
<td width="20%">
<div data-type="clock"
data-format="H:i"
data-interval="1000"
class="large thin orange">
</div>
</td>
</tr>
</table>
</header>
        <div class="page" id="content_home"></div>
        <div class="page" id="content_bad"></div>
        <div class="page" id="content_buro"></div>
        <div class="page" id="content_flur"></div>
        <div class="page" id="content_kuche"></div>
        <div class="page" id="content_schlafen"></div>
        <div class="page" id="content_wohnen"></div>
        <div class="page" id="content_draussen"></div>
        <div class="page" id="content_wetter"></div>
        <div class="page" id="content_dwd"></div>
        <div class="page" id="content_system"></div>
    </main>


Console:
Zitat
linkname Home
       Object { length: 0, prevObject: Object, context: <div.left-align.notouch.fa-stack>, selector: "#linkname" } widget_slideout.js:60:13

class="default" im ersten <nav><div> fehlt absichtlich... damit ist der "dopplungfehler" ausgeschlossen, trotzdem wird es als erste seite geladen. mit class="default" keine besserung für #linkname.

Apropos PopUp... Warum liegt das PopUp hinter dem Shade obwohl der z-index richtig ist?

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 26 April 2016, 20:47:06
Hallo

ich habe einen Fehler beim "label" ich bekomme nicht bei allem eine reading angezeigt?
zum test in version 1.x funktion ok (Bild 1)
    <div>
        <section>
            <div data-type="label" data-device="Benzinpreis" class="big col-1-2 fixedlabel">Diesel</div>
            <div data-type="label" data-device="Benzinpreis" data-get="Diesel" data-fix="2" data-unit="Euro" class="big col-1-2"></div>
         </section>
         <section>
            <div data-type="label" data-device="Aussentemperatur" class="big col-1-2 fixedlabel">Aussentemperatur</div>
            <div data-type="label" data-device="Aussentemperatur" data-get="Aussentemperatur" data-fix="1" data-unit="%B0C%0A" class="big col-1-2"></div>
         </section>
         
    </div>


gleicher Code in Version 2.2 (Bild 2)

<!DOCTYPE html>
<html>
<head></head>
<body>
    <div class="page" id="content3">
        <section>
            <div data-type="label" data-device="Benzinpreis" class="big col-1-2 fixedlabel">Diesel</div>
            <div data-type="label" data-device="Benzinpreis" data-get="Diesel" data-fix="2" data-unit="Euro" class="big col-1-2"></div>
         </section>
         <section>
            <div data-type="label" data-device="Aussentemperatur" class="big col-1-2 fixedlabel">Aussentemperatur</div>
            <div data-type="label" data-device="Aussentemperatur" data-get="Aussentemperatur" data-fix="1" data-unit="%B0C%0A" class="big col-1-2"></div>
         </section>
    </div>
</body>
</html>


der Vollständigkeit halber ein Auszug aus "list Benzinpreis"

QUEUE:
   Readings:
     2016-04-26 20:28:25   Diesel          0.98
     2016-04-26 20:28:25   SuperE10        1.18
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.clever-tanken.de/tankstelle_details/18689
     value      0
   Defptr:
     Readingbase:
       Diesel     reading
       SuperE10   reading
     Readingnum:
       Diesel     _Diesel
       SuperE10   _SuperE10
     Readingoutdated:
     Readingsubnum:
       Diesel
       SuperE10
   Sslargs:
Attributes:
   readingsName_Diesel Diesel
   readingsName_SuperE10 SuperE10
   readingsRegex_Diesel <span>Diesel</span>[^0-9]+([0-9\.]+)
   readingsRegex_SuperE10 <span>Super E10</span>[^0-9]+([0-9\.]+)
   readingsRegex_SuperE5 <span>Super E5</span>[^0-9]+([0-9\.]+)
   room       Technik
   stateFormat {sprintf(ReadingsVal($name,"SuperE10",0))}


seltsamer weise geht bei beiden versionen Aussentemperatur?

Gruß Rolf

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 April 2016, 21:41:28
ich sehe jetzt nicht sofort einen Grund, warum das nicht funktionieren soll.

Du kannst jetzt nur den Inspektor der Entwicklertools bemühen und das DIV auswählen und schauen, ob du eine spezielle CSS-Regel benutzt, die das Element unsichtbar macht oder eine Width von 0 verpasst.


Frage: Warum nimmst du ein Label Widget für einen Festwert "Diesel"? Es reicht auch so und besser für die Performance und spart Ressourcen

<div class="big col-1-2">Diesel</div>

Die Variante mit fixedlabel ist nutzvoll, wenn man zwar einen fest String anzeigen will, aber zum Beispiel die Farbe abhängig vom Readingwert ändern will.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 26 April 2016, 21:51:42
dann werde ich mal auf Spurensuche gehen, danke für den Tip  :D 
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 26 April 2016, 23:42:39
Betreffend #linkname:

Gerade nochmal ein Update gezogen. Nun läuft das einwandfrei. Vielen Dank.

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 08:57:39
Das gds ist schon etwas verzwickt ...
Werden wirklich einzelne Readings separat upgedated? Also muss man jeden einzelnen für mögliche Updates subscriben? Oder reicht es wenn man die Anzahl beobachtet und nur bei Änderung alles neu zeichnet? Wenn sich aber nur die Description des Readings ab und an ändert oder die Startzeit des Unwetters, müssen wir alle Readings mit addReading hinzufügen und bei Update darauf filtern. Hattest du ja schon angefangen, aber in der update Funktion fehlt noch Schleife für 'I' Variable
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 09:59:42
Moin.
Im Prinzip reicht es auf "a_count" zu lauschen.
Dann würde ich aber wahrscheinlich noch "GDS_CAPDATA_READ" (Unix-Time) mit beobachten. Wenn nämlich nach einer Aktualisierung wieder z.B. 2 (neue) Warnungen vorhanden sind. Damit beide aktualisiert werden.
Wobei es Sinn macht im GDS-Modul "attr <name> event-on-update-reading .*" zu setzen. GDS ist nämlich sehr sparsam was das feuern von Events angeht und es muss so oder so manuell aktualisiert werden (at).
Hänge gleich noch einen Screenshot an um zu verdeutlichen wie es normalerweise aussieht.

Grüße^^

EDIT: Screenshots added.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 10:44:27
Das macht vieles einfacher und spart Resourcen.
Somit braucht man nur diese beiden Readings mit addReading hinzufügen und in der Update Funktion darauf filtern. Wenn später ein Update reinkommt, kann man dann trotzdem alle anderen Readings durchgehen und anzeigen. Es sind ja immer alle Readings verfügbar. addReading ist wirklich nur für das Subscriben auf die Update Notifikation.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 11:10:36
Zitat von: setstate am 27 April 2016, 10:44:27
Das macht vieles einfacher und spart Resourcen.
Somit braucht man nur diese beiden Readings mit addReading hinzufügen und in der Update Funktion darauf filtern. Wenn später ein Update reinkommt, kann man dann trotzdem alle anderen Readings durchgehen und anzeigen. Es sind ja immer alle Readings verfügbar. addReading ist wirklich nur für das Subscriben auf die Update Notifikation.

Die Readings sind nur verfügbar sofern "a_count" > 0 ist.
Und selbst "a_count" existiert bei 0 nur per userReadings bzw. notify -> setreading, da GDS kein "a_count"-Event erzeugt. (Somit auf per userReadings nicht aktualisiert wird....

Es ist wie gesagt etwas verzwickt mit GDS, weil das Modul ein etwas anderes Leben lebt.

EDIT:

Spiele gerade nochmal etwas mit GDS rum.
Ich teste gerade ob es nicht reicht wenn man "a_count" verwendet unter fogenden Vorrausetzungen.

attr GDS userReadings a_count { ReadingsVal('GDS','a_count','0') }
attr GDS event-on-change-reading a_count
attr GDS event-on-update-reading a_count
attr GDS gdsUseAlerts 1


Erfolgreich, wenn: a_count immer als Reading existiert UND immer ein Event im Event-Monitor erzeugt wird.

Somit wäre auch die für das GDS-Widget vorrausgesetzte Konfiguration des GDS-Modul's deutlich einfacher.

Grüße^^

EDIT 2:

Mir fällt noch was ein.

Irgendein Widget kann doch darauf reagieren ob ein Reading vorhanden ist oder nicht. Genau das brauchen wir.

attr GDS event-on-change-reading a_count
attr GDS event-on-update-reading a_count
attr GDS gdsUseAlerts 1

Als Vorraussetzung beibehalten um wirklich alles mitzubekommen. Damit sollte man nichts verpassen.

Event: a_count.* -> ? a_count vorhanden -> true, alle anderen Readings holen und ausgeben.
                                                             -> false, idle -> Keine Warnungen vorhanden.

GDS gds a_count 0 wird auf jeden Fall gefeuert, auch wenn a_count anschließend nicht als Reading vorhanden ist.

Grüße^^
P.S. hoffe das kann man verstehen XD
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 12:31:44
Zitat von: roman1528 am 27 April 2016, 11:10:36
...
P.S. hoffe das kann man verstehen XD

Nö, aber das gds Widget ist ja eh deine Baustelle.  ;)

Ich wollte nur den Hinweis geben: addReading für das, dessen Events man belauschen will. Anzeigen kann man dann alles, da alle Devices und Readings bekannt sind.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SvenJust am 27 April 2016, 12:45:53
Zitat von: setstate am 26 April 2016, 10:19:18
Wie äußert sich der Fehler? Man kann nicht mehr auf eine Unterseite wechseln, wenn diese nicht mit class="prefetch" schon vorher geladen wurde?

Mit class="prefetch" tritt der Fehler nicht mehr auf, danke! Durch den Fehler wurden die Buttons ohne farbigen Hintergrund dargestellt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 12:50:43
Zitat von: setstate am 27 April 2016, 12:31:44
Nö, aber das gds Widget ist ja eh deine Baustelle.  ;)

Ich wollte nur den Hinweis geben: addReading für das, dessen Events man belauschen will. Anzeigen kann man dann alles, da alle Devices und Readings bekannt sind.

Ah ok cool... ja.. dann mach ich mich da gleich mal ran...  :-[

Was ganz anderes.

Wenn man die Seite zum ersten mal aufruft, wird ja ein shortPoll ausgeführt. Bis dieser Fertig ist und die Widgets aktualisiert wurden ist eine Bedienung ja quasi unmöglich.
Kann man da nicht den #shade aktivieren und z.B. fa-spinner "fa-pulse" lassen?  ;D

Wenn der erste shortPoll (Full refresh done) durch ist fa-spinner weg und #shade.hide().

Ich finde das hätte was... Habe schon mal geschaut nur möchte ich ungern in der fhem-tablet-ui.js rumbasteln, noch weiß ich an welcher Stelle ich ansetzen sollte...

Grüße^^

EDIT:

Noch 'ne Frage wegen GDS: attribute lesen ging doch auch irgendwie oder? Um fest zu stellen ob gdsUseAlerts gesetzt ist.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SvenJust am 27 April 2016, 13:28:13
Zitat von: SvenJust am 27 April 2016, 12:45:53
Mit class="prefetch" tritt der Fehler nicht mehr auf, danke! Durch den Fehler wurden die Buttons ohne farbigen Hintergrund dargestellt.

Mein Geschreibsel war falsch, der Fehler tritt weiterhin auf, ich hatte nur den fraglichen JS-Code (https://forum.fhem.de/index.php/topic,50945.msg444329.html#msg444329) auskommentiert, dann tritt der Fehler nicht auf. Ich lege einen Screenshot bei.

Die Pagebuttons werden mit fünf data-templetes eingebunden:
<li data-row="9" data-col="1" data-sizex="1" data-sizey="1" data-template="menu_b_1.html"></li>
<li data-row="9" data-col="2" data-sizex="1" data-sizey="1" data-template="menu_b_2.html"></li>
<li data-row="9" data-col="3" data-sizex="1" data-sizey="1" data-template="menu_b_3.html"></li>
<li data-row="9" data-col="4" data-sizex="1" data-sizey="1" data-template="menu_b_4.html"></li>
<li data-row="9" data-col="5" data-sizex="1" data-sizey="1" data-template="menu_b_5.html"></li>

Das menu_b_3.html sieht aus, wie folgt:
<!-- KLIMA UND BESCHATTUNG -->
<header>KLIMA</header>
<div data-type="circlemenu" class="top-space cell circlemenu" data-direction="top" data-circle-radius="90">
<ul class="menu">
<li><div data-type="pagebutton" data-icon="oa-control_building_control" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_33.html" data-icon="oa-sani_heating" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle"  class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_34.html" data-icon="oa-vent_ventilation_control" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle"  class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_32.html" data-icon="oa-fts_sunblind" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
</ul>
</div>


Die Pagebuttons aus menu_b_2.html funktionieren:
<!-- WETTER -->
<header>WETTER</header>
<div data-type="circlemenu" class="top-space cell circlemenu" data-direction="top" data-circle-radius="120">
<ul class="menu">
<li><div data-type="pagebutton" data-icon="oa-weather_cloudy_light" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle"  class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_20.html" data-icon="fa-sun-o" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_23.html" data-icon="fa-area-chart" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_2.html" data-icon="oa-weather_rain" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
<li><div data-type="pagebutton" data-url="index_21.html" data-icon="oa-weather_wind" data-off-color="rgb(42,42,42)" data-off-background-color="rgb(170,105,0)" data-background-icon="fa-circle" class="prefetch"></div></li>
</ul>
</div>


Ich sehe eigentlich keinen Unterschied in der Definition.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 15:51:51
So... mit O


<div data-type="gds" data-device="GDS-Device"></div>


Parameter:
data-max: Legt die maximale Anzahl an angezeigten Warungen fest. Standard: 10

Class:
Alle bekannten Klassen (small, medium, large, big, bigger...) um die Schriftgröße zu ändern.

Grüße^^ :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 16:19:41
Spitze! Gute Arbeit. Code sehe ich mir dann auch noch an
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 16:45:41
 :) :)

Danke. Hab auch reichlich rumgeflucht..  ;D

Bin jetzt gerade wieder bei meinm AnalogClock-DoppeltUndDreifach-Lade-Problem... sch...ande blöde  >:(

Ich galube ich mache erstmal den Screensaver soweit fit, dass man dort auch Swiper einbinden kann. und zwar so, dass man die dahinterliegenden nicht sieht.

ggf. komme ich da dann auch nochmal auf dich zurück wegen den z-index'n des swiper... aber mal abwarten.

EDIT:
Okay.. das hat also nix mit dem Screensaver zu tun würde ich sagen.

Eher mit dem Swiper, der nicht darauf klar kommt dass er irgendwo anders drin steckt... müsstest du vielleicht mal schauen was das sein kann. Pagination ist völlig durcheineinander und autoplay läuft nicht.

z-index der Swiper-Klassen werden in der screensaver.css überschrieben.. also angezeigt wird alles.

Screensaver-Widget kommt demnächst per Pull-Request :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 18:49:48
Zitat von: roman1528 am 27 April 2016, 12:50:43
Wenn man die Seite zum ersten mal aufruft, wird ja ein shortPoll ausgeführt. Bis dieser Fertig ist und die Widgets aktualisiert wurden ist eine Bedienung ja quasi unmöglich.
Kann man da nicht den #shade aktivieren und z.B. fa-spinner "fa-pulse" lassen?  ;D

Wenn der erste shortPoll (Full refresh done) durch ist fa-spinner weg und #shade.hide().

Ich finde das hätte was... Habe schon mal geschaut nur möchte ich ungern in der fhem-tablet-ui.js rumbasteln, noch weiß ich an welcher Stelle ich ansetzen

Die initiale ShortPoll Abfrage passiert doch asynchron im Hintergrund. Ich kann da schon etwas schalten währenddessen. Shade oder Spinner muss an dieser Stelle nicht sein, denke ich.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: skuggy am 27 April 2016, 19:00:07
Hallo zusammen,

update all funktioniert bei mir nicht, ich erhalte folgende Meldung:

     
2016.04.27 18:56:24 1 : RMDIR: ./restoreDir/2016-02-01
2016.04.27 18:56:25 1 : UPD www/tablet_eval/content_lights.html
2016.04.27 18:56:25 1 : open ./www/tablet_eval/content_lights.html failed: Permission denied, trying to restore the previous version and aborting the update
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: kt83 am 27 April 2016, 19:21:32
Zitat von: skuggy am 27 April 2016, 19:00:07
Hallo zusammen,

update all funktioniert bei mir nicht, ich erhalte folgende Meldung:

     
2016.04.27 18:56:24 1 : RMDIR: ./restoreDir/2016-02-01
2016.04.27 18:56:25 1 : UPD www/tablet_eval/content_lights.html
2016.04.27 18:56:25 1 : open ./www/tablet_eval/content_lights.html failed: Permission denied, trying to restore the previous version and aborting the update


Mal die Rechte des Verzeichnisses (tablet_eval) bzw. der darin enthaltenen Dateien checken. Hattest Du vorher "händisch" installiert? Der Nutzer, unter dem FHEM läuft, braucht Schreibrechte!

Grüße,
Thomas.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 27 April 2016, 20:22:15
Zitat von: setstate am 27 April 2016, 18:49:48
Die initiale ShortPoll Abfrage passiert doch asynchron im Hintergrund. Ich kann da schon etwas schalten währenddessen. Shade oder Spinner muss an dieser Stelle nicht sein, denke ich.

Bis auf Seitenaufrufe kann ich trotzdem nicht bedienen bis nicht der initiale Shortpoll durch ist!

Eventuell kann man das ja optional über einen <meta>Tag machen. Irgendwas wie: shadeOnLoad

Oder du sagst mir an welcher stelle der initiale shortpoll geschieht... dann versuch ich das zu bauen.
wäre ja auch nur für den aller ersten aufruf der seite
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: nightstorm99 am 27 April 2016, 21:15:18
Hallo,

wer kümmert sich eigentlich um das Highchart Widget???
Oder hat das jemand schon am laufen unter der 2.2 ???


Danke und Gruß
Denny
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 27 April 2016, 21:43:42
habe auch gerade mal die neue eval-Version getestet. Gefühlt deutlich schneller beim Laden, danke setstate!

Drei Veränderungen habe ich allerdings im Vergleich mit der alten Version (V2.0, mit den gleichen html-Seiten, habe nur statische durch relative Pfade im header ersetzt):

1) Longpoll geht nicht bzw. es werden keine Readings eventgesteuert aktualisiert. Wenn ich das Fenster öffne, bekomme ich das in FTUI nicht angezeigt. In der alten Version hat das geklappt. longpoll ist im header natürlich gesetzt mit content=1.

2) Ein Label mit class="cell big thin" ist deutlich größer als bisher. Ohne "thin" ist es wieder kleiner.

3) Ich habe folgendes pagebutton widget, bei dem jetzt kein icon mehr angezeigt wird. Bisher ging das...

<div data-type="pagebutton"
            data-device="MuellterminDummy"
data-url="kalender.html"
            data-background-icon=""
data-get="GelberSack"
            data-icons='["fa-recycle warn fa-spin","fa-recycle warn"]'
            data-on-colors='["#aeae00","#aeae00"]'
            data-get-on='["0","2"]'
            class="inline small  " >
            </div>


Wenn ich "pagebutton" durch "symbol" ersetze, wird das icon wieder angezeigt...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 27 April 2016, 23:17:38
beim Pagebutton wird das data-on-colors andersweitig benutzt. Damit es ähnlich wie pagetab benutzt werden kann und der on und off Status entsprechend passend für den aktiven Button gesetzt wird, wird data-on-colors auch intern gesetzt.
Für Multistates nimm einfach data-colors


data-icons='["fa-recycle warn fa-spin","fa-recycle warn"]'
data-colors='["#aeae00","#aeae00"]'
data-states='["0","2"]'
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: justme1968 am 27 April 2016, 23:46:25
ich habe meine config auch gerade mit 2.2 getestet. bist jetzt funktioniert alles bis auf das colorwheel. hier wird bei jeder änderung immer ffffff gesetzt.

gruss
  andre
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 April 2016, 05:54:09
Zitat von: justme1968 am 27 April 2016, 23:46:25
ich habe meine config auch gerade mit 2.2 getestet. bist jetzt funktioniert alles bis auf das colorwheel. hier wird bei jeder änderung immer ffffff gesetzt.
...

Ich habe es gerade mit der demo_colorwheel.html Seite probiert, da geht alles. Wie sieht deine Definition aus?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: justme1968 am 28 April 2016, 09:59:54
meine definition schaut so aus:<div data-type="colorwheel" data-device="SWAP_BB" data-get="0B-RGBlevel" data-set="rgb" class="small" ></div>

die demo_colorwheel.html seite von hier: http://knowthelist.github.io/fhem/tablet/demo_colorwheel.html gibt bei mir einen js fehler in zeile 290 von hem-tablet-ui.min.js: JSON Pause error: Unrecognized token'<'.

gruss
  andre
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 28 April 2016, 19:04:10
Zitat von: setstate am 27 April 2016, 23:17:38
beim Pagebutton wird das data-on-colors andersweitig benutzt. Damit es ähnlich wie pagetab benutzt werden kann und der on und off Status entsprechend passend für den aktiven Button gesetzt wird, wird data-on-colors auch intern gesetzt.
Für Multistates nimm einfach data-colors

danke setstate, damit geht es.

aber warum geht bei mir kein longpoll? muss man noch irgendetwas anpassen?

Es kommt eine Meldung "longpoll started", aber es werden keine readings eventgesteuert angepasst...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 April 2016, 20:07:01
Zitat von: FhemPiUser am 28 April 2016, 19:04:10
danke setstate, damit geht es.

aber warum geht bei mir kein longpoll? muss man noch irgendetwas anpassen?

Nimm mal diesen HEAD. Hier ist debuglevel auf 4, da sieht man einiges mehr. Longpoll startet erst, wenn alle Widgets initiiert ist und der erste Shortpoll durch ist. Wenn dabei ein Fehler auftritt, startet longPoll nicht.

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="4"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- 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="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

    <title>FTUI Dev</title>
</head>


Entweder du siehst in der Webconsole damit schon etwas, oder du postest den Output hier
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 28 April 2016, 20:22:03
habe ich, aber es kommt nur "full resfresh done" und dann "longpoll started"...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 April 2016, 20:38:41
Und mit debug=4 müsstest du dann auch die Arrays sehen, die reinkommen


Array [ "hmlan", "opened", "<div id="hmlan"  class="col2">opene..." ] fhem-tablet-ui.js:915:13
Array [ "hmlan-loadLvl", "low", "low" ] fhem-tablet-ui.js:915:13
Array [ "hmlan-loadLvl-ts", "2016-04-28 20:33:39", "2016-04-28 20:33:39" ] fhem-tablet-ui.js:915:13
Array [ "SatReceiver", "on", "<div id="SatReceiver"  class="col2"..." ] fhem-tablet-ui.js:915:13
update done for "SatReceiver:STATE"


Was sagt der HealthCheck? Sektion LongPoll?


--------- start healthCheck --------------
now: Date 2016-04-28T18:33:34.590Z
FTUI version: 2.2.1
Longpoll: true
Longpoll objects there: true
Longpoll curent line: 443
Longpoll last event before: 21 Sekunde(n)
Shortpoll interval: 900
Shortpoll last run before: 8 Minute(n) 49 Sekunde(n)
FHEM dev/par count: 4914
Page length: 84137
Widgets count: 106
--------- end healthCheck ---------------
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 28 April 2016, 21:32:52
Beim Neuladen der Seite kommen ein paar warnings, undefines und ein Error beim weather-widget:


...
Mit document.write() wurde ein nicht balancierter Baum geschrieben, was dazu geführt hat, dass Daten aus dem Netzwerk neu geparst werden mussten. Für weitere Informationen https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing ftui_eval:768:0
...
Plugin dir: js fhem-tablet-ui.js:915:13
Filename:  fhem-tablet-ui.js:915:13
FHEM dir: /fhem/ fhem-tablet-ui.js:915:13
initPage: Timer gestartet fhem-tablet-ui.js:233
initPage - area= fhem-tablet-ui.js:915:13
start shortpoll in (ms):30000 fhem-tablet-ui.js:915:13
count of templates: fhem-tablet-ui.js:915:13
Object { modules: Array[0], addModule: plugins.addModule(), removeArea: plugins.removeArea(), updateParameters: plugins.updateParameters(), load: plugins.load(), update: plugins.update(), tts: Object } fhem-tablet-ui.js:915:13
Object { modules: Array[0], addModule: plugins.addModule(), removeArea: plugins.removeArea(), updateParameters: plugins.updateParameters(), load: plugins.load(), update: plugins.update(), tts: Object } fhem-tablet-ui.js:915:13
initWidgets - area= fhem-tablet-ui.js:915:13
....
init widget: label fhem-tablet-ui.js:915:13
undefined - value:52, substitution: fhem-tablet-ui.js:915:13
...
dynamic load done:js/widget_weather.js fhem-tablet-ui.js:915:13
function depends_weather not found (maybe ok) fhem-tablet-ui.js:915:13
init widget: weather fhem-tablet-ui.js:915:13
Loaded plugin: weather fhem-tablet-ui.js:915:13
ReferenceError: elem_url is not defined
widget_link.js:188:1
dynamic load done:lib/swiper.jquery.min.js fhem-tablet-ui.js:915:13
init widget: swiper fhem-tablet-ui.js:915:13
Loaded plugin: swiper
....
start shortpoll fhem-tablet-ui.js:915:13
get jsonlist2: Timer gestartet fhem-tablet-ui.js:344
start shortpoll in (ms):30000 fhem-tablet-ui.js:915:13
get jsonlist2: 5267.74ms fhem-tablet-ui.js:350
read jsonlist2: Timer gestartet fhem-tablet-ui.js:351
fhemJSON: 0=Arg 1=Results fhem-tablet-ui.js:915:13
shortpoll: fhemJSON.Results.length=590 fhem-tablet-ui.js:915:13
shortPoll - Done fhem-tablet-ui.js:915:13
read jsonlist2: 124.84ms fhem-tablet-ui.js:418
Longpoll started


Dann kommen regelmäßig arrays rein, aber ich sehe kein "update done for ..." wie in Deinem Post. Es kommt auch kein array für den Fenstersensor, wenn ich das Fenster öffne und das symbol widget des fenstersensors zeigt kein "fenster offen" state...

Beispiel für die arrays:
Array [ "Arduino_Heizung_A2", "694", "<div id="Arduino_Heizung_A2"  class..." ] fhem-tablet-ui.js:915:13
Array [ "Arduino_Heizung_A2-reading", "694", "694" ] fhem-tablet-ui.js:915:13
Array [ "Arduino_Heizung_A2-reading-ts", "2016-04-28 21:21:28", "2016-04-28 21:21:28" ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1", "opened", "<div id="HMLAN1"  class="col2">open..." ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1-loadLvl", "low", "low" ] fhem-tablet-ui.js:915:13
Array [ "HMLAN1-loadLvl-ts", "2016-04-28 21:21:31", "2016-04-28 21:21:31" ]


Healthcheck sagt z.B.:

--------- start healthCheck -------------- fhem-tablet-ui.js:762:9
now: Date 2016-04-28T19:13:18.259Z fhem-tablet-ui.js:763:9
FTUI version: 2.2.1 fhem-tablet-ui.js:764:9
Longpoll: true fhem-tablet-ui.js:765:9
Longpoll objects there: true fhem-tablet-ui.js:766:9
Longpoll curent line: 53 fhem-tablet-ui.js:767:9
Longpoll last event before: 3 Sekunde(n) fhem-tablet-ui.js:768:9
Shortpoll interval: 900 fhem-tablet-ui.js:769:9
Shortpoll last run before: 1 Minute(n) 30 Sekunde(n) fhem-tablet-ui.js:770:9
FHEM dev/par count: 12323 fhem-tablet-ui.js:771:9
Page length: 79891 fhem-tablet-ui.js:772:9
Widgets count: 205 fhem-tablet-ui.js:773:9
--------- end healthCheck ---------------
...
--------- start healthCheck -------------- fhem-tablet-ui.js:762:9
now: Date 2016-04-28T19:19:18.251Z fhem-tablet-ui.js:763:9
FTUI version: 2.2.1 fhem-tablet-ui.js:764:9
Longpoll: true fhem-tablet-ui.js:765:9
Longpoll objects there: true fhem-tablet-ui.js:766:9
Longpoll curent line: 881 fhem-tablet-ui.js:767:9
Longpoll last event before: 2 Sekunde(n) fhem-tablet-ui.js:768:9
Shortpoll interval: 900 fhem-tablet-ui.js:769:9
Shortpoll last run before: 7 Minute(n) 30 Sekunde(n) fhem-tablet-ui.js:770:9
FHEM dev/par count: 12323 fhem-tablet-ui.js:771:9
Page length: 79689 fhem-tablet-ui.js:772:9
Widgets count: 205 fhem-tablet-ui.js:773:9
--------- end healthCheck ---------------



Eine Frage: gibt es das prefetching und die class="nocache" nur beim widget pagebutton oder auch beim widget link? Ich habe einige link widgets auf meiner Seite und es kann sein, dass einer der Links nicht funktioniert. Nicht, dass er da ein prefetching macht und hängt...

UPDATE
Ich habe mal parallel zur 2.2er Version die alte FTUI-Version (v2.0) in einem weiteren Tab laufen lassen und sehe, dass die Readings offenbar garnicht aktualisiert werden in der 2.2er-Version (außer beim Neuladen der Seite). Wenn sich z.B. der Gasverbrauch erhöht sehe ich das in der 2.0er Version, aber nicht in der 2.2er Version...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 April 2016, 23:13:01
Die sichtbaren undefined und der Fehler im Link-Widget sind vermutlich nicht die Ursache.
Ich vermute eher ein JSON.parse Error. Das könnten verbotene Dinge in den Strings drin sein.

Ich habe mal schnell ein try catch eingebaut, damit könnte man sehen, ob dort ein Fehler passiert

Vorsichtshalber habe ich noch ein debug-output für level 5 vorm Json Parse eingebaut

lass bitte nochmal laufen ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 29 April 2016, 12:51:02
Zitat von: setstate am 28 April 2016, 23:13:01
Die sichtbaren undefined und der Fehler im Link-Widget sind vermutlich nicht die Ursache.
Ich vermute eher ein JSON.parse Error. Das könnten verbotene Dinge in den Strings drin sein.

Ich habe mal schnell ein try catch eingebaut, damit könnte man sehen, ob dort ein Fehler passiert

Vorsichtshalber habe ich noch ein debug-output für level 5 vorm Json Parse eingebaut

lass bitte nochmal laufen ...

interessant, nach upate und shutdown restart geht es, aber dann geht das longpoll für die produktive 2.0er version nicht mehr. es scheint am webviewcontrol script im header zu liegen, zumindest wenn es gleichzeitig in beiden versionen (produktiv und eval) läuft...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 29 April 2016, 14:00:41
Zitat von: FhemPiUser am 29 April 2016, 12:51:02
interessant, nach upate und shutdown restart geht es, aber dann geht das longpoll für die produktive 2.0er version nicht mehr. es scheint am webviewcontrol script im header zu liegen, zumindest wenn es gleichzeitig in beiden versionen (produktiv und eval) läuft...

Äh.. ja.

WebViewControl und FTUI können sich nicht sonderlich gut leiden. Ich bin deshalb auf Fully und AMAD umgestiegen..

Wobei ich auch hier häufig Probleme mit LongPoll habe, welche nicht mit dem Netzwerk zusammen hängen... LongPoll hängt sich auf... wird meistens neu gestartet. Aber halt nicht immer... Und dann stehe ich da wie ein Ochs vor'm Scheunentor  ;D

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 29 April 2016, 14:32:28
Ja, das liebe longpoll  :(
Ich würde es auch lieber loswerden und gegen Websockets tauschen, aber mein Tablet ist so alt, dass das installierte Android noch keine Websockets kennt. Also lohnt sich das für mich nicht, dort Arbeit reinzustecken.
Aber das longpoll muss man doch irgendwie in den Griff bekommen können :o
Ich habe dafür extra den HealthCheck eingebaut. Was sagt der? Connection noch da? Zählen die Zeilen hoch? Werden Events verarbeitet?
Wenn dort erkennbare Fehler sind, könnte man evtl. auch daraus eine Selbstdiagnose bauen mit autom. Restart o. ä.
Aber am Anfang sollte es normal starten. 
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 29 April 2016, 17:25:39
Am Anfang ist bei mir alles schick.

Tja die Konsole... Das ist auf einem Tablet ein kleines Problem... und am Rechner tuts longpoll bei mir überhaupt nicht... sonst würde ich zumindest versuchen diesbezüglich feedback zu liefern^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 29 April 2016, 17:28:35
...habs gerade nochmal getestet. Auch wenn ich die webviewcontrol-skripte aus dem header der v2.0er Version rausnehme und nur im header der v2.2er Version stehen habe funktioniert longpoll bei mir nicht stabil (Test ist: Fenster öffnen und schauen ob es in FTUI angezeigt wird...): Auf dem PC mit Firefox geht es, aber auf dem Tablet in der Webviewcontrol-App nicht. Wenn ich die webviewcontrol-skripte nur in dem header der v2.0er Version habe geht es auch auf dem Tablet...

Keine Ahnung woran das liegt und wie ich den Fehler finden kann, denn die webconsole habe ich auf dem Tablet nicht. Ich muss produktiv leider erstmal bei der v2.0er Version bleiben...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 29 April 2016, 18:42:13
hallo noch mal  ;)

ich steige nicht durch jetzt habe ich nur eine Minimalversion ohne css oder sonstige Anpassungen(fhem und ftui_eval sind auf dem neuesten stand)   einfach einen Schalter in die /demo_ftui.html also so:<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.*
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     *
     * Create a Demo Device in FHEM
     * define ftuitest dummy
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="2"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- 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="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

    <title>FTUI Demo</title>
</head>
<body>
<div class="gridster">
<ul>
  <li data-row="1" data-col="1" data-sizex="3" data-sizey="4">
    <header>EXAMPLE1</header>

    <div class="top-space gray">STATE of the device</div>
    <div data-type="label" data-device="BRENN_A" class="big bold thin"></div>

    <div class="top-space gray">STATE of the device colorized</div>
    <div data-type="label" data-device="BRENN_A" data-colors='["red","green"]' data-limits='["on","off"]' class="big bold thin"></div>

    <div class="top-space gray">Timestamp of the reading</div>
    <div data-type="label" data-device="BRENN_A" data-get="state" class="large thin timestamp"></div>

</li>
<li data-row="5" data-col="1" data-sizex="3" data-sizey="3">
  <header>EXAMPLE2</header>
  <!-- place your widget here -->
</li>
<li data-row="1" data-col="4" data-sizex="6" data-sizey="4">
   <header>EXAMPLE3</header>
   <!-- place your widget here -->

    <div class="top-space gray">Switch on/off</div>
    <div data-type="switch" data-device="BRENN_A" class="cell"></div>

    <div class="top-space gray">Switch on/off blue square</div>
    <div data-type="switch" data-device="BRENN_A" data-background-icon="fa-square" class="cell blue"></div>

    <div class="top-space gray">Botton Group</div>
    <div data-type="switch" data-device="ftuitest" data-background-icon="fa-square-o" data-icon="" data-get-on="0|off" data-get-off="!on" data-set-on="0" class="small green"><span class="small gray top">0</span></div>
    <div data-type="switch" data-device="ftuitest" data-background-icon="fa-square-o" data-icon="" data-get-on="[123][0-9]" data-get-off="!on" data-set-on="25" class="small left-narrow-10 green"><span class="small gray top">25</span></div>
    <div data-type="switch" data-device="ftuitest" data-background-icon="fa-square-o" data-icon="" data-get-on="[456][0-9]" data-get-off="!on" data-set-on="50" class="small left-narrow-10 green"><span class="small gray top">50</span></div>
    <div data-type="switch" data-device="ftuitest" data-background-icon="fa-square-o" data-icon="" data-get-on="[789][0-9]" data-get-off="!on" data-set-on="75" class="small left-narrow-10 green"><span class="small gray top">75</span></div>
    <div data-type="switch" data-device="ftuitest" data-background-icon="fa-square-o" data-icon="" data-get-on="100|on" data-get-off="!on" data-set-on="100" class="small left-narrow-10 green"><span class="small gray top">100</span></div>

</li>
<li data-row="1" data-col="10" data-sizex="3" data-sizey="4">
    <header>EXAMPLE4</header>
    <!-- place your widget here -->
    <div data-type="range" data-device="ftuitest" data-min="0" data-max="100" data-limit-low="25" data-limit-high="75" class="top-space"></div>
</li>
<li data-row="5" data-col="10" data-sizex="3" data-sizey="3">
  <header>EXAMPLE5</header>
  <!-- place your widget here -->
</li>
<li data-row="5" data-col="4" data-sizex="6" data-sizey="3">
  <header>EXAMPLE6</header>
  <!-- place your widget here -->
</li>
</ul>
</div>
</body>
</html>


Die Lampe schaltet  ;D aber die readings werden weder aktualisiert noch bekomme ich bei einem reload einen wert, ich habe das gefühl das nur readings aus dem Browsercache angezeigt werden?

console zeigt folgendesfhem-tablet-ui.js:920 Plugin dir: js
fhem-tablet-ui.js:920 Filename: demo_ftui.html
fhem-tablet-ui.js:920 FHEM dir: /fhem/
fhem-tablet-ui.js:920 initPage - area=
fhem-tablet-ui.js:920 start shortpoll in (ms):30000
fhem-tablet-ui.js:920 count of templates:
fhem-tablet-ui.js:920 Object {modules: Array[0]}
fhem-tablet-ui.js:920 Object {modules: Array[0]}
fhem-tablet-ui.js:920 initWidgets - area=
fhem-tablet-ui.js:920 Load widget : label
fhem-tablet-ui.js:920 Create widget : label
fhem-tablet-ui.js:920 dynamic load file:js/widget_label.js / async:true
fhem-tablet-ui.js:920 Load widget : switch
fhem-tablet-ui.js:920 Create widget : switch
fhem-tablet-ui.js:920 dynamic load file:js/widget_switch.js / async:true
fhem-tablet-ui.js:920 Load widget : range
fhem-tablet-ui.js:920 Create widget : range
fhem-tablet-ui.js:920 dynamic load file:js/widget_range.js / async:true
fhem-tablet-ui.js:920 dynamic load done:js/widget_label.js
fhem-tablet-ui.js:920 function depends_label not found (maybe ok)
fhem-tablet-ui.js:920 init widget: label
2fhem-tablet-ui.js:920 label - value:off, substitution:
fhem-tablet-ui.js:920 Loaded plugin: label
fhem-tablet-ui.js:920 dynamic load done:js/widget_switch.js
fhem-tablet-ui.js:920 Create widget : famultibutton
fhem-tablet-ui.js:920 dynamic load file:js/widget_famultibutton.js / async:true
fhem-tablet-ui.js:920 dynamic load done:js/widget_range.js
fhem-tablet-ui.js:920 function depends_range not found (maybe ok)
fhem-tablet-ui.js:920 init widget: range
fhem-tablet-ui.js:920 Loaded plugin: range
fhem-tablet-ui.js:920 dynamic load done:js/widget_famultibutton.js
fhem-tablet-ui.js:920 dynamic load file:lib/fa-multi-button.min.js / async:false
fhem-tablet-ui.js:920 dynamic load done:lib/fa-multi-button.min.js
fhem-tablet-ui.js:920 Loaded plugin: famultibutton
fhem-tablet-ui.js:920 Loaded plugin: switch
fhem-tablet-ui.js:920 initWidgets - Done
fhem-tablet-ui.js:297 initPage: 286.857ms
fhem-tablet-ui.js:920 start shortpoll in (ms):2500
fhem-tablet-ui.js:920 start shortpoll
fhem-tablet-ui.js:920 start shortpoll in (ms):30000
fhem-tablet-ui.js:920 shortPoll request failed: parsererror, SyntaxError: Unexpected token 


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 29 April 2016, 20:33:28
Da ist doch schon die Antwort:
ZitatshortPoll request failed: parsererror, SyntaxError: Unexpected token

Dein Fhem hat in einem Reading ein Zeichen, was nicht dort sein darf. Blöderweise gibt das Jsonlist2 Modul alles 1:1 weiter, ohne Validierung. Sagt er noch die Zeile und Spalte, wo der Fehler passiert? Dann könnte man sehen welches Reading das ist.

Du kannst mal versuchen, das JSON, was dein FHEM ausspuckt zu Validieren. Direkt auf der FHEM Kiste:

curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint3 -v

Eventuell muss man jsonlint3 erst noch installieren

sudo apt-get install python3-demjson
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 30 April 2016, 09:27:50
Danke das werde ich Morgen mal versuchen muss leider heute Arbeiten  :(

Kurze Frage: Wenn ich dich da richtig verstehe, werden alle readings aus Fhem beim Start eingelesen oder geprüft?
                     Und das mit dem falschen Zeichen produziert den Fehler?
                     Oder nur die, die ich in ftui definiert habe?

Gruß Rolf
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 April 2016, 09:38:19
Alles wird auf einmal geholt, nicht nur die in FTUI definierten Device:Readings. Das macht die Suche nicht einfach. Aber ich hoffe, mit dem Validierungstool wird das Problem gleich angezeigt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 30 April 2016, 13:48:16
Hi,
kann das sein das der Multistatebutton mit der 2.2 noch nicht funktioniert?
Ich probier hier mit meinem ersten MSB hin und her, und es klappt einfach nicht...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 30 April 2016, 15:59:36
Hallo

root@bananapi ~ # curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint3 -v
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  541k  100  541k    0     0   590k      0 --:--:-- --:--:-- --:--:--  590k
<stdin>:878:27: Warning: Zero-byte character (U+0000) in string may not be universally safe
   |  At line 878, column 27, offset 90235
   |  String started at line 878, column 26, offset 90234
<stdin>: ok, with warnings


hilft mir das jetzt weiter "at line 878, column 26, offset 90234"  wo finde ich die?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 30 April 2016, 16:04:50
Zitat von: harry66 am 30 April 2016, 15:59:36
Hallo

root@bananapi ~ # curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint3 -v
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  541k  100  541k    0     0   590k      0 --:--:-- --:--:-- --:--:--  590k
<stdin>:878:27: Warning: Zero-byte character (U+0000) in string may not be universally safe
   |  At line 878, column 27, offset 90235
   |  String started at line 878, column 26, offset 90234
<stdin>: ok, with warnings


hilft mir das jetzt weiter "at line 878, column 26, offset 90234"  wo finde ich die?

Hier: "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" im Browser eingeben... ja und dann... Viel Spaß  ;D

Eventuell bekommst du im browser die zeilenzahl wenn du das ergebnis der url als quelltext öffnest und/oder diesen in einen editor kopierst

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: harry66 am 30 April 2016, 16:18:18
Na das war ja einfach ;D DANKE an allle Helfer

"Readings": {      "state": { "Value":"opened", "Time":"2016-04-29 18:01:48" }    },
    "Attributes": {
      "classdefs": "bai00.class=/opt/fhem/FHEM/bai00.cfg:HK.SOL.class=/opt/fhem/FHEM/ebus_solar.cfg:HK.WW.class=/opt/fhem/FHEM/ebus_ww.cfg:HK.Hz.class=/opt/fhem/FHEM/ebus_hz.cfg",
      "requestSeparator": "�",
      "room": "Vaillant"
    }


den  "requestSeparator" gelöscht und schon geht die FTUI 2.2 einwandfrei.

Bleibt nur abzuwarten ob meine ebud abfragen noch gehen.

Gruß Rolf

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 April 2016, 17:44:16
Schön, dass du den Fehler gefunden hast. Das Vermeiden ist Sache des Jsonlist2 Moduls. Das muss solche Character rauslassen. Wer ist der Maintainer des Moduls, wie finde ich das raus? Ich schaue mal im Code selbst oder im Commandref nach ...

Der Vollständigkeitheit halber:
curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | cut -f870-890-d$'\n'
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 30 April 2016, 18:06:18
Hallo setstate,

ich bekomme die Fehlermeldung

fhem-tablet-ui.js:656 Uncaught QuotaExceededError: Failed to execute 'setItem' on 'Storage': Setting the value of 'deviceStates' exceeded the quota.

Ist der String zu lang der gespeichert werden soll?


EDIT: Ich hab mal geschaut, die JSON-Abfrage an FHEM ist ca. 1,25MB groß. Ist das viel?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 April 2016, 18:33:45
Der Fehler kommt, wenn localStorage nicht ausgeführt werden kann. Im Safari passiert das, wenn der Private Mode an ist.
Ich habe aber einen Check dafür eingebaut und zeige eine Toast-Message in rot, als Hinweis. Hast du das letzte Update?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: nightstorm99 am 30 April 2016, 20:16:52
Hallo,

nach 5 tage Test muss ich sagen, dass die 1.0 noch etwas runder läuft.
Habe nach einiger Zeit keine Icons mehr.

Benutze Fully beim anzeigen meiner FTUI auf einem Tablet und habe dort ein Page Reload von 1200 drin.
Da ja Longpoll irgendwann aussteigt.
Aber die Icons sind dann irgendwann weg, bei der 1.0 passiert das nicht.

Hat das jemand auch?

Danke und Gruß
Denny
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 01 Mai 2016, 14:54:08
Zitat von: setstate am 30 April 2016, 18:33:45
Der Fehler kommt, wenn localStorage nicht ausgeführt werden kann. Im Safari passiert das, wenn der Private Mode an ist.
Ich habe aber einen Check dafür eingebaut und zeige eine Toast-Message in rot, als Hinweis. Hast du das letzte Update?

Hallo setstate,

ja ich bin auf den aktuellen Stand. Die rote Meldung sehe ich aber nicht.
Ich habe den  Chrome Version 49.0.2623.112 m in Verwendung

EDIT: localStorage ist aber mit einigen Einträgen gefüllt. DeviceStates sind auch gespeichert.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 01 Mai 2016, 19:02:55
Ist dann bestimmt dich zu groß deine Device Sammlung aus FHEM. Ich schaue mal noch, was man weglassen kann, oder ob man nur die benutzten Devices speichert.

Sooo: FHEMWEB im JSON heißt jetzt nur noch WEB.
FHEMWEB* hatte ich schon rausgelassen beim Speichern in das deviceStates Object, weil es für jede Connection einen neuen Eintrag gab und damit das deviceStates immer größer wurde. Ich habe jetzt WEB_* ergänzt bei der Filterung. Damit sollte es speicherbar bleiben und nicht mehr anwachsen. -> Update notwendig

Ihr müsst aber zusätzlich jetzt eure Altbestände bereinigen. Dazu in der Direkteingabe der Webconsole Folgendes eintippen und mit Enter bestätigen:

localStorage.removeItem('deviceStates')

ftui.deviceStates=null

Und dann die Seite neu laden.

Nachtrag:
Damit man das auch auf dem Tablet bereinigen kann, habe ich schnell eine repair.html hochgeladen. Damit kann man die gespeicherten deviceStates Daten einfach zurücksetzen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 01 Mai 2016, 22:36:12
Klasse und Danke,

probier ich morgen aus.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: skuggy am 02 Mai 2016, 11:54:13
Zitat von: kt83 am 27 April 2016, 19:21:32
Mal die Rechte des Verzeichnisses (tablet_eval) bzw. der darin enthaltenen Dateien checken. Hattest Du vorher "händisch" installiert? Der Nutzer, unter dem FHEM läuft, braucht Schreibrechte!

Grüße,
Thomas.

Problem gelöst, wahrscheinlich war es ein Rechte-Problem. Ich hatte die erste Eval "händisch" installiert. Jetzt hab ich die Eval lt. Anleitung von Seite 1 installiert, läuft alles.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: MichaelT am 02 Mai 2016, 21:15:59
Hallo setstate,

hat geholfen. deviceStates hat sich auf ca. 1/10 verkleinert (ca. 5MB zu 480KB).

EDIT : die repair-Seite zeigte vorher 6500 und nachher nur noch 295 an.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: justme1968 am 06 Mai 2016, 10:35:57
leider bin ich beim color wheel noch nicht weiter.

hast du noch eine idee?

gruss
  andre
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 Mai 2016, 13:44:30
Hallo Andre, die Demo Colorwheel Seite ging bei dir auch nicht? In einer frischen Installation oder zusammenkopiert? Ich wüsste nicht, wo ich da noch suchen könnte ...
Auch keine JS Fehler in der Webconsole?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 06 Mai 2016, 15:25:06
Servus,
ich hab mal zwei Fragen zum Pagebutton:

1.) ich wollte 2 verschiedene Menüs haben, weil in meinem Hauptmenü nicht genug Platz ist. Wenn ich dann auf eine Seite gehe, dessen Pagebutton in einem SubMenü ist, dann lädt sich die Seite gefühlt jede Sekunde neu. Als würde die Seite sich selbst neu öffnen. Ist das Verhalten nur bei mir so? Oder

2.) weil das 1. Verhalten für mich nicht behebbar war, wollte ich ein Pagebutton Circlemenü erstellen. Aber scheinbar gibt es die Funktion, welche hier beschrieben wurde nicht mehr: https://forum.fhem.de/index.php/topic,34233.msg370846.html#msg370846 (https://forum.fhem.de/index.php/topic,34233.msg370846.html#msg370846)
Was mir sogar lieber wäre, wäre nämlich, dass der Button in der Mitte auch ein Pagebutton mit Seitenwechsel ist, und der wird automatisch "ausgeführt" wenn man nicht einen anderen Button aus dem Circlemenü vor dem "Timeout" drückt, bevor sich das Circlemenü wieder schliesst. Falls man nichts drückt und der Timeout einsetzt, öffnet sich die Seite aus der Mitte des Circlemenüs.

Beste Grüße
Andy

edit: ok. hab scheinbar meinen Denkfehler zu 1. gefunden. Das SubMenü war im <li> Teil des ersten Menüs und das hat scheinbar die Aufrufschleife hervorgebracht.. Mach ich einen neuen festen <li> Teil dann geht es. aber irgendwie gefällt mir das doch nicht so. das Circlemenü gefällt mir da doch besser  ::)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: accessburn am 08 Mai 2016, 11:22:13
Moinsen,

ich hab mal versucht auf 2.2 umzustellen, alle oa-Icons werden nicht angezeigt. Muss ich da was anpassen was ich übersehen habe?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 08 Mai 2016, 12:38:06
Servus accessburn,
ja du musst im head bereich deiner Index html noch unter stylesheets die openautomation.css einbinden

bei mir ist es <link rel="stylesheet" href="/fhem/www/tablet_eval/lib/openautomation.css" />
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: accessburn am 08 Mai 2016, 12:45:09
Passt :-)
Vielen Dank Steffen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: justme1968 am 10 Mai 2016, 15:08:05
das colorwheel problem ist eine verkettung unglücklicher umstände :(

wenn die lampe weiss ist ändert ein verstellen der farbe am äußeren ring die farbe nicht weil hsv immer wieder aus dem rgb wert berechnet werden. es ändert sich zwar beim einstellen h, da s aber auf 0 bleibt und v auf 1 gibt das nach rgb gerechnet immer wieder wieder weiss. beim zurück rechnen springt dann auch h wieder auf 0.

das könnte man nur umgehen wenn man nicht über rgb geht sondern h s und v direkt oder einzeln angibt.

das ganze ist zufällig in der alten version nicht aufgefallen weil die lampe dort so konfiguriert war das sie nicht mit weiss eingeschaltet wird sondern mit einer farbe.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 15 Mai 2016, 01:11:36
Hallo,

ich bin jetzt mit der 2.2 Version auch schon einige Tage am Testen. Mir ist folgendes bei 'pagebutton' augefallen.

Bei den Widget's slider und chart werden die Daten nicht geladen, sondern sind erst nach einem Reload vorhanden (und damit auf den anderen Seiten wieder ohne Wert)

Beschreibung:
Seite 1: mit Slidern 
Seite 2: mit Slidern
Seite 3: mit Charts

Wird Seite 1 geladen werden die Slider Werte richtig auf Seite 1 angezeigt.
Wechsel über Pagebutton zu Seite 2 ->  dort sind alle Slider Werte auf '0', erst ein Reload im Browser bringt die richtigen Werte. Dabei gehen dann aber wieder die Slider-Werte von Seite 1 verloren.
Gleiches Problem bei Charts, die sind erst nach einem reload vorhanden und sind nur so lange vorhanden bis wegen der Slider eine andere Seite mit reload aktualisiert wurde.

Gruß
Roman

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 15 Mai 2016, 09:15:27
@setstate: Was hat sich eigentlich von der 2.0er (beta) auf die 2.2er Version bzgl. Longpoll geändert? Bei mir läuft die 2.0_beta bzgl. Longpoll stabil, die 2.2er aber nicht...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 Mai 2016, 09:57:22
Vieles  ;D
Aber ohne diff Vergleich zu machen, kann ich jetzt nicht alles aufzählen.
Wie äußert sich das bei dir?
Longpoll startet aber erst einmal? Das passiert jetzt auch nur, wenn die erste Initialisierung aller Widgets erfolgreich war. Wenn dabei Fehler auftreten wird Longpoll auch nicht gestartet.
Was sagt der HealthCheck-Output auf der Console, wenn du longpoll als nicht mehr stabil einschätzt? Man kann auch debug auf 5 setzen, um zu sehen, was longpoll gerade so tut.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 15 Mai 2016, 10:10:22
Ich muss nochmal richtig testen, beim letzten mal waren das leider schwer nachvollziehbare Fehler, da es auf dem Desktop pc mit Firefox ging und auf dem Tablet mit WebViewControl nicht. Könnte auch mit WebViewControl im Zusammenspiel zu tun haben. Die Webconsole hab ich natürlich nur auf dem Desktop, daher ist der Fehler schwer eingrenzbar. Mir fehlt aktuell etwas die zeit zum ausgiebig testen...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 15 Mai 2016, 15:48:42
Hallo zusammen,
ich hab die letzen Tage viel gebastelt ;-) hier mal mein aktueller Stand der V2.2

Seit Mai setze ich 2.* Produktiv ein.

Das einzige was mir aufgefallen ist, mein Tablet (Galaxy Tab2 mit AMAD) hängt sich irgendwann mal auf. Habe google Chrome im Fullscreen laufen und irgendwann reagiert es gar nicht mehr, mit Glück kann ich den Browser schließen oder ich muss das Tablet neu starten.

Das muss ich mal noch ein bisschen erforschen :-)


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Helmi55 am 15 Mai 2016, 16:04:59
Hallo sieht sehr gut aus
Wie hadt du das links oben umgesetzt?
Gruss Helmut
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 15 Mai 2016, 16:12:18
Das mit dem Aufhängen kennen ich. Ich habe ein Acer iconia 10.
Ich bin mir sicher das es daran liegt, dass der Arbeitsspeicher voll ist. Da die 2er alle Daten darin speichert und akuallisiert ist 1gb schnell erschöpft.
Haben andere dafür eine Lösung gefunden?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 15 Mai 2016, 16:19:35
Zitat von: Helmi55 am 15 Mai 2016, 16:04:59
Hallo sieht sehr gut aus
Wie hadt du das links oben umgesetzt?
Gruss Helmut

Was genau? Die Uhrzeit oder die Short/Longpoll anzeige?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Helmi55 am 15 Mai 2016, 16:48:53
Sorry das Feld mit Uhrzeit und shortpoll/longpoll
Gruß
Helmut
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 15 Mai 2016, 16:56:14
für die Daten (long/shortpoll) im head Bereich folgendes einfügen

<script>
    $(document).one('updateDone', function() {

        function updateLabels() {
            var d = new Date();
            d.setTime(ftui.states.lastShortpoll*1000);
            $( "#spLabel" ).text( d.ago() );
            $( "#lpLabel" ).text( ftui.poll.timestamp.toDate().ago() );
        }

        setInterval(function () {
            updateLabels();
         }, 10000);

        updateLabels();
    });
</script>


und in deiner html einfach an passender Stelle zwischen <li ....> und </li>
<div data-type="clock" data-format="d.m.y H:i:s" class="cell big"></div>
<div class="inline">ShortPoll vor:</div><div id="spLabel" class="inline"></div>
<div></div>
<div class="inline">LongPoll vor:</div><div id="lpLabel" class="inline" ></div>
<div></div>


Siehe auch den Thread https://forum.fhem.de/index.php/topic,53185.0.html da hat es setstate mit erklärt :-)

Steffen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Helmi55 am 15 Mai 2016, 18:26:42
Ok danke für die Erklärung. Werde ich mir ansehen
Schönen Abend noch
Gruß
Helmut
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: luetty am 15 Mai 2016, 18:40:50
Zitat von: xxsteffenxx am 15 Mai 2016, 15:48:42
...
Seit Mai setze ich 2.* Produktiv ein.

Das einzige was mir aufgefallen ist, mein Tablet (Galaxy Tab2 mit AMAD) hängt sich irgendwann mal auf. Habe google Chrome im Fullscreen laufen und irgendwann reagiert es gar nicht mehr, mit Glück kann ich den Browser schließen oder ich muss das Tablet neu starten.

Das muss ich mal noch ein bisschen erforschen :-)
Hi,

passt zwar nicht 100% hier her, aber ich hatte gleiches Problem, allerdings noch FTUI 1 (per Chrome) auf nem Lenovo Yoga2  (&AMAD). Dieses "Fehlverhalten" konnte ich erst nach einem FW-Update auf Lollipop (5.0) feststellen. Seither betrieb ich dass tab daher nicht im Fullscreen, da mir die Zeit fehlte dem nachzugehen. Seit 1 Woche jedoch läuft dass tab auch im Fullscreen, ohne Probleme.  Klar, zwischenzeitlich FHEM aktualisiert, bei AMAD gab es auch nen Versionswechsel (1->2) und die Android-Updates habe ich auch gemacht - woran es aber gelegen hat, kann ich leider nicht beantworten.
Möchte damit nur anmerken, dass es nicht zwingend an FTUI 2.2 liegt.

ciao
luetty
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 15 Mai 2016, 18:53:09
Hy luetty,
danke für das Feedback, aktuell läuft bei mir auf dem Tab 4.2 - 4.2.2 Jelly Bean.

Muss dies mal weiter beobachten und heute mal noch im Fullscreen laufen lassen, morgen stell ich den mal aus und beobachte das weiter...
Die Anmerkung mit dem 1 GB ram klingt für mich auch plausibel .... mal sehen ob das irgendwann klappt..

Was nutzt du als Fullscreen App?
Ich hab einmal full!screen (https://play.google.com/store/apps/details?id=de.tsorn.FullScreen) aktiv und dann noch die APP User Agent for GoogleChrome (https://play.google.com/store/apps/details?id=com.linuxjet.apps.ChromeUA) installiert.
Eingestellt das GoogleChrome immer als "desktop" Version laufen soll und einen Shortcut zu meiner index.html angelegt.

Da ich in meiner HTML per java eine Abfrage drin hab ob Mobile oder Desktop und sonst beim Tablet die "mobile" Version gezogen wird.

Steffen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: luetty am 15 Mai 2016, 19:14:45
Hi xxsteffenxx,

ich hab keine Anmerkung über 1GB-Ram gemacht?!?!?
Vor dem Update auf Lollipop hatte ich auch Jelly Bean und keinerlei Probleme.

FullscreenApp nutze ich keine, allerdings ist dass tab auch ausschließlich für FTUI/FHEM da. Daher ist es für mich ggfls. einfacher. Den Link habe ich auch per Chrome auf meinen Startbildschirm gelegt, FullScreen (u.a.) schalte ich per AMAD - dass gibt mir auch die Möglichkeit am tablet diesen (und mehr) ein/auszuschalten.

Versuch mal Chrome testweise nicht im Fullscreen laufen zu lassen, bei mir war dass absolut stabil.

good luck!

ciao
luetty (auch STEFFEN :-) )
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 Mai 2016, 19:59:45
Zitat von: FhemPiUser am 15 Mai 2016, 10:10:22
Ich muss nochmal richtig testen, beim letzten mal waren das leider schwer nachvollziehbare Fehler, da es auf dem Desktop pc mit Firefox ging und auf dem Tablet mit WebViewControl nicht. Könnte auch mit WebViewControl im Zusammenspiel zu tun haben. Die Webconsole hab ich natürlich nur auf dem Desktop, daher ist der Fehler schwer eingrenzbar. Mir fehlt aktuell etwas die zeit zum ausgiebig testen...

Bei mir läuft es mit WVC auch nur so gut, weil ich jede Nacht um 4 per Cronjob das WVC abschieße und neu starte.
Ich habe mir mal die webviewcontrol.js angesehen. Einen Fehler habe ich gesehen: Der Longpoll hat keine automatische Zwangstrennung drin. FHEM-Longpoll sendet die gleichen Daten immer wieder mit, nur die neuen sind hinten angefügt. Dadurch wird die Datenmenge immer mehr, wenn man Longpoll nicht neu aufruft. WVC mach das nicht und damit kann es bei Verwendung vom WVC zu Speicherproblemen am Tablet kommen.

fhemweb.js hat selbst einen Workaround dafür drin

  // reset the connection to avoid memory problems
  if(FW_longpollOffset > 1024*1024 && FW_longpollOffset==input.length)
    FW_longpoll();


So etwas habe ich auch beim FTUI eingebaut. WVC braucht das auch noch.

Nachtrag:
Von FHEM aus könnte man auch zyklisch ein reload an WVC schicken. Dann wird der Longpoll vom WVC auch zurückgesetzt.

Ich habe jetzt die webviewcontrol.js bei mir so geändert, dass auch longpoll neu gestartet wird.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 16 Mai 2016, 14:02:14
...ich habe gerade nochmal getestet. Bei mir zeigt er nach dem Update der 2.2er-Version auf dem Tablet mit Webviewcontrol und auch mit Firefox nur das Grid und die Texte, aber keine Widgets mehr an. Debug sagt aber kein Fehler und auf dem Desktop PC mit Firefox funktionieren die Widgets der 2.2er mit derselben index.html.

Wenn ich verbose anschalte sagt er im Log:
FHEMWEB WEBWandtablet ./www/pgm2/widget_link.js: Datei oder Verzeichnis nicht gefunden
...
WEBWandtablet_192.168.1.xxx_59503 GET /fhem/lib/jquery.gridster.min.js; BUFLEN:0
FHEMWEB WEBWandtablet ./www/lib/jquery.gridster.min.js: Datei oder Verzeichnis nicht gefunden
...
authorize WEBWandtablet/devicename/FileLog_FK_EG_Haustuer: allowed_WEB returned dont care
...


Irgendwie sucht er im falschen Verzeichnis: Es fehlt das "tablet_eval". Und er sucht die widgets im pgm2-Verzeichnis, nicht im js-Verzeichnis. Wie kommt das?

Ich habe es mit absoluten und relativen Pfaden im Header der index.html probiert:

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


und

<script src="js/fhem-tablet-ui.js" defer></script>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FHEm2005 am 16 Mai 2016, 16:51:13
Ich hatte Probleme mit dem Update. Es hat nicht gegriffen.  Nach 23 Seiten des Threads "Evaluierungsversion 2.2" und dem 330sten Beitrag bin ich auf das Rechte problem gestoßen. Alles schön geändert und das Update läuft jetzt bis zur Zeile:
open ./www/tablet_eval/demo_ftui.html failed: Permission denied, trying to restore the previous version and aborting the update
Dabei ist diese Datei bei der Erstinstallation nicht dabei geween. Woher nehmen wenn nicht stehlen??
Ich such mich in GitHub schon halbtot. Unter "Branch:version2.1" sind nur alte Dateien drin. An den Branch:eval komme nicht nicht ran. Wer kann mir seine demo_ftui.html "schenken"?  ;D ;D Oder wo bekomme ich die her?

Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FHEm2005 am 16 Mai 2016, 17:07:17
Hat sich erledigt, denn der Zutritt zur Branch:eval ist jetzt auf einmal erreichbar. Ich verstehe nix mehr. Aber egal.

Gruß Eberhard
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 17 Mai 2016, 00:21:03
Hallo, ich stell das nochmal ein, hat jemand eiine Idee dazu ?

ich bin jetzt mit der 2.2 Version auch schon einige Tage am Testen. Mir ist folgendes bei 'pagebutton' augefallen.

Bei den Widget's slider und chart werden die Daten nicht geladen, sondern sind erst nach einem Reload vorhanden (und damit auf den anderen Seiten wieder ohne Wert)

Beschreibung:
Seite 1: mit Slidern
Seite 2: mit Slidern
Seite 3: mit Charts

Wird Seite 1 geladen werden die Slider Werte richtig auf Seite 1 angezeigt.
Wechsel über Pagebutton zu Seite 2 ->  dort sind alle Slider Werte auf '0', erst ein Reload im Browser bringt die richtigen Werte. Dabei gehen dann aber wieder die Slider-Werte von Seite 1 verloren.
Gleiches Problem bei Charts, die sind erst nach einem reload vorhanden und sind nur so lange vorhanden bis wegen der Slider eine andere Seite mit reload aktualisiert wurde.

Der Status von z.B. Switches wird korrekt über alle Seiten geladen/angezeigt, auch ohne reload.

Gruß
Roman
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 17 Mai 2016, 07:03:32
Hallo Roman,

das kann durchaus noch eine schlechte Konstellation sein, die zu dem von dir genannten Fehlerbild führt.
Ich muss das bei mir erst auf 1-2 Testseiten nachstellen und die Ursache suchen. Kann dir aber noch nicht sagen, wann ich dazu komme.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 17 Mai 2016, 20:18:11
Hallo setstate,

ich wollte nicht drängeln, nur nachdem fast 2 Seiten an neuen Einträgen dazu kamen, hatte ich die Befürchtung, das es untergeht.

Gruß
Roman
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 17 Mai 2016, 20:46:03
ach, das Problem bei den Slidern liegt in der benutzen Lib "powerange.js". Die hat das Problem, dass die Berechnung der Position nur bei sichtbarem Element funktioniert. Ist das Teil versteckt, kommt 0 bei offsetWidth und  offsetHeight raus und der Slider zeigt nix an. Das bekommt man nur gelöst, wenn man ein anderes Grundelement als Basis für dieses FTUI Widget benutzt. Ich gehe mal auf Suche ...

Update
Das Problem mit dem Slider konnte ich lösen, im powerange.js selbst. Ich habe die benutzten JS Funktionen 'offsetWidth' und 'offsetHeight' durch die jQuery Funktionen height() und width() ersetzt. Damit ist powerange.js jetzt nicht mehr Pure JS, aber wen störts ... wir nutzen ja eh jQuery. height() und width() liefern die richtigen Werte, auch wenn das Element gerade nicht sichtbar ist.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 17 Mai 2016, 22:19:26
Hallo setstate,

gleiches Problem beim Chart-Widget, evtl. ein ähnliches Problem ?

Gruß
Roman
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 17 Mai 2016, 22:28:06
Zum Chart muss eki was sagen, damit kenne ich mich nicht aus.

Zum Nachstellen:
- index_page_demo.html aus den eval Beispielen (https://github.com/knowthelist/fhem-tablet-ui/tree/eval/www/tablet_eval)
- erstes Widget auf die page_content1.html
- zweites Widget auf die page_content2.html

Seite wird geladen  > content1 ist okay > Klick auf pagebutton zum Wechsel auf content2 > Bum
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: guna83 am 18 Mai 2016, 07:01:46
Wäre toll wenn die aktuelle Version des Fullcallview-Widgets (Seite 2 im Thread https://forum.fhem.de/index.php/topic,48562.0.html (https://forum.fhem.de/index.php/topic,48562.0.html)) in die tablet_eval käme.
Gibt es jemanden der das Readingsgroup-Widget am laufen hat? Mit der bei der EVAL mitgelieferten Version funktioniert es nicht, ich habe versucht die anzupassen, aber leider bisher nicht ganz erfolgreich.
Gibt es jemanden der Highcharts schon portieren konnte? Vermisse auf meiner 2.2er FTUI-Instanz die Wetteranzeige von yr.no :-D.
Ansonsten läuft die 2.2 hier super und stabil!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 18 Mai 2016, 10:06:01
Hallo Leute

ich habe Schwierigkeiten die Symbole aus der openautomation.css anzeigen zulassen. Ich habe die css in der index.html normal eingebunden

<link rel="stylesheet" href="lib/openautomation.css" />

und versuche sie in einem Pagetab anzeigen zu lassen.

<div data-type="pagetab"
    data-device="bu_alert"
    data-icon="oa-scene_office"
    data-states='["off","on"]'
    data-url="index_buero.html"
    data-background-icon="fa-circle-thin"
    data-on-background-color="#aa6900"
    data-on-color="#808080"
    data-off-color="#808080"
    data-icons='["oa-scene_office","oa-scene_office warn"]'
    class="big">
    </div>


woran kann das denn liegen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 20 Mai 2016, 20:14:57
Hallo setstate,

das slider und pagebutton klappt nun ohne Probleme, habs mit deiner Demo und meinen Testseiten durchprobiert.

Wegen den Charts frag ich mal bei eki nach.

Gruß Roman
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 20 Mai 2016, 21:23:34
kurze Frage: Ich habe in meiner 2.0er index.html folgenden pagebutton zum Laden einer externen Webseite, die ich nicht cachen möchte:

<div data-type="pagebutton" data-url="cam.html" data-icon="fa-video-camera" class="cell narrow"></div>

Kann ich das so weiter verwenden in der 2.2er Version, da es ohne "data-load" ist oder muss ich dafür Parameter wie "nocache" angeben?

Der Beispielcode in index.zeigt nur die Referenzierung auf page-widgets / content-ids der gleichen html-Datei...

Ich frage bei, da die 2.2er Version bei mir gefühlt deutlich langsamer den ersten poll bzw. fresh der readings nach online-event abschliesst als die 2.0er Version und ich überlege, ob es daran liegen kann, dass er versucht die ganzen externen Seiten zu cachen...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 20 Mai 2016, 21:48:12
Hallo setstate,

ich hab bei weiteren Tests festgestellt, dass das Homestate Widget in Verwendung mit Pagebuttons auch nicht geladen wird, wenn es beim Reload nicht auf der aktuellen Seite ist. (wie beim slider)

Edit: Kommando zurück, Homestate funktioniert mit Pagebutton, nach einem Löschen des Browser-Caches wird das auch auf einer inaktiven Seite normal geladen.

Gruß
Roman

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Michi240281 am 21 Mai 2016, 13:22:25
Hallo zusammen,

habe mir jetzt die 2.2 installiert und baue mir damit eine "Mobile-UI"! Nutze dafür die Demo-Dateien.

Eine Frage dazu: Wie bekomme ich das slideout-Menu auf die rechte Seite statt linke Seite?

Was hat es mit den id´s zu tun?

Und kann man irgendwie eine Zeit definieren, nach der das Slidermenu sich wieder von selbst einklappt? Das wäre sehr praktisch!

Und dann noch eine Frage: Ich habe die Müllanzeige vom Tablet-UI einfach mal kopiert, da wird aber alles seltsam angezeigt:

<!DOCTYPE html>
<html>
<head></head>
<body>
<div class="" id="Abfall">
<li data-row="2" data-col="2" data-sizex="4" data-sizey="6">
<header>ABFALL</header>
        <div class="cell">
            <div>
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_GelberSack"
                    data-off-color="#E6E600"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-recycle","fa-recycle warn","fa-recycle warn blink"]'
                    data-fhem-cmd="setreading abfall_GelberSack alarm done"
                    data-on-colors='["#E6E600","#E6E600","#E6E600"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_GelberSack" class="thin small"></div>
            </div>
            <div>
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Biomuell"
                    data-off-color="#996633"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Biomuell alarm done"
                    data-on-colors='["#996633","#996633","#996633"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Biomuell" class="thin small"></div>
            </div>
            <div>
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Papier"
                    data-off-color="blue"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Papier alarm done"
                    data-on-colors='["blue","blue","blue"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Papier" class="thin small"></div>
            </div>
            <div>
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Restmuell"
                    data-off-color="grey"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Restmuell alarm done"
                    data-on-colors='["gray","gray","gray"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Restmuell" class="thin small"></div>
            </div>
      </div>
</li>
</div>
</body>
</html>


Woran könnte das liegen?


Besten Dank schon mal!

EDIT: ALso grundsätzlich habe ich Probleme, wenn ich in der mobilen Version versuche, mit list- und gridster-Elementen zu arbeiten! Da passt einfach nicht wirklich viel! Was muss ich denn tun, damit ich die gridster-Elemente genauso anordnen kann wie in 1.*? Mir ist außerdem aufgefallen, dass die Einträge generell nur angezeigt werden (bei Verwendung von list-Elementen), wenn ich das <ul>.....</ul> weglasse! Sonst bleibt die Seite leer!

Ich hänge hier mal alle meine Dateien fürs Smartphone an, vllt kann mir ja jmd helfen!

Besten Dank im vorraus!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Michi240281 am 22 Mai 2016, 12:15:58
Noch eine Frage:

Ich habe jetzt auch begonnen, mein "Tablet-UI" auf 2.2 umzustellen. Habe dabei auf der "index_page_demo.html" aufgebaut. Soweit funktioniert alles und die Geschwindigkeit ist der Hit!!! :)

Allerdings wird folgendes gridster nicht korrekt angezeigt:

<li data-row="4" data-col="5" data-sizex="1" data-sizey="2" class="semitransparent">
        <header>ABFALL</header>
        <div class="cell">
            <div class="space_10pxTop">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_GelberSack"
                    data-off-color="#E6E600"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-recycle","fa-recycle warn","fa-recycle warn blink"]'
                    data-fhem-cmd="setreading abfall_GelberSack alarm done"
                    data-on-colors='["#E6E600","#E6E600","#E6E600"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_GelberSack" class="thin small"></div>
            </div>
            <div class="space_10pxTop">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Biomuell"
                    data-off-color="#996633"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Biomuell alarm done"
                    data-on-colors='["#996633","#996633","#996633"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Biomuell" class="thin small"></div>
            </div>
            <div class="space_10pxTop">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Papier"
                    data-off-color="blue"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Papier alarm done"
                    data-on-colors='["blue","blue","blue"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Papier" class="thin small"></div>
            </div>
            <div class="space_10pxTop">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-circle-thin"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Restmuell"
                    data-off-color="grey"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Restmuell alarm done"
                    data-on-colors='["gray","gray","gray"]'
                    class="large">
                </div>
                <div data-type="label" data-device="abfall_Restmuell" class="thin small"></div>
            </div>
      </div>
</li>


Im Anhang mal 2 Fotos, einmal auf 1.* und das neue auf 2.2! Genau das gleiche Problem mit der Anzeige habe ich auch auf dem Smartphone mit 2.2! Was mache ich falsch?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SirMarco am 22 Mai 2016, 14:55:22
Ich würde sagen die Icons sind in 2.2 nicht vorhanden.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Michi240281 am 22 Mai 2016, 16:49:43
Doch, das liegt wohl am pagebutton Widget. Habe jetzt auf Symbol-Widget umgestellt und es geht.

Habe aber noch 2 andere Probleme auf dem Smartphone:

1. manchmal wird vor dem 1. Widget einer Seite ein Punkt angezeigt, allerdings nur am Handy, nicht am PC wenn man das gleiche html aufruft.

2. die List-Elemente übernehmen am Smartphone wohl nicht die Größenangaben, dadurch wird ein circlemenu beim ausklappen abgeschnitten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 22 Mai 2016, 21:14:44
bei mir zeigt der die readingsgroup nicht an, wird die noch nicht unterstützt?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Sany am 23 Mai 2016, 10:28:44
@setstate: generelle Frage zur Version 2.2: hast Du schon Pläne, wann diese in den Regelbetrieb überführt wird?

unabhängig davon: wenn die Version dann nicht mehr Eval-Status hat, wie ziehe ich meine Daten um?
Ich stelle mir das so vor:
- Update von fhem damit FTUI installiert wird (oder über den angegebenen Link).
- Kopieren meiner Dateien aus dem EVAL-Verzeichnis (tablet-eval nach tablet)
- anpassen der Verzeichnisse in der index.html
- user.css oder custom.css auch ins neue Verzeichnis

und dann sollte alles wieder laufen... :)

Sehe ich das so richtig?

Ich bin noch in der Anfangsphase mit FTUI und habe da noch nicht alles durchschaut, obwohl schon einige Sachen wunschgemäß laufen. Im Moment habe ich es nur auf einem Testsystem, möchte aber auch bei meiner Haussteuerung FTUI einsetzen, da es bisher von allen Oberflächen die ist, die mir mit den gebotenen Möglichkeiten am meisten zusagt.
Vielen Dank, weiter so, ist eine tolle Arbeit!

Sany
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wkarl am 23 Mai 2016, 10:48:49
Hallo,

einfach mal zur Info wie ich aktuell das mit den ...eval, iPhone und iPad Verzeichnissen löse.

Es gibt ein tablet_eval Verzeichnis, klar. Parallel dazu ein tablet_iPhone und ein tablet_iPad. Die Verzeichnisse css, lib, js und fonts habe ich unter tablet_iPhone und tablet_iPad logisch verlinkt. Funktioniert bisher ohne Probleme.

Ciao Walter
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Sany am 24 Mai 2016, 17:18:44
@wkarl

Danke, bin gerade am ausprobieren, scheint zu klappen.

Sany
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: eki am 25 Mai 2016, 17:10:33
Zitat von: setstate am 17 Mai 2016, 22:28:06
Zum Chart muss eki was sagen, damit kenne ich mich nicht aus.

Zum Nachstellen:
- index_page_demo.html aus den eval Beispielen (https://github.com/knowthelist/fhem-tablet-ui/tree/eval/www/tablet_eval)
- erstes Widget auf die page_content1.html
- zweites Widget auf die page_content2.html

Seite wird geladen  > content1 ist okay > Klick auf pagebutton zum Wechsel auf content2 > Bum

Ich habe mir das jetzt mal angeschaut. Das Problem mit fehlenden width und height ist gelöst (war das Gleiche wie beim Popup, das init wird ja auch dort aufgerufen, wenn das chart widget noch gar nicht zu sehen ist). Allerdings sehe ich noch einen zweiten, kritischeren Punkt. Bisher wird das chart nur gemalt, wenn beim Aufruf des update das zughörige div auch sichtbar ist. Im Pagebutton Fall ist das aber nicht so. Für die Popups haben wir das so gelöst, dass das widget auf den "fadein" event wartet und sich dann aufbaut. Man müsste also im pagebutton Fall etwas ähnliches machen. Wie siehst Du das?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: olindner am 26 Mai 2016, 19:10:42
Hallo,
ich leg mir die Karten mit der 2.2  :( habe eine frische eval-version installiert und rufe die Seite "index_empty.html" auf. Seite kommt und gleich darauf pollt aller Sekunden folgende Fehlermeldung (in der Toastecke) auf:

ZitatError
ShortPoll Request Failed
parsererror, SyntaxError: Unexpected token  in JSON at position 568313

FHEM ist auf den neusten Stand. Hat das mit json zu tun (alte Version)? Nutze einen PI2 ... mhhh
Im Forum habe ich gefunden, das beim holen der Daten ein parse error auftreten kann, aber ich hole ja gar keine Daten, is ja die leere Testseite, die ich aufrufe.

wäre für jede Hilfe dankbar
Olaf
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 26 Mai 2016, 23:01:09
Hallo Olaf,

egal ob leere Seite, es wird immer beim Shortpoll die kpl. Liste von FHEM geholt. Bei dir ist irgendwo ein Sonderzeichen drin, was in der JSON Spec nicht erlaubt ist. Eigentlch dürfte FHEM so etwas nicht losschicken, ohne vorher zu Quoten

Das Thema hatten wir hier schon mal:
https://forum.fhem.de/index.php/topic,50945.msg445799/topicseen.html#msg445799
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: olindner am 27 Mai 2016, 00:14:45
Hallo setstate,

danke für die schnelle Antwort  :) Den Beitrag hatte ich schon gesehen, hatte Probleme mit dem "jsonlint3" ... bei mir ohne "3" gerade gefunden  ;D

Aber aus dem Ergebniss werde ich leider nicht schlauer  :'(

Zitat
root@fhem:~# curl "http://----------------:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint -v
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
<stdin>: Unexpected end of input
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: knopf_piano am 30 Mai 2016, 04:54:19
Zitat von: setstate am 29 April 2016, 20:33:28
Da ist doch schon die Antwort:

Dein Fhem hat in einem Reading ein Zeichen, was nicht dort sein darf. Blöderweise gibt das Jsonlist2 Modul alles 1:1 weiter, ohne Validierung. Sagt er noch die Zeile und Spalte, wo der Fehler passiert? Dann könnte man sehen welches Reading das ist.

Du kannst mal versuchen, das JSON, was dein FHEM ausspuckt zu Validieren. Direkt auf der FHEM Kiste:

curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint3 -v

Eventuell muss man jsonlint3 erst noch installieren

sudo apt-get install python3-demjson

Ich hab im Browser die Fehlermeldung
"ShortPoll Request failed
Parser Error, Syntax error, JSON parse:
unexpected end of data at line 1 column 1 of the JSON Data"


wenn ich das ausführe
curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint3 -v
erhalte ich

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0curl: (52) Empty reply from server
<stdin>:1:0: Error: No value to decode
   |  At line 1, column 0, offset 0 (AT-START)
   |    near text: True
<stdin>: has errors

was kann ich da tun?
jsonlist <dev>
liefert mir die liste vom dev, sollte also gehen,..

ftui v1 läuft bei mir problemlos... :o
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: olindner am 30 Mai 2016, 12:51:56
Hallo,

habe lange gesucht und 2 Module gefunden, die meine "json" Probleme auslösen -> MPD und XBMC. Beide raus und nun löft 2.2 endlich und es sieht gut aus. Super Arbeit @setstate und die anderen fleißigen Helfer :)
Leider ergab curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint -v bei mir kein Ergebnis, kann also nicht sagen welches Reading die Probleme verursacht :(

Ein kleinen Schönheitsfehler im widget_weather habe ich gefunden, denke ne kleine Sache ...
<div data-type="weather" data-icon="B" class="cell medium inline"></div>

Das Icon wird angezeigt und danach wird noch "weather" als text in die GUI geschrieben, siehe Bild!

Hat schon einer das "widget_calview.js" angefasst und fit für die 2.2 gemacht?

Danke und Gruß Olaf

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: meddie am 30 Mai 2016, 16:37:16
Hat jemand von Euch ein paar Screenshots wie die neue UI aussieht?
Danke
Gruß Eddie
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 30 Mai 2016, 16:43:18
Genau wie die alte. Es hat sich doch nur das Backend geändert. Also die Art wie die Widgets die Informationen senden und erhalten und wie eine Device Liste bezogen wird. Json2
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: zap am 30 Mai 2016, 19:17:44
Letztendlich ist es diese Unwägbarkeit, welche FHEM Module in Zusammenhang mit dem JSON Backend Probleme machen, die mich davon abhält, auf die 2.2 zu wechseln. Mag sein, dass das ein FHEM Problem ist, aber ich habe keine Lust, bei jedem FHEM Modul Update das Risiko einzugehen, dass die FTUI hinterher nicht mehr läuft.

Und da ich bei der 2.0 Beta nichts vermisse, bleibe ich bei der. Man muss halt ab und zu die Seite neu laden, weil die Readings nicht mehr aktualisiert werden. Aber dass dieses Problem mit der 2.2 weg ist, garantiert mir auch niemand.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 Mai 2016, 19:24:37
Dann kannst du auch upgraden ;D

jsonlist2 anstatt list wird ab Version 2.x benutzt, deshalb auch der Versionssprung

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 31 Mai 2016, 13:00:28
Zitat von: zap am 30 Mai 2016, 19:17:44
Mag sein, dass das ein FHEM Problem ist, aber ich habe keine Lust, bei jedem FHEM Modul Update das Risiko einzugehen, dass die FTUI hinterher nicht mehr läuft.

Die Probleme hatte ich auch und waren bei mir behebbar, letztlich muss aber FHEM valide Daten liefern.

Ggf. wäre es sinnvoll gemeinsam eine Korrektur des entsprechenden FHEM Moduls/Codes anzustreben?

VG Stefan

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: eki am 31 Mai 2016, 13:37:18
Zitat von: setstate am 17 Mai 2016, 22:28:06
Zum Chart muss eki was sagen, damit kenne ich mich nicht aus.

Zum Nachstellen:
- index_page_demo.html aus den eval Beispielen (https://github.com/knowthelist/fhem-tablet-ui/tree/eval/www/tablet_eval)
- erstes Widget auf die page_content1.html
- zweites Widget auf die page_content2.html

Seite wird geladen  > content1 ist okay > Klick auf pagebutton zum Wechsel auf content2 > Bum

Es gibt jetzt eine Version des widget_chart für ftui 2.2 die funktionieren sollte. Allerdings braucht es dazu auch eine kleine Änderung (Zeile hinzugefügt in Zeile 82) am widget_pagebutton.js (beides angehängt zum Testen).

EDIT01: Update der beiden Dateien wegen einem Fehler der zu häufigen Updates der Charts führte.

EDIT02: Noch ein Update, da noch Fehler beimp update der charts. Leider wird dadurch auch eine Änderung am widget_popup.js notwendig, ebenfalls angehängt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: knopf_piano am 31 Mai 2016, 22:52:52
Zitat von: olindner am 30 Mai 2016, 12:51:56
Hallo,

habe lange gesucht und 2 Module gefunden, die meine "json" Probleme auslösen -> MPD und XBMC. Beide raus und nun löft 2.2 endlich und es sieht gut aus. Super Arbeit @setstate und die anderen fleißigen Helfer :)
Leider ergab curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint -v bei mir kein Ergebnis, kann also nicht sagen welches Reading die Probleme verursacht :(

Ein kleinen Schönheitsfehler im widget_weather habe ich gefunden, denke ne kleine Sache ...
<div data-type="weather" data-icon="B" class="cell medium inline"></div>

Das Icon wird angezeigt und danach wird noch "weather" als text in die GUI geschrieben, siehe Bild!

Hat schon einer das "widget_calview.js" angefasst und fit für die 2.2 gemacht?

Danke und Gruß Olaf
Mpd wars nicht...
problem trotzdem. Bleib vorerst bei v1 danke trotzdem
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Michi240281 am 01 Juni 2016, 22:47:44
Ich habe ein Problem mit folgendem highchart:

  <div
                 data-type="highchart"
                 data-device="Aral_******"
                 data-logdevice="FileLog_Spritpreise"
                 data-columnspec="4:Ultimate_102 4:Super_E5"
                 data-linenames="Ultimate,Super"
data-linetypes="line,line"
data-minvalue="1"
                 data-maxvalue="2"
                 data-title="Benzinpreise"
                 data-tickInterval="0.1"
data-tickAmount="10"
data-daysago_start="7"
data-daysago_end="-1"
                 data-xunit="Heute"
                 data-yunit="Preis [€]">
            </div>


Dabei "reagiert" das chart auf folgende Attribute nicht:

- data-daysago_start und _end wird scheinbar ignoriert. Ich hätte gerne die letzten 7 Tage angezeigt, aber er zeigt immer nur den aktuellen Tag an
- Die y-Achsen Skalierung funktioniert nicht. Min und Max gehen zwar, aber die Unterteilung "data-tickinterval" funktioniert nicht
- line-names wird garnicht angezeigt

Kann mir jmd sagen, was ich falsch mache?

Besten Dank
Michael
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fabtrie am 02 Juni 2016, 15:00:37
Hallo,

ich habe mich an die Anpassung des calview widgets versucht (nach der Anleitung: https://forum.fhem.de/index.php/topic,50236.msg420787.html#msg420787 (https://forum.fhem.de/index.php/topic,50236.msg420787.html#msg420787)).

Aber leider hat es dennoch nicht funktioniert. Hat jemand von euch vielleicht schon größere Fortschritte machen können?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 08 Juni 2016, 19:58:17
Hallo,

ich teste gerade auch mal mit der Version 2.2 und bin von der Geschwindigkeit wirklich beeindruckt :o Danke dafür!
Eins ist mir aufgefallen: Kann es sein, dass das "iframe"-Widget nicht mit dieser Version funktioniert?

schöne Grüße
Jo
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 08 Juni 2016, 21:10:40
Hallo Leute,

ich bekomme seit heute folgende Meldung im Tablet UI

Error

ShortPoll Request Failed
parsererror, SyntaxError: JSON Parse error: Unterminated string


Wie bekomme ich denn jetzt raus wo zum Teufel dieser Unterminated string ist? Ich habe heute ja an dem System nichts verändert.

Vielen Dank schon mal und Gruß
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 03:26:56
Zitat von: Jojo11 am 08 Juni 2016, 19:58:17
Hallo,

ich teste gerade auch mal mit der Version 2.2 und bin von der Geschwindigkeit wirklich beeindruckt :o Danke dafür!
Eins ist mir aufgefallen: Kann es sein, dass das "iframe"-Widget nicht mit dieser Version funktioniert?

schöne Grüße
Jo

Danke, und ja, das iframe Widget ist noch nicht umgestellt. Das ist auch ein Widget von User nesges. Ich werde die Umstellung von iframe demnächst angehen, da ich es auch für eine Unterseite benötige
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 09 Juni 2016, 05:31:16
Super, danke!

schöne Grüße
Jo

Gesendet von meinem Nokia 8210

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 09:46:18
Hallo ich bekomme folgenden Fehler in der GUI

Error

ShortPoll Request Failed
parsererror, SyntaxError: Unexpected token


Ich habe auch schon versucht mit folgenden Befehl auf Fehlersuche zu gehen....

curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | jsonlint -v

nur leider bekomme ich bei dem Kommando ein

-bash: jsonlint: Kommando nicht gefunden.

Ich habe es auch schon versucht mit apt-get zu installieren nur leider scheint er es in den Quellen nicht zu finden.

Kann mir da jemand weiterhelfen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 09 Juni 2016, 10:10:29

curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | grep jsonlint -v
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 10:39:59
Zitat von: CoolTux am 09 Juni 2016, 10:10:29

curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | grep jsonlint -v


Danke CoolTux Befehl hat funktioniert aber leider nicht mit dem Erfolg wie gehofft. Habe leider keine Meldung zurückbekommen die auf einen Fehler hinweist.

bananapi:~$ curl "http://localhost:8083/fhem/?cmd=jsonlist2&XHR=1" | grep jsonlint -v
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
bananapi:~$
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 10:58:31
ich habe gerade mal umgeschaltet zu meiner parallel laufenden ftui version und dort bekomme ich keinen

Error

ShortPoll Request Failed
parsererror, SyntaxError: Unexpected token
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 11:08:05
Der Fehler kommt auch nur, wenn irgendein Parameter eines  Device im FHEM unzulässige Sonderzeichen beinhaltet. Das FHEM-Modul jsonlist2 müsste diese ungültigen Zeichen rausfiltern ( laut JSON Spec)
Wenn ich mal viel Zeit habe, schaue ich mir den perl Code mal an, hatte aber gehofft der offizielle Maintainer korrigiert das mal ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 09 Juni 2016, 11:12:32
Zitat von: setstate am 09 Juni 2016, 11:08:05
Der Fehler kommt auch nur, wenn irgendein Parameter eines  Device im FHEM unzulässige Sonderzeichen beinhaltet. Das FHEM-Modul jsonlist2 müsste diese ungültigen Zeichen rausfiltern ( laut JSON Spec)
Wenn ich mal viel Zeit habe, schaue ich mir den perl Code mal an, hatte aber gehofft der offizielle Maintainer korrigiert das mal ...

Wenn ich mich Recht erinnere hattest Du das doch Rudi gemeldet gehabt, oder?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 11:16:08
Bin mir nicht ganz sicher ob es daran liegt aber ich habe vor 2 Tagen ein update von Fhem gemacht.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 11:19:55
Interessant unter Firefox Pop ständig eine andere Meldung mit einer anderen Zeilennummer auf.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 11:24:02
Zitat von: CoolTux am 09 Juni 2016, 11:12:32
Wenn ich mich Recht erinnere hattest Du das doch Rudi gemeldet gehabt, oder?

Nicht ganz, das war ein Wunsch für das JSON Longpoll Format. Das fand aber keinen Gefallen und ich workarounde mich jetzt um den "verkorksten" Output herum.

Das Escapen ist noch eine andere Baustelle.

ZitatJSON is in Unicode, so all output must be checked for Unicode validity. Further, this module insists on the UTF-8 encoding. (See "Input strings must be UTF-8".) Invalid UTF-8 within input strings produces the error "Invalid UTF-8" and the undefined value is returned. This behaviour can be altered with the method "replace_bad_utf8". (For full details of the corner cases, see "UNICODE HANDLING".)

Some whitespace and control characters must be also escaped for the output to be valid JSON. (See "RFC 7159".)

In addition to this, "create_json_strict" or the "strict" option reject inputs containing non-ASCII bytes (bytes with values of from 128 to 255) which are not marked as character strings.

Control characters and whitespace

To form valid JSON, bytes of value less than 0x20 in a Perl string must be converted into JSON escapes, either the whitespace escapes \b (backspace) \r, \t, \n, and \f, or the form \u0001 for other control characters. Further, the backslash must be written as \\ and double quotes must be written as \".

Quelle: Cpan JSON create https://metacpan.org/pod/JSON::Create#Strings
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 11:32:03
ich habe das gefunden wo er keinen UniCode gefunden hat.

  "Name":"ZWDongle_1",
    "PossibleSets":"addNode:off,on,onNw,onNwSec,onSec backupCreate backupRestore controllerChange:on,stop,stopFailed createNewPrimary:on,stop,stopFailed createNode factoryReset learnMode:disable,on,onNw removeFailedNode removeNode:off,on,onNw reopen replaceFailedNode sendNIF setNIF sucNodeId sucRequestUpdate sucSendNodeId timeouts",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long do_not_notify:1,0 dummy:1,0 model:ZWDongle disable:0,1 homeId networkKey DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "CFGFN": "./FHEM/fhem_1_zwave.cfg",
      "CallbackNr": "0",
      "Clients": ":ZWave:",
      "DEF": "/dev/ttyACM0@115200",
      "DeviceName": "/dev/ttyACM0@115200",
      "FD": "7",
      "MaxSendRetries": "3",
      "NAME": "ZWDongle_1",
      "NR": "8",
      "PARTIAL": "",
      "RAWMSG": "000400040e3202213400000697000100000683",
      "ReadTime": "1465464550.18281",
      "STATE": "Initialized",
      "SendRetries": "0",
      "SendTime": "1465463395.49526",
      "TYPE": "ZWDongle",
      "WaitForAck": "0",
      "ZWDongle_1_MSGCNT": "532",
      "ZWDongle_1_TIME": "2016-06-09 11:29:10",
      "homeId": "e57641cf",
      "nodeIdHex": "01",
      "nrNAck": "0"
    },
    "Readings": {
      "caps": { "Value":"Vers:5 Rev:1 ManufID:0115 ProductType:0400 ProductID:0001 SERIAL_API_GET_INIT_DATA SERIAL_API_APPL_NODE_INFORMATION APPLICATION_COMMAND_HANDLER ZW_GET_CONTROLLER_CAPABILITIES SERIAL_API_SET_TIMEOUTS SERIAL_API_GET_CAPABILITIES SERIAL_API_SOFT_RESET UNKNOWN_09 UNKNOWN_0a ZW_SET_R_F_RECEIVE_MODE ZW_SET_SLEEP_MODE ZW_SEND_NODE_INFORMATION ZW_SEND_DATA ZW_SEND_DATA_MULTI ZW_GET_VERSION ZW_SEND_DATA_ABORT ZW_R_F_POWER_LEVEL_SET ZW_SEND_DATA_META ZW_GET_RANDOM MEMORY_GET_ID MEMORY_GET_BYTE MEMORY_PUT_BYTE MEMORY_GET_BUFFER MEMORY_PUT_BUFFER FLASH_AUTO_PROG_SET UNKNOWN_28 NVM_GET_ID NVM_EXT_READ_LONG_BUFFER NVM_EXT_WRITE_LONG_BUFFER NVM_EXT_READ_LONG_BYTE NVM_EXT_WRITE_LONG_BYTE ZW_GET_NODE_PROTOCOL_INFO ZW_SET_DEFAULT ZW_REPLICATION_COMMAND_COMPLETE ZW_REPLICATION_SEND_DATA ZW_ASSIGN_RETURN_ROUTE ZW_DELETE_RETURN_ROUTE ZW_REQUEST_NODE_NEIGHBOR_UPDATE ZW_APPLICATION_UPDATE ZW_ADD_NODE_TO_NETWORK ZW_REMOVE_NODE_FROM_NETWORK ZW_CREATE_NEW_PRIMARY ZW_CONTROLLER_CHANGE ZW_SET_LEARN_MODE ZW_ASSIGN_SUC_RETURN_ROUTE ZW_REQUEST_NETWORK_UPDATE ZW_SET_SUC_NODE_ID ZW_DELETE_SUC_RETURN_ROUTE ZW_GET_SUC_NODE_ID ZW_SEND_SUC_ID ZW_EXPLORE_REQUEST_INCLUSION ZW_REQUEST_NODE_INFO ZW_REMOVE_FAILED_NODE_ID ZW_IS_FAILED_NODE ZW_REPLACE_FAILED_NODE UNKNOWN_66 UNKNOWN_67 UNKNOWN_78 GET_ROUTING_TABLE_LINE LOCK_ROUTE_RESPONSE UNKNOWN_92 UNKNOWN_93 UNKNOWN_98 ZW_SET_WUT_TIMEOUT ZW_WATCHDOG_ENABLE ZW_WATCHDOG_DISABLE ZW_WATCHDOG_CHECK ZW_SET_EXT_INT_LEVEL ZW_RF_POWERLEVEL_GET ZW_TYPE_LIBRARY ZW_SEND_TEST_FRAME ZW_GET_PROTOCOL_STATUS WATCHDOG_START WATCHDOG_STOP UNKNOWN_d4 UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH UNKNOWN_f5", "Time":"2016-06-09 10:41:42" },
      "ctrlCaps": { "Value":"MEMBER PRIMARY SUC", "Time":"2016-06-09 10:41:42" },
      "homeId": { "Value":"HomeId:e57641cf CtrlNodeIdHex:01", "Time":"2016-06-09 10:41:42" },
      "nodeList": { "Value":"ZWDongle_1 Keller.Waschmaschine FlurEG_Bewegungsmelder FlurEG.Licht WZ.TV Buero.Schreibtisch", "Time":"2016-06-07 15:45:47" },
      "random": { "Value":"58748ed532479235bee13ff19a59c1e619f1e2509ed56069fa48162f36527581", "Time":"2016-06-09 10:41:42" },
      "state": { "Value":"Initialized", "Time":"2016-06-09 10:41:42" },
      "sucNodeId": { "Value":"1", "Time":"2016-06-09 10:41:42" },
      "version": { "Value":"Z-Wave 3.99� STATIC_CONTROLLER", "Time":"2016-06-09 11:09:55" }
    },
    "Attributes": {      "room": "9.1_System"    }
  },


in dem Reading "version" des zwave Controllers.... in der fhem Weboberfläche ist da aber kein Zeichen zu sehen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 11:34:19
Wenn du die Zeile und Spalte kennst, dann rufe doch einfach mal das im Browser auf, kopiere das Ergebnis in einem Texteditor und suche die Zeile/Spalte raus.


http://<your-fhem-server>:8083/fhem/?cmd=jsonlist2&XHR=1
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 11:36:34
Nach 3.99 ist ein ungültiges Zeichen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 11:38:41
Hab ich doch schon eins über deinen Post gepostet.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 11:39:30
Ja aber das Reading kann ich ja nicht beeinflussen. Kann ich das Reading in fhem excluden?


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 11:48:27
Glaube ich nicht, dass das geht.
Besser wäre das aber im z-wave Modul zu beachten, oder/und im jsonlist2

"Bytes less then 0x20 in a Perl string  must be converted into JSON escapes..."
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 12:14:34
ich weiss nicht ob es daran liegt aber meine Widgets updaten sich auch nicht mehr.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 12:26:14
Definitiv liegt es daran. ShortPoll (kpl. Update) fällt dann aus. Longpoll müsste aber klappen, da ja die Updates Parameter-fein reinkommen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 12:41:53
misst dann muss ich die 2.2 Version erst mal wieder bei Seite legen und die alte weiter nutzen bis das bei der 2.2 gefixt ist.

Nutze nur ungern die alte Version weil die bei mir sehr langsam läuft beim laden der Seiten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: StefanD am 09 Juni 2016, 18:49:46
Zitat von: wildea am 09 Juni 2016, 12:41:53
misst dann muss ich die 2.2 Version erst mal wieder bei Seite legen und die alte weiter nutzen bis das bei der 2.2 gefixt ist.

Nutze nur ungern die alte Version weil die bei mir sehr langsam läuft beim laden der Seiten.

Da kann die 2.2er nix für. FTUI ist keine Kläranlage, wenn auf der einen Seite Mist (=unerlaubte Zeichen in jasonlist) reinkommt, kommt auf der anderen Seite Mist raus...  ;)

Ich hatte im Zusammenspiel mit einem Arduino, der Sensordaten liefert auch immer ein nicht erlaubtes Zeichen mit am Ende des Readings. Ich habe dann halt im Arduinocode das Zeichen abgeschnitten...

VG Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 20:29:58
Zitat von: StefanD am 09 Juni 2016, 18:49:46
Da kann die 2.2er nix für. FTUI ist keine Kläranlage, wenn auf der einen Seite Mist (=unerlaubte Zeichen in jasonlist) reinkommt, kommt auf der anderen Seite Mist raus...  ;)

Ich hatte im Zusammenspiel mit einem Arduino, der Sensordaten liefert auch immer ein nicht erlaubtes Zeichen mit am Ende des Readings. Ich habe dann halt im Arduinocode das Zeichen abgeschnitten...

VG Stefan

Ja ist schon richtig das die 2.2er in dem Sinn nichts dafür kann. Die alte bringt aber keinen Fehler deswegen und mit der läuft alles. Die Dateien sind 1 zu 1 Räuber kopiert.


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 09 Juni 2016, 21:50:26
OK ich hab die 2.2 wieder zum Laufen bekommen. Habe mit

setreading ZWDongle_1 version 3.99

einfach das reading überschrieben und schon non-Uni Char weg und ftui aktualisiert wieder
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 Juni 2016, 22:42:18
Ich würde den Fehler auch gerne im FTUI abfangen, damit alles runder läuft, aber der Fehler passiert schon im JS/jQuery Layer beim Ajax Aufruf. Also kann man das nur beim Sender ändern.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: roman1528 am 12 Juni 2016, 15:59:37
Moin.

Ich habe immer wieder das Problem, wenn ich Unterseiten direkt Aufrufe, dass die Widgets mehrfach geladen werden.

Ich glaube ich hatte das schon mal angesprochen.

Wenn ich also: "http://IP:PORT/fhem/tablet_eval/index.html" aufrufe, kurz warte und dann über das Menü (SlideOut mit Link-Widgets) eine Unterseite aufrufe funktioniert alles bestens.

Wenn ich aber z.B.: "http://IP:PORT/fhem/tablet_eval/index.html#content_draussen.html" direkt aufrufe werden die (vorallem Symbol-) Widgets mehrfach geladen.

Sehr schön zu sehen wenn man ein Symbol mit "fa-blink" hat. Es überlagert sich alles.

Eine Idee was das ist und wie das behoben werden kann?

Grüße^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xxsteffenxx am 12 Juni 2016, 19:05:52
kurze Frage, gibt es data-type="readingsgroup" schon in der 2.2?

Steffen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: DocCyber am 14 Juni 2016, 18:34:42
Hallo zusammen,

wie kann ich beim Einsatz von Pagebutton einen farbigen Ring (fa-circle-thin als Hintergrundicon) als Indikator für einen Device-Status verwenden? Mit anderen Worten: Die Farbe des Rings soll sich dynamisch je nach Zustand des Device ändern. Ich habe schon etliche Varianten ausprobiert, aber bin keinen Schritt weiter gekommen. Die Möglichkeit, ein Farbarray in Abhängig vom Devicezustand zu hinterlegen, funktioniert wohl nicht. Das Problem ist, dass die Ringfarbe mit Anklicken des Widgets irreversibel ändert.
Die Lösung wäre quasi eine Kombination der Eigenschaften von Pagebutton- und Symbol-Widget.

Diese Frage habe ich schon seit einiger Zeit an anderer (evtl ungeeigneter) Stelle gepostet, allerdings bislang habe ich leider keinerlei Antwort erhalten.
Somit stehe ich etwas auf dem Schlauch, weil ich nicht weiß, ob es a) grundsätzlich nicht geht oder b) niemand eine Antwort kennt.

Wäre toll, wenn dazu jemand etwas schreiben könnte...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 Juni 2016, 23:44:58
Ich wüsste nicht, wie man das mit Pagebutton erreichen kann. Die gewünschte Funktionen verträgt sich nicht recht mit der Tab-Funktion (welcher Tab ist gerade aktiv). Auch unterschiedliche Funktionen für Hintergrund/Vordergrund kann ich nicht bieten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: DocCyber am 15 Juni 2016, 08:37:45
Vielen Dank, setstate!

Das ist ein klare Antwort, auch wenn mir etwas anderes gewünscht hätte.
Schade, denn ich fände ein solches feature sehr nützlich.

Klaus

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: DocCyber am 15 Juni 2016, 12:10:44
Gibt es eigentlich eine Möglichkeit, eine mittels id reservierte sub-page beim Aufruf der index.html sofort anzuzeigen, d.h. ohne auf den Pagebutton zu klicken?


<!--Kurzer Auszug aus meiner index.html-->
<li class="halbTransparent border-left border-right" data-row="1" data-col="1" data-sizex="1" data-sizey="1">
  <header class="headerTransparent">Home</header>
  <div data-type="pagebutton"
    data-device = "alarmProtectionState"
    data-get = "STATE"
    data-background-icon = "fa-circle-thin"
    data-states='["0", "1", "2", "3"]'
    data-icon = "fa-home warn"
    data-on-color="white"
    data-off-color="white"
    data-active-pattern = ".*home.html"
    data-url="#home.html"
    data-load="#home"
    class="bigger">
</div>
</li>
......
......
<li data-row="2" data-col="1" data-sizex="5" data-sizey="7">
  <div class = "page" id = "home"></div>
  <div class = "page" id = "alarm"></div>
  ....
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 17 Juni 2016, 09:08:45
Schön, das Forum ist wieder da  :)
Gab es Verluste (Einträge weg)?

Update bei Version 2.2
Ich habe das Widget iFrame adaptiert und in das github eval Repo gelegt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 17 Juni 2016, 10:49:15
Zitat von: setstate am 17 Juni 2016, 09:08:45
Update bei Version 2.2
Ich habe das Widget iFrame adaptiert und in das github eval Repo gelegt.

Super Nachricht, danke setstate.

Weißt du ob es schon Neuigkeiten was das meteogram chart widget unter 2.2 angeht gibt?
https://github.com/knowthelist/fhem-tablet-ui

Das meteogram würde ich gerne unter 2.2 auch gerne wieder einsetzen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: gandy am 17 Juni 2016, 11:18:27
@olinder,

Zitat von: olindner am 30 Mai 2016, 12:51:56
Ein kleinen Schönheitsfehler im widget_weather habe ich gefunden, denke ne kleine Sache ...
<div data-type="weather" data-icon="B" class="cell medium inline"></div>

Das Icon wird angezeigt und danach wird noch "weather" als text in die GUI geschrieben, siehe Bild!

Hatte das gleiche Problem und eine Lösung oder zumindest einen Workaround gefunden: Die Icons bleiben, aber der Text "weather" verschwindet, wenn ich die betreffenden Zeilen so umschreibe:
<div data-type="" data-icon="B" class="cell medium inline weather"></div>
(also weather aus data-type raus und in class rein. Intern fügt das widget_weather dem class ein "weather" hinzu, scheint aber zusätzlich den Text "weather" unterzujubeln. Scheint mit dem fehlenden device Attribut zussammenzuhängen. Das selbe passiert nämlichh auch, wenn ich bei einem wetterabhängigen Icon/Text einen falschen Devicenamen angebe. Leider hab ich noch nicht gesehen, wie das im Widget abzufangen ist.

Cheers,
Andy.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 17 Juni 2016, 11:18:59
Meteogramm wird nicht geladen.

bekomme unter 2.2 das widget_meteogramm nicht zum laufen. In der Konsole bekomme ich folgenden Fehler:
screenshot_1

An der stelle steht im widget folgendes:

// load highcharts libs
dynamicload('../lib/highcharts/highcharts.js', null, null, false);
dynamicload('../lib/highcharts/themes/dark-unica.js', null, null, false);
dynamicload('../js/highcharts-meteogram.js', null, null, false);


Unter der alten Tablet UI gibt es da keine Probleme. Kann man das schnell fixen?


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: olindner am 17 Juni 2016, 11:31:31
Hallo Andy, ich habe den Code, wie meist, mit CopyPaste übernommen  8) ... in der 1.0 hat es funktioniert, aber richtiger wäre und das ist auch gut so den data-device anzugeben. Dieser fehlte! Versuche es mal so ...
<div data-type="weather" data-device="ProWetter" data-icon="B" class="cell medium inline"></div>

Zitat von: gandy am 17 Juni 2016, 11:18:27
@olinder,

Hatte das gleiche Problem und eine Lösung oder zumindest einen Workaround gefunden: Die Icons bleiben, aber der Text "weather" verschwindet, wenn ich die betreffenden Zeilen so umschreibe:
<div data-type="" data-icon="B" class="cell medium inline weather"></div>
(also weather aus data-type raus und in class rein. Intern fügt das widget_weather dem class ein "weather" hinzu, scheint aber zusätzlich den Text "weather" unterzujubeln. Scheint mit dem fehlenden device Attribut zussammenzuhängen. Das selbe passiert nämlichh auch, wenn ich bei einem wetterabhängigen Icon/Text einen falschen Devicenamen angebe. Leider hab ich noch nicht gesehen, wie das im Widget abzufangen ist.

Cheers,
Andy.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: DocCyber am 17 Juni 2016, 22:24:57
Zitat von: DocCyber am 15 Juni 2016, 12:10:44
Gibt es eigentlich eine Möglichkeit, eine mittels id reservierte sub-page beim Aufruf der index.html sofort anzuzeigen, d.h. ohne auf den Pagebutton zu klicken?
Ja, das geht!  :)
Das kleine Wörtchen default bei class sorgt dafür.

    ....
    ....
    data-active-pattern = ".*home.html"
    data-url="#home.html"
    data-load="#home"
    class="default bigger">
</div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 Juni 2016, 20:51:02
Zitatwerden die (vorallem Symbol-) Widgets mehrfach geladen.

Sehr schön zu sehen wenn man ein Symbol mit "fa-blink" hat. Es überlagert sich alles.

Eine Idee was das ist und wie das behoben werden kann?

Ich kann das beim besten Willen nicht nach vollziehen ... ???
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 Juni 2016, 22:51:17
Zitat von: xxsteffenxx am 12 Juni 2016, 19:05:52
kurze Frage, gibt es data-type="readingsgroup" schon in der 2.2?

Steffen

Readingsgroup habe ich gerade angepasst und ist nun im FTUI-Eval Repo verfügbar.
Man muss jetzt aber irgendein data-get angeben, welches das Update triggern kann.

Beispiel:

<div data-type="readingsgroup" data-device="battery" data-get="BadHeizung:batteryLevel"></div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mario67 am 21 Juni 2016, 13:03:34
Hallo,

in der Version 1.x nutze ich intensiv die Möglichkeit Popup-Dialoge erscheinen zu lassen (Telefonanruf, IPCAM, detaillierte Verkehrsinfos,..).
Das Öffnen und Schließen der Dialoge wird über dummy-Device (z.B. AlarmFired) gesteuert (nach: http://forum.fhem.de/index.php/topic,49873.0/topicseen.html (http://forum.fhem.de/index.php/topic,49873.0/topicseen.html))
<div class="top-space">
    <div data-type="popup" data-device="AlarmFired" data-get-on="[1-9]\d*" data-get-off="0" data-height="600px" data-width="1000px">
        <div></div>
        <div class="dialog">
        :
        :


Beim Umstellen/Testen meiner Oberfläche unter FTUI 2.2 (läuft sonst sehr gut) erscheinen bzw. verschwinden die Popups nun nicht mehr selbstständig. Vielmehr muss man nach dem passenden Setzen des dummy erst ein Reload der Seiten (F5) auslösen.
Hat sich am Mechanismus etwas geändert, gibt es hier noch ein Problem der Eval-Version oder mache ich etwas falsch?

Grüße,
Mario

Edit: Da war natürlich auch ein data-get-off="0". Ändert aber leider nichts am Verhalten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mario67 am 21 Juni 2016, 13:24:12
Während meiner Versuche mit 2.2 habe ich das Widget Clicksound von nesges angepasst. Ich nehme an hier ist die offizielle Sammelstelle.
Evtl. kann ja noch jemand ;) darüberschauen und ins Repository übernehmen.

Danke,
Mario

Edit: Header im File ergänzt (insbesondere Hinweis auf die Quelle).
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: drhirn am 21 Juni 2016, 14:40:47
Zitat von: setstate am 17 März 2016, 10:40:13
Für interessierte Tester, die neuste Entwicklungsversion (eval) zum Ausprobieren.

Wollte kurz anmerken, ich bin wahnsinnig begeistert! V.a. auch von der pagebutton-Sache.
Gute Arbeit!

Danke dir
Stefan
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mario67 am 23 Juni 2016, 15:26:02
Zitat von: Mario67 am 21 Juni 2016, 13:03:34
....Beim Umstellen/Testen meiner Oberfläche unter FTUI 2.2 (läuft sonst sehr gut) erscheinen bzw. verschwinden die Popups nun nicht mehr selbstständig. Vielmehr muss man nach dem passenden Setzen des dummy erst ein Reload der Seiten (F5) auslösen.
Hat sich am Mechanismus etwas geändert, gibt es hier noch ein Problem der Eval-Version oder mache ich etwas falsch?
Update: Das Problem beschränkt sich offensichtlich auf das Schließen. Wenn der Regex aus data-get-off matched, wird der Hintergrund (welcher beim Erscheinen des Popups gedimmt wurde) wieder heller. Der Dialog bleibt aber stehen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: gandy am 23 Juni 2016, 17:01:15
@olinder:

copy&paste hatte ich auch  8) data-device sollte auch nicht notwendig sein, weil ja auf gar kein Reading zugegriffen werden soll - und vor 2.0 ging das ja auch. Inzwischen verstehe ich aber wo das weather herkommt und habe einen patch dafür (siehe Anhang). Damit klappt es dann mit der exakt selben Schreibweise wie vor 2.0.

@setstate: Passt der Patch so?

Beste Grüße,
Andy.

Zitat von: olindner am 17 Juni 2016, 11:31:31
Hallo Andy, ich habe den Code, wie meist, mit CopyPaste übernommen  8) ... in der 1.0 hat es funktioniert, aber richtiger wäre und das ist auch gut so den data-device anzugeben. Dieser fehlte! Versuche es mal so ...
<div data-type="weather" data-device="ProWetter" data-icon="B" class="cell medium inline"></div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 Juni 2016, 22:48:09
Zitat von: gandy am 23 Juni 2016, 17:01:15
data-device sollte auch nicht notwendig sein, weil ja auf gar kein Reading zugegriffen werden soll - und vor 2.0 ging das ja auch. Inzwischen verstehe ich aber wo das weather herkommt und habe einen patch dafür (siehe Anhang). Damit klappt es dann mit der exakt selben Schreibweise wie vor 2.0.

ja, danke, der Patch ist grundsätzlich richtig und werde ich auch so übernehmen.
Aber wenn man nur ein statisches Wetter-Icon anzeigen will, reicht wirklich nur in

<div data-icon="B" class="weather"></div>

also rein über CSS. Dafür braucht man kein FTUI-Widget kreieren, was mit FHEM redet.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: gandy am 24 Juni 2016, 08:59:09
Das dachte ich versucht zu haben,  hab aber vielleicht einen Fehler dabei gemacht und stand dann unter dem Eindruck, daß div müsste auf jedem Fall ein Attribut data-type haben - offenbar ein Irrtum  :o

Jedenfalls danke für die Klarstellung, je einfacher desto besser  :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Echt_Jetzt am 29 Juni 2016, 15:31:06
Kurze Info:

Ich bekomm das Chart widget unter 2.2 nicht zum laufen.
Hab sämtliche Versionen die hier im Thread rumschwirren getestet.
Auch mit den Updates von "widget_pagebutton" und "widget_popup"

Daten liegen bei mir im DBLog.
Unter 1.x läufts  :-\
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 29 Juni 2016, 19:38:18
ist eigentlich irgendwo dokumentiert welche funktionen es gibt die man in widgets benötigt/ nutzen kann? so eine art übersicht / rezept für widget der 2.2 so das man zumendest eine grobe hülle vorgibt? ich weiss aktuell absolut nicht was ich änder muss um mein calview widget für die 2.2 zu ertüchtigen (und nein, die 2 zeilen code im post1 sind für micht nicht hilfreich  ;) )

ein widget rauspicken und abgucken finde ich ist bei der 2.2 nicht so einfach möglich
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 29 Juni 2016, 20:13:39
Es gibt noch das File widget_example.js, das ist ein Minimal Beispiel für ein Widget

Wichtig ist der untere Teil


    // public
    // inherit all public members from base class
    return $.extend(new Modul_widget(), {
        //override or own public members
        widgetname: 'example',
        init: init,
        update: update,
    });


Hier sagt man:
- mein Widget "erbt" erst einmal alles von XXX (hier Modul_widget(), man kann auch von Modul_label() erben)
- das zählt man auf, was "überschrieben" wird -> alt: neu (z.B. init: init -> heißt: nimm nicht init von UrWidget, sondern meins, was hier im Document definiert ist)
- Ansonsten werden die Funktionen aus dem UrWidget aufgerufen und nicht die eigenen neuen

Man kann auch die Init-Funktion aus dem Basis-Widget (findet man im File fhem-tablet-ui.js) benutzen, also hier nichts überschreiben und stattdessen nur die von der init Funktion aufgerufenen Unterfunktionen init_attr und init_ui und implemetieren/überschreiben (siehe widget_select.js)

    // public
    // inherit all public members from base class
    return $.extend(new Modul_widget(), {
        //override or own public members
        widgetname: 'select',
        init_attr: init_attr,
        init_ui:init_ui,
        update: update,
    });
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 29 Juni 2016, 20:14:53
oh, danke, sehe ich mir gleich an
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Risiko am 29 Juni 2016, 22:15:56
Ein kleines 'HowTo' für "Wie schreibe ich ein FTUI-Widget" im Wiki wäre nicht schlecht.
Stehe auch kurz vor der Entwicklung eines eigenen Widgets (plex, weekprofile)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: luvat am 01 Juli 2016, 11:41:16
Huhu,

ich versuche gerade Daten via iFrame einzubinden. Ich bekomme es aber leider weder über das integrierte Widget hin, noch über einen generischen html iframe.

In der "alten" Tablet UI war dies kein Thema ... aber in der 2.2er bekomm ichs nicht hin :(
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mario67 am 01 Juli 2016, 14:26:14
Zitat von: Mario67 am 21 Juni 2016, 13:03:34
... Das Öffnen und Schließen der Dialoge wird über dummy-Device (z.B. AlarmFired) gesteuert (nach: http://forum.fhem.de/index.php/topic,49873.0/topicseen.html (http://forum.fhem.de/index.php/topic,49873.0/topicseen.html))
....
Beim Umstellen/Testen meiner Oberfläche unter FTUI 2.2 (läuft sonst sehr gut) erscheinen bzw. verschwinden die Popups nun nicht mehr selbstständig. Vielmehr muss man nach dem passenden Setzen des dummy erst ein Reload der Seiten (F5) auslösen.
Hat sich am Mechanismus etwas geändert, gibt es hier noch ein Problem der Eval-Version oder mache ich etwas falsch?....
Edit: Da war natürlich auch ein data-get-off="0". Ändert aber leider nichts am Verhalten.....
Hallo,

hier die neuesten Erkenntnisse zum Thema ,,Popup-Dialoge schließen sich nicht"
(https://forum.fhem.de/index.php/topic,50945.msg464279.html#msg464279 (https://forum.fhem.de/index.php/topic,50945.msg464279.html#msg464279) und https://forum.fhem.de/index.php/topic,50945.msg465141.html#msg465141 (https://forum.fhem.de/index.php/topic,50945.msg465141.html#msg465141)).

Wenn man statt dem aktuellen widget_popup.js aus dem Repository (vom 16.05.2016) die Version von eki an die Chart-Implementierung angepasste Version aus dem Thread "FTUI Neue Version chart_widget" (https://forum.fhem.de/index.php/topic,48450.msg401006.html#msg401006) verwendet (von mir lokal nachbearbeitet (showModal ==> ftui.showModal), tritt das von mir im o.g. Post geschilderte Problem nicht mehr auf.
Setzt man das verbundene Device auf den Wert der bei data-get-off angegeben ist, schließt sich das Popup selbstständig.

@setstate: Kannst Du bei Gelegenheit evtl. mal nachsehen. Ich habe im Diff nicht die entscheidende Stelle finden können.
Danke,
Mario
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: phil82 am 03 Juli 2016, 19:46:23
Ich hab die Evaluierungsversion ebenfalls getestet und auch bei mir scheint alles zu funktionieren.

Ich hab nur eine kleine Format-Änderung beim Thermostat:
Wenn die Soll-Temperatur ein ganzes Grad entspricht, dann erfolge die Ausgabe ohne Nachkommastellen. Wenn die Temperatur allerdings einen halten Grad entspricht, dann erfolgt die Ausgabe korrekt.
Also:
"15.0" => 15
"15.5" => 15.5
Anscheinend wird die "onFormat" Methode aus dem Modul_knob nicht mehr aufgerufen.
Ich hab das mal ein bischen gedebuggt, aber konnte den Grund dafür nicht finden. Ich kenn mich aber auch nicht mit diesem Knob-Modul und jQuery aus.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 06 Juli 2016, 07:11:05
leider funktioniert der Multistatebutton noch nicht. Alles andere funktioniert bestens.....
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: phil82 am 10 Juli 2016, 02:28:41
Hi,

beim Slideout mit festem Header wird der Titel nicht angezeigt. Siehe index_nav_fixed_mobil.html

Das liegt daran, dass Slideout den Linkname unter main#panel oder nav#menu erwartet.
Ich habs aber nicht hinbekommen einen festen Header innerhalb des main#panel zu haben.

Ich hab das bei mir wir folgt geändert:

    function init_attr(elem) {
elem.initData('header'      ,'header#header'); //Add phil82
        elem.initData('panel'       ,'main#panel');
   ....

            var elemLinkName =
                    $(elem.data('header')).find('#linkname') || //Add phil82
                    $(elem.data('panel')).find('#linkname') ||
                    $(elem.data('menu')).find('#linkname');
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: phil82 am 11 Juli 2016, 22:23:23
Ich hab vermutlich noch einen kleinen Fehler gefunden.

Wenn nur die Checkbox (ohne einen anderen Button) verwendet wird, dann kommt es zu dem JavaScript-Fehler "ReferenceError: Modul_famultibutton is not defined".
Im Widget "checkbox" fehlt bei "depends_checkbox ()" die Abhängigkeit zum famultibutton.

function depends_checkbox (){
    if (!$.fn.Switchery){
        $('head').append('<link rel="stylesheet" href="'+ ftui.config.dir + '/../lib/switchery.min.css" type="text/css" />');
        return ["lib/switchery.min.js",
"famultibutton"]; //Add phil82
    }
};
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 13 Juli 2016, 10:22:57
Hallo

kurze Gestaltungsfrage. Wenn ich im meinem custom.css bei <section> die boarder-bottom: 0px mache, dann blendet es folglich generell die Linien aus. Was muss ich nun im html code eingeben, wenn ich dann vereinzelt die Linien wieder einblenden will? Also <section boarder-bottom="1px"> geht z.B. nicht. Danke für die Hilfe.

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 13 Juli 2016, 15:19:22
lege in deine User CSS einfach ein Klasse dafür an


.uline{
    border-bottom: 1px solid #888;
}


und dann so benutzen


<section class="uline">
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 13 Juli 2016, 15:55:14
Zitat von: phil82 am 10 Juli 2016, 02:28:41
Hi,

beim Slideout mit festem Header wird der Titel nicht angezeigt. Siehe index_nav_fixed_mobil.html

Das liegt daran, dass Slideout den Linkname unter main#panel oder nav#menu erwartet.
Ich habs aber nicht hinbekommen einen festen Header innerhalb des main#panel zu haben.


Danke für das aktive Bugfixen.
Ich habe es jetzt (leicht vereinfacht) geändert und bei Github hochgeladen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 13 Juli 2016, 15:59:15
Zitat von: phil82 am 11 Juli 2016, 22:23:23
Ich hab vermutlich noch einen kleinen Fehler gefunden.

Wenn nur die Checkbox (ohne einen anderen Button) verwendet wird, dann kommt es zu dem JavaScript-Fehler "ReferenceError: Modul_famultibutton is not defined".
Im Widget "checkbox" fehlt bei "depends_checkbox ()" die Abhängigkeit zum famultibutton.


Wieder vielen Dank.
Ist so (ähnlich) übernommen worden und ich habe auch gleich noch einige ander Widgets in der depends_* Funktion angepasst, was etwas mehr Zuverlässigkeit bringen sollte.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xps am 14 Juli 2016, 17:05:27
Hallo,

zuerst - vielen Dank für das tolle Interface - es ist eine große Bereicherung für meine FHEM-Umgebung.  :D

Ich wollte gerade auf einer frisch installierten Instanz vom eval Feed updaten und bekomme leider den Fehler


update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui_eval.txt
...
...
2016.07.14 16:58:34 1 : Got 45760 bytes for www/tablet_eval/js/fhem-tablet-ui.js, expected 45752
2016.07.14 16:58:34 1 : aborting.


Wurde vielleicht nur vergessen das controls file auf die entsprechenden Bytes anzupassen oder liegt das Problem bei mir?
Habe auch schon den ganzen Ordner gelöscht und erneut versucht - leider erfolglos.

Danke & lG
xps
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 Juli 2016, 17:25:54
Ohh, danke. Ich habe vergessen, das controlfile zu aktualisieren.
Sollte jetzt passen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: BasWeg am 14 Juli 2016, 19:56:29
Hi,
bei mir tritt der Fehler auch auf :(
2016.07.14 19:55:03 1 : UPD www/tablet_eval/css/fhem-tablet-ui.css
2016.07.14 19:55:03 1 : Got 22468 bytes for www/tablet_eval/css/fhem-tablet-ui.css, expected 23263
2016.07.14 19:55:03 1 : aborting.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 Juli 2016, 21:35:40
Sorry, ... war noch was falsch. Jetzt aber!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 14 Juli 2016, 23:07:36
ich bin nach wie vor begeistert. Das ist wie Lego für Erwachsene :)

Ich habe zwei Fragen, in der Hoffnung jemand kann mir helfen.

Ich modifiziere die index_nav_mobil.html und die content_temps.html zu Testzwecken auf meinem iPhone 6. was mir auffällt ist, dass die content_temps.html nicht ganz mittig dargestellt wird, sondern eher zu sehr rechts. Wo kann ich das einstellen?

Beim Start der index_nav_mobile.htm kommt für ein Bruchteil einer Sekunde die ganze Navi auf voller Breite bevor die content_temps.html und der Header geladen wird. Normal?

Und sehe ich das richtig, dass Swiper hier nicht geht? EDIT: Swiper geht ;)

Ui, das waren nun drei Fragen ;) danke trotzdem

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 Juli 2016, 09:11:51
Zitat von: choetzu am 14 Juli 2016, 23:07:36
ich bin nach wie vor begeistert. Das ist wie Lego für Erwachsene :)

Ich habe zwei Fragen, in der Hoffnung jemand kann mir helfen.

Ich modifiziere die index_nav_mobil.html und die content_temps.html zu Testzwecken auf meinem iPhone 6. was mir auffällt ist, dass die content_temps.html nicht ganz mittig dargestellt wird, sondern eher zu sehr rechts. Wo kann ich das einstellen?


Das habe ich schon bei mir korrigiert. Update der CSS kommt aber erst, wenn ich das Thema Flexbox save habe.
Man kann aber per Hand das schon mal vorab ändern bzw. anfügen


body {
...
width: auto;
margin: 4px;
}


ZitatBeim Start der index_nav_mobile.htm kommt für ein Bruchteil einer Sekunde die ganze Navi auf voller Breite bevor die content_temps.html und der Header geladen wird. Normal?

Ist normal. Habe noch nicht versucht, das aufzuhübschen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Esjay am 16 Juli 2016, 14:21:11
Hallo zusammen.
Ich steige gerade in die Tablet UI ein, und scheitere (ein wenig wäre untertrieben) an den Basics.
Zur Darstellung nutze ich ein IPad Mini 1

Aufgebaut wird auf die Seiten : Index_page_demo.html sowie  page_content1(geändert auf Wohnzimmer), page_content2, und page_content3

Punkt 1:
Muss in der Index_page_demo.html an den Werten

<meta name="widget_base_width" content="74">
<meta name="widget_base_height" content="71">

etwas angepasst werden,weil ich ein Ipad Mini 1 verwende?

Punkt 2:
Vorübergehend und unter nicht berücksichtigung des Punktes 1 habe ich die data-sizex Werte auf 12 verändert, damit die Seite voll ausgefüllt ist:
<li data-row="1" data-col="1" data-sizex="12" data-sizey="1">
                <div data-type="pagebutton" data-url="#Wohnzimmer.html".............."></div>
                <div data-type="pagebutton" data-url="#page_content2.html" ..........."></div>
                <div data-type="pagebutton" data-url="#page_content3.html"............"></div>
</li>
            <li data-row="2" data-col="1" data-sizex="12" data-sizey="8">
                <div class="page" id="Wohnzimmer"></div>
                <div class="page" id="content2"></div>
                <div class="page" id="content3"></div>
            </li>


Wenn ich nun die Wohnzimmer.html mit folgendem Fülle,
<body>
  <div class="page" id="Wohnzimmer">
    <div class="gridster">
      <ul>
        <li data-row="0" data-col="0" data-sizex="4" data-sizey="4">

      <div data-type="switch" class="cell"
            data-device="Schlafzimmer"
data-icon="fa-plug"
            ></div>
<div data-type="label" class="">Schlafzimmer</div>

<div data-type="switch" class="cell"
            data-device="Links"
data-icon="fa-plug"
            ></div>
<div data-type="label" class="">WZ-Links</div>

<div data-type="switch" class="cell"
            data-device="Rechts"
data-icon="fa-plug"
            ></div>
<div data-type="label" class="">WZ-Rechts</div>
        </li>
      </ul>
    </div>
   </div>
</body>


werden mir die Symbole wie im angehängten Screenshot zu sehen angezeigt.

Die Große Frage ist, wie positioniere ich die Sachen denn richtig?


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 16 Juli 2016, 16:14:34
Man könnte die Hauptfläche in mehrere kleine <li unterteilen. Dann entsprechend die data-row und data-col Weite und Höhe setzen.
Oder in mehrere div Spalten und Zeilen unterteilen mit CSS Klassen col-x-y

Beispiele kann ich gerade am Telefon nicht anhängen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Esjay am 16 Juli 2016, 16:35:08
Danke Setstate
Der Denkanstoß hat gefehlt.Hab jetzt einfach den <li vor dem class=page entfernt, und gut.

Jetzt bin ich schon ein Stück weiter.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 19 Juli 2016, 22:59:57
Hallo,

Ich habe nun für mein iPhone 6 eine index-Seite mit swiper widget und 4 Seiten erstellt, welche ich zum Homebild hinzugefügt habe. Einerseits um Werte zu lesen und auch um Aktoren zu schalten. Das funktioniert alles eigentlich prima, die Darstellung ist auch ganz nach meinem Gusto.

Mein Problem liegt lediglich darin, dass von ca 10 mal die Seite laden ca 5 mal falsch dargestellt wird. Entweder werden Werte nicht geladen, oder eine andere Schriftart verwendet oder der Hintergrund geändert u.s.u.s.f. Ist dieses Problem bekannt?

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 21 Juli 2016, 10:56:09
@choetzu
das hatte ich auch mal, da hatte ich aber einen HTML Definitions Fehler in meiner Index-seite
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mpomp am 21 Juli 2016, 12:10:37
Hallo

habe jetzt die Version 2.2 im Einsatz. Tolle Arbeit läuft super und schnell. Hatte nur ein kleines Problem beim Umstellen von Version 1.0 auf 2.2.

Bei mir war die Index.html und alle anderen Seiten in einem Unterordner, dadurch funktionierten die Aufrufe der Dateien in den Ordneren ./js/ , ./lib/ und /pgm2/ nicht mehr.

Ich habe die fhem-tablet-ui.js bei mir dementsprechend angepasst.


    loadPlugin: function (name,area) {

        var deferredLoad = new $.Deferred();
        ftui.log(2,'Create widget : '+name);

        // get the plugin
        //alt ftui.dynamicload("js/widget_"+name+".js",true).done(function(){
        // damit das widget_name.js auch von Unterordner geladen werden kann
ftui.dynamicload(ftui.config.dir + "/widget_"+name+".js",true).done(function(){



Damit die aufgerufen Widgets, die Dateien in den ./lib/ und /pgm2/  Ordnern finden können, habe ich die verwendeten Widgets auch dementsprechend angepasst.
z.b

function depends_circlemenu (){
    if (!$.fn.circleMenu)
        return [ftui.config.dir + "/../lib/jquery.circlemenu.js"];
};



Vielleicht besser wenn je eine Variable für lib und pgm2 in ftui.config. dynamisch erzeugt werden könnte, wie die Variable ftui.config.dir.

Die geänderten Dateien sind als zip angehängt.
Vielleicht könnte das setstate bitte anschauen.

Es wäre toll wenn die Version 2.2 auch in Unterordnern funktionieren würde.

Ich hoffe ich bin niemand zu Nahe getreten.

LG Mpompe

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 Juli 2016, 12:25:53
Wenn man bei ftui.config.dir das oberste Verzeichnis angibt und ich das überall beachte

ftui.config.dir + "/js/widget_..."
oder ftui.config.dir + "/lib/..."

sollte es doch funktioneten?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mpomp am 21 Juli 2016, 13:21:22
Hallo setstate,

ja müsste funktionieren.

In den Widgets die den Ordner pgm2 benötigen, müsste der Verweis so aussehen.




    if (!$.fn.draggable){
        deps.push(ftui.config.dir + "./../pgm2/jquery-ui.min.js");           
    }
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Luigi am 21 Juli 2016, 15:34:49
Hallo,

ich bekomm plötzlich seit gestern Abend folgenden Fehler gemeldet:


-------- start healthCheck -------------- fhem-tablet-ui.js:772
now: Thu Jul 21 2016 15:24:05 GMT+0200 (CEST) fhem-tablet-ui.js:773
FTUI version: 2.2.1 fhem-tablet-ui.js:774
Longpoll: true fhem-tablet-ui.js:775
Longpoll objects there: false fhem-tablet-ui.js:776
Longpoll curent line: 0 fhem-tablet-ui.js:777
Longpoll last event before: 17004 Tag(e) 12 Stunde(n) 24 Minute(n) 6 Sekunde(n) fhem-tablet-ui.js:778
Shortpoll interval: 30 fhem-tablet-ui.js:779
Shortpoll last run before: 17004 Tag(e) 13 Stunde(n) 24 Minute(n) 6 Sekunde(n) fhem-tablet-ui.js:780
FHEM dev/par count: 0 fhem-tablet-ui.js:781
FTUI known devices count: 0 fhem-tablet-ui.js:782
Page length: 270324 fhem-tablet-ui.js:783
Widgets count: 254 fhem-tablet-ui.js:784
--------- end healthCheck --------------- fhem-tablet-ui.js:785
start shortpoll fhem-tablet-ui.js:951
start shortpoll in (ms):30000 fhem-tablet-ui.js:951
widget_image url=http://192.168.24.186/grab?format=jpg&_=1469107471246 fhem-tablet-ui.js:951
start shortpoll fhem-tablet-ui.js:951
start shortpoll in (ms):30000 fhem-tablet-ui.js:951
widget_image url=http://192.168.24.186/grab?format=jpg&_=1469107501323 fhem-tablet-ui.js:951
[color=red]shortPoll request failed: parsererror, SyntaxError: Unexpected token  fhem-tablet-ui.js:951
shortPoll request failed: parsererror, SyntaxError: Unexpected token  fhem-tablet-ui.js:951
shortPoll request failed: parsererror, SyntaxError: Unexpected token  fhem-tablet-ui.js:951[/color]


Woran kann das liegen, bzw. wie finde ich den Fehler?

Gruß

Luigi[/code]
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 Juli 2016, 16:27:17
Da hat dein Fhem in einem Reading ein Steuerzeichen, was beim Senden per JSON nicht ordentlich escaped wird. Das ist eine unsaubere Implementierung im jsonlist2 Fhem-Modul. Du kannst nur das Reading suchen und per setreading korrigieren.
Wie das geht, findest du per suche in diesem Thread.

Nachtrag.
Ich sehe gerade im Github: jsonlist2.pm: do not emit non-utf-8 data (Forum #55318)
rudolfkoenig committed 13 days ago

Vllt. Kommt die Änderung schon per fhem Update mit und dein Problem hat sich erledigt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 21 Juli 2016, 17:10:43
Zitat von: Tobias am 21 Juli 2016, 10:56:09
@choetzu
das hatte ich auch mal, da hatte ich aber einen HTML Definitions Fehler in meiner Index-seite

danke für deine Hilfe. Ich habe sicher gefühlte 1000std mit der Suche des Fehlers verbracht. Als Laie gar nicht so einfach. Gibt es evtl. eine Möglichkeit oder ein Tool, das einem bei der Fehlersuche hilft? Oder soll ich mal die den Code hier platzieren? Ist etwas aber etwas lang...

danke nochmals...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 Juli 2016, 17:15:17
Kannst ruhig die Seite posten. Wir schauen drauf ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 21 Juli 2016, 21:10:04
dem komm ich gerne nach.. ;)

also, es ist mein erstes HTML projekt und ich bin schon ganz stolz darauf. Mir ist aber bewusst, dass ihr HTML-cracks vermutlich viele Optimierungspunkte seht.. Auch gestalterisch. Mir gefällt es aber ;) Einzig mit den slider bin ich noch nicht so glücklich, eigentlich möchte ich mit + und - in 10er Schritten dimmen.. Aber das mach ich dann, sobald ich die html-Seiten "sauber" habe ;) Wie gesagt, es sollte auf dem iPhone 6 laufen.

nochmals danke für die Hilfe... wirklich super.



Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 23 Juli 2016, 16:00:41
Offensichtlich die Nadel im Hauhaufen ;)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 Juli 2016, 16:32:40
Ehrlich gesagt, habe noch nicht drauf geschaut. Familie hat Prio.
Welche Seite macht am meisten Probleme und welche enthält die Links zu den Js Files? Ich kann die Anhänge gerade nicht am Telefon einsehen. Bitte mal eine Seite als Code posten.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 23 Juli 2016, 17:19:01
No problem, Familie hat immer prio ;)

die index_mobile.html hat die Links zu den Js Files.. Siehe den Code hier.

Grundsätzlich "verhauts" immer alle ein bischen. Mal werden die Seiten als zentrierte Listen in anderer Schriftart dargestellt, öfters erscheint der Slider (content_page3) gar nicht und ein anderes Mal bleibt es grau ohne Inhalt... u.s.w. 


<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="83">
    <meta name="widget_base_height" content="65">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="2"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="css/fhem-mobil-ui.css" />
    <link rel="stylesheet" href="css/fhem-mobil-ui-custom.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />
    <link rel="shortcut icon" href="favicon.ico">
    <link rel="apple-touch-icon" href="touchico.png">

    <!-- 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="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>


    <title>Lüthi's Home Mobile</title>
</head>
<body>

<div class="gridster">

<ul>
   
    <li data-row="1" data-col="1" data-sizex="4" data-sizey="9">
<div data-type="swiper" data-height="620px" data-width="332px">
<ul>

<!-- HOME Übersicht Seite 1 Temperaturen-->

<li data-template="content_page1.html">                        
    </li>

<!-- HOME Übersicht Seite 2 Schaltzustände-->

<li data-template="content_page2.html">                        
    </li>

<!-- HOME Schalten Seite 3 Lichter & Dimmer Seite 3-->

<li data-template="content_page3.html">                        
    </li>

<!-- HOME Schalten Seite 4 Storen & Garage -->

<li data-template="content_page4.html">                        
    </li>
   
<!-- Fertig -->  

</ul>
</div>
</li>
   
</ul>

</div>

</body>
</html>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 Juli 2016, 20:56:42
Ja zufällig schon jemand das neue Jsonlist2 Modul getestet, ob das Sonderzeichen Problem jetzt erledigt ist?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 24 Juli 2016, 21:04:20
Zitat von: choetzu am 21 Juli 2016, 21:10:04
dem komm ich gerne nach.. ;)

also, es ist mein erstes HTML projekt und ich bin schon ganz stolz darauf. Mir ist aber bewusst, dass ihr HTML-cracks vermutlich viele Optimierungspunkte seht.. Auch gestalterisch. Mir gefällt es aber ;) Einzig mit den slider bin ich noch nicht so glücklich, eigentlich möchte ich mit + und - in 10er Schritten dimmen.. Aber das mach ich dann, sobald ich die html-Seiten "sauber" habe ;) Wie gesagt, es sollte auf dem iPhone 6 laufen.

nochmals danke für die Hilfe... wirklich super.

Grobe Fehler habe ich nicht gesehen.
Ich würde jetzt mal 3 Sachen nach einander probieren und immer bei jedem Schritt testen, ob es schon besser wird.

1. Diese Zeile würde ich weglassen. Ist ein Fehler laut https://validator.w3.org/#validate_by_input
<meta http-equiv="Cache-Control" content="no-store" />
2. </br> ist falsch. Richtig muss es <br> lauten
3. Es wäre ein Test wert, die Template Funktion wegzulassen und die Subs direkt einzubinden
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 25 Juli 2016, 20:12:02
Zitat von: setstate am 24 Juli 2016, 21:04:20
Grobe Fehler habe ich nicht gesehen.

das motiviert ;)

Zitat von: setstate am 24 Juli 2016, 21:04:20
1. Diese Zeile würde ich weglassen. Ist ein Fehler laut https://validator.w3.org/#validate_by_input
<meta http-equiv="Cache-Control" content="no-store" />
2. </br> ist falsch. Richtig muss es <br> lauten
3. Es wäre ein Test wert, die Template Funktion wegzulassen und die Subs direkt einzubinden

Ich habe eins nach dem anderen probiert. Erst nachdem ich alle - also 1 bis 3 - realisiert habe, hats funktioniert. Seit heute Morgen keinen Aussetzer mehr. Es scheint offensichtlich die Kombination von allen gewesen zu sein. Super!!!

Danke für die Hilfe.. BIn voll happy...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Patrick85 am 28 Juli 2016, 10:10:12
Hallo zusammen,
ich habe einen Fehler gefunden der beim gleichzeitigen Verwenden der Widgets pagetab und link auftritt (tablet_eval). Es reicht in der mitgelieferteten index_tab_demo.html am Ende folgendes hinzuzufügen:

<li data-row="10" data-col="1" data-sizex="9" data-sizey="1">
<div data-type="pagetab" data-url="#index_tab_demo.html"></div>
</li>


Dann wird bei jedem Klick auf einen Link (Raum 1, Raum2 ..) die Anzeige nach rechts verschoben (Beispiel im Anhang). Ich verwende zur Zeit für ein Menü am unteren Rand Pagetab und möchte auf einer dieser Seiten eine Raumübersicht links anzeigen. Und bei Klick auf einen Raum, auf der rechten Seite die jeweilige Grafik von Temperatur/Luftfeuchte anzeigen. Ist dieser Fehler bereits bekannt bzw. kennt jemand eine Alternative?

Mit freundlichen Grüßen
Patrick
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 Juli 2016, 11:20:43
Widgets, die den URL hash als Zwischenspeicher benutzen (#seitenname.html), können nicht gleichzeitig benutzt werden. Pagetab würde ich außerdem überhaupt nicht mehr einsetzen, eher dann pagebutton.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: wildea am 28 Juli 2016, 11:41:59
Warum pagetab nicht mehr einsetzen? Benutze noch pagetab. Was ist an pagebutton besser?


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 28 Juli 2016, 11:57:28
Weil man nicht mehr die ganze Seite wechselt, sondern nur noch einen Teil. Die Menü-Reihe zum Beispiel wird dann nicht jedes Mal neu geladen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Patrick85 am 28 Juli 2016, 14:08:00
okay, danke für die Info setstate. Ich hatte sowas schon befürchtet. Mit pagebutton habe ich leider das Problem, dass mein Camerastream beim Rückkehr auf die Haupseite nicht freigegeben wird und somit vom 2. Display oder von einem PC nicht mehr angeschaut werden kann. Meine Trendnet Kameras unterstützen nur jeweils eine einzelen Zugriff auf den Stream.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Porsti am 01 August 2016, 08:17:11
Hallo,

beobachte jetzt schon eine weile interessiert den aufbau der Version 2.2.
Wollte mal nachfragen wann es offiziell wird??

Bis jetzt wollte ich die neue Version nicht installieren da ich noch dem ofiziellen start nicht alles wieder für die updatefunktionen anpassen wollte.

Daher die frage an alle: Lieber abwarten oder die eval Version nehmen??

Gruß & THX
Porsti
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 01 August 2016, 08:49:11
Ich bin gerade noch an einer Implementierung einer Gridster Alternative für ein flexibleres Grid Layout (responsive) dran. Das passiert aber zu 99,9% auf CSS Ebene. Im FTUI JS erwarte ich keine großen Änderungen mehr. Ich will aber noch schauen, ob alle wichtigen Widgets nun konvertiert sind und eventuell noch nachreichen. Ich denke an Multistatebutton oder an Button von nesges. Nicht das nach einen Upgrade bei einigen nix mehr läuft.
Ansonsten wird dann der eval Branch zum Hauptzweig, und der jetzige zum *_old
Wird nicht mehr lange dauern.
Ansonsten würde ich allen raten, wenn etwas Zeit dafür da ist, die eval Version parallel mit seinen vorhandenen Seiten zu testen (keine neuen Ansichten bauen mit den neuen Features, nur das Bewährte testen) nicht das dann nach dem Release die Files auf euer produktives System kopiert werden und nix mehr funktioniert. Das gibt garantiert dann Abzüge im WAF. Ich kann und will nicht garantieren, das alles problemlos 1:1 weiter läuft.
Ich gehe aber davon aus, dass größtenteils alles weiterhin wie gewohnt funktioniert.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Chris8888 am 01 August 2016, 19:42:41
Hallo, ich habe die 2.2 jetzt seit geraumer zeit im Einsatz und bisher läuft alles wunderbar.

2 kleine Problemchen habe ich noch, vielleicht hat ja jemand eine Idee dazu:

Das Icon für den Radiostream wird bei 2.2 nicht mehr angezeigt, ich dachte, dass wäre im Standard mit drin?
<div data-type="playstream"
data-url="http://radioeins.de/stream"
data-icon="fa-wifi">
</div>
<div data-type="label" class="darker">Radio eins</div>


Ein Refresh der Anzeige dauert ca. 10 Sekunden (bei ca 10t Parametern), dass ist bei jeden "aktivieren" über den Bewegungsmelder recht lange und senkt den WAF-Faktor. Kann man das beschleunigen bzw. wo muss ich suchen? Die Zeit des Refresh ist per Macbook identisch, der PI hat aber Langeweile (CPU<15 %).

Besten Dank vorab für eure Hilfe!

Viele Grüße
Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 01 August 2016, 20:27:24
playstream ist auch so ein offener Kandidat, der noch nach 2.2 kommen muss. Mache ich demnächst ...

Deine 10 sek sind schon etwas sehr lange  :(
Was sagt der Desktop-Browser in den Entwicklertools beim Netzwerktraffic für die Anfrage an FHEM?
Ich habe für ca. 5000 Parameter um die 2sek inkl. FTUI Update
Zum Daten holen sagt FF 1,4 Sek auf FHEM Seite.

Wie lange dauert bei dir dieser Aufruf?

http://fhemserver.local:8083/fhem/?cmd=jsonlist2&XHR=1&timeout=60000

Wenn das schon lange dauert, ist es Zeit für einen neuen PI (z.B. einen BananaPI)

Update: Playstream ist jetzt für die 2.2 verfügbar
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Chris8888 am 03 August 2016, 16:55:21
Hi,

so sieht das aus:

Also ein neuer PI? Der hat eigentlich nichts zu tun...

Playsream-Update spiele ich gleich ein...Besten DANK!
Update: Läuft! Super. :-)

VG
Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 03 August 2016, 22:09:05
Ich habe etwas hin und her überlegt. Vllt. ist es doch besser, bei der jsonlist2 Abfrage nur die abonierten Devices abzufragen. Ich habe das mal eingebaut und muss sagen, das bringt tatsächlich was. Bei mir dauert die Abfrage jetzt nur noch 0,9 Sekunden.
Vllt. hilft es dir etwas ... (bitte Update machen, testen und berichten)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Chris8888 am 04 August 2016, 17:21:37
Viiiel besser. Das Tablet zeigt nun 3,5s bei 4500 Parametern.
Die Netzwerkanzeige zeigt 2,8s. :-)

Dauertest läuft nun. ;-)
Update: Bisher ohne weitere Probleme!

Kann man die Anzahl der Parameter weiter beeinflussen/senken? Hat zB das Attr "Expert" Einfluss" auf die Anzahl?

Besten Dank!

Viele Grüße
Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 05 August 2016, 09:52:05
Da habe ich schlechte Neuigkeiten. Schnell ist es, das stimmt. Aber dafür liest er auch nur die Hälfte ein. Es fehlen bei mir viele Switch Widgets, einige Symbole. Alles von Unterseiten meiner pagetabs.
Update habe ich gestern Abend gemacht gehabt.


Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 05 August 2016, 11:08:21
Mmmm, scheint logisch, weil die Subscriptions der Unterseiten noch nicht gekannt sind. Man müsste kurz nach öffnen der Unterseite ein ShortPoll nachschieben, dann kommen deren Prarameter auch mit.
Schaue ich mir an

Danke für das Feedback.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 05 August 2016, 11:49:24
Kein Problem. Ich habe zu danken für Deine tolle Arbeit und natürlich auch der von den anderen Mitstreitern.


Grüße
Leon
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Patrick85 am 05 August 2016, 16:09:46
Hallo setstate,
vielen Dank für das Update vom playstream Widget. Funktioniert soweit. Habe damit aber ein Problem in Verbindung mit pagetab. Beim Umschalten auf eine andere Seite läuft der Stream normal weiter. Beim Zurückschalten auf die Seite mit dem playstream Widget kann der Stream nicht mehr gestoppt werden. Beim Anklicken startet dann jeweils ein weiterer Stream. Auch das Stoppen über ein dummy funktioniert nicht (starten schon). Könnte man das irgendwie lösen?

<div
data-type="switch"
data-device="eg_radio_state"
data-states='["on","off"]'
data-background-colors='["green","red"]'
></div>

<div data-type="playstream" data-url="http://radioeins.de/stream"
data-device="eg_radio_state"
data-get-on="on"
data-get-off="off"
></div>


lg
Patrick
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: tante ju am 06 August 2016, 02:10:43
Im Dimmer-Widget scheint data-set-on="1" dazu zu führen, daß das ignoriert wird. Es wird keine Aktion ausgelöst. Mit data-set-on="on" funktioniert es (dann brauche ich aber ein eventMap im device).
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 August 2016, 09:24:42
vielen Dank. Das war ein Bug beim Dimmer.
Die jQuery Funktion .data() versucht eine automatische Typenumwandlung. Also wird aus der "1" eine 1 und damit schlägt die String-Funktion .replac() fehl, weil man diese nicht auf Zahlen anwenden kann.
Ist jetzt gefixed.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 06 August 2016, 20:01:26
kann ich bei einem switch das set off deaktivieren? sprich ein switch soll nur einschaltbar sein. sobald er on ist sollten weiter tastendrücke keine aktion durchführen?
ich habe schon ein push probiert aber der wechselt den status auf on nur wenn man ihn drückt aber zeigt zb kein on wenn das device bereits beim laden der seite on ist (und er lässt sich auch mehrmals drücken)

EDIT: habe mir erstmal dadurch beholfen das ich dat-set-off auf den selben wert wie data-set-on gesetzt habe. so kann der switch nur einen wert schalten.
etwas wie ein data-disable-off/on wäre toll
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 August 2016, 20:29:04
data-set-off=""
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 06 August 2016, 20:32:42
danke!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 07 August 2016, 09:48:43
Seit dem update gestern sind meine Werte auf dem Tablett nicht mehr aktuell und ein pagerefresh hilft auch nichts.
Dafür ist aber der fullrefresh super schnell  :P
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 07 August 2016, 09:49:54
Hallo Ulli,

Verwendest Du Pagetab? Dann schau mal eine Seite weiter vorn letzter Eintrag.


Gruß
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 07 August 2016, 10:05:11
Hallo setstate,

ich habe ein Problem mit der gridster in gridster correction. Das letzte Gridster Element wird nicht richtig platziert. Siehe Bild.
// corrections for gridster in gridster element
            $('.gridster > ul > li:has(* .gridster)').css({
                                      'background-color':'transparent',
                                      'margin':'-'+ftui.gridster.wm+'px'
                                 });


Bisher hatte ich das so gelöst.
li.content {
background-color: transparent !important;
}

div.gridster.content {
margin:-5px 0 0 -5px !important;
}


Hast du eine Idee woran das liegen könnte?

Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 07 August 2016, 10:26:32
Zitat von: CoolTux am 07 August 2016, 09:49:54
Hallo Ulli,

Verwendest Du Pagetab? Dann schau mal eine Seite weiter vorn letzter Eintrag.


Gruß

Ok, has gesehen. D.h. es gibt noch keinen fix oder?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 07 August 2016, 10:38:53
Nein nicht nicht. Musst halt Deine letzte Version wieder einspielen.


Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 August 2016, 10:47:25
Habe noch keine elegante Lösung. Überlege noch. Problem ist: sinnvoll erkennen wann das letzte mal refresht wurde, damit nicht bei jedem Tab hin und her schalten alles neu geholt wird. Durch die Reduzierung auf die nötigen Devices ist das eine Ecke komplizierter.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 07 August 2016, 10:50:07
Es ist Urlaubszeit und zu meist schönes Wetter. Jeder hier versteht das es auch andere Dinge im Leben gibt. Also ganz in Ruhe, jeder hat ja noch eine funktionierende Lösung vom Backup.


Grüße
Leon
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 August 2016, 11:50:06
Genau! Bin auch mit dem Rad unterwegs

Update: Verbesserung beim Shortpoll ist jetzt verfügbar
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 August 2016, 23:09:52
Neu: Material Icons im FTUI

Da die Material Icons von Google optisch sehr gut zum Stil von FTUi passen, über 1000 verschiedene Icons dabei sind und außerdem auch zahlreiche Home-Automation relevante Icons dabei sind, habe ich diesen Font mit aufgenommen.

Dafür muss man beim data-icon den Prefix "mi-" anführen.
Die Icon-Namen sucht man sich hier raus: https://design.google.com/icons/
In den Header der Seite zusätzlich folgendes hinzufügen:
<link rel="stylesheet" href="lib/material-icons.min.css" />

Beispiel: 


        <div>
            <div data-type="symbol" data-device="kitchen" data-icon="mi-kitchen" class="bigger"></div>
            <div>kitchen</div>
        </div>
        <div>
            <div data-type="symbol" data-device="pool" data-icon="mi-pool" class="bigger"></div>
            <div>pool</div>
        </div>
        <div>
            <div data-type="symbol" data-device="laundry" data-icon="mi-local_laundry_service" class="bigger"></div>
            <div>laundry</div>
        </div>
        <div>
            <div data-type="symbol" data-device="wc" data-icon="mi-wc" class="bigger"></div>
            <div>wc</div>
        </div>
        <div>
            <div data-type="symbol" data-device="hot_tub" data-icon="mi-hot_tub" class="bigger"></div>
            <div>hot tub</div>
        </div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 08 August 2016, 00:04:09
Neu: Image Widget - Class-Änderung per Parameter

Anwendungsbeispiel:  Bildchen für Homestatus. Ist die Person nicht zuhause, wird das Bild anders dargestellt (transparent, roter Ring ...)

da data-get beim Image-Widget ja schon für den Parameter zum Liefern der Image-URL vorgesehen ist, gibt es beim Image-Widget data-state-get zum Definieren des Parameters für den Status. Dieser Status wird dann mit den Möglichkeiten unter  data-states verglichen und entsprechend des passenden Index die unter data-classes angegebenen Klassen zugewiesen.
Es können auch mehrere Klassen gleichzeitig angegeben werden

data-classes='["border-green","border-red half-transparent"]'

Beispiel:

<div
  data-type="image"
  data-device="ftuitest"
  data-state-get="homie1"
  data-states='["anwesend","abwesend"]'
  data-classes='["","half-transparent"]'
  data-width="60"
  data-height="60"
  data-url="http://lorempixel.com/150/150/people/1"
  class="round" ></div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 08 August 2016, 19:35:34
hallo setstate schau mal hier https://forum.fhem.de/index.php/topic,56449.0.html evtl übernimmst du es ja ins repo

ich habe das widget dahingehen optimiert das es den alten style hat und auch auf eigene bedürfnisse angepasst werdne kann (wie die meisten widgets)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oeiber am 09 August 2016, 10:20:25
hallo!

erstmal vielen dank für die tolle arbeit!

jetzt zu meiner frage ;-)

wäre es möglich für das mobile frontend "pull-down to refresh" zu implementieren?

herzlichen dank!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 09 August 2016, 10:29:51
Nein das geht nicht. Das wird nicht von einer Webseite aus gemacht sondern von der BrowserApp.
Fully kann das zum Beispiel.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Thyraz am 09 August 2016, 15:00:27
Es gibt durchaus Javascript Implementierungen.

https://apeatling.com/2014/11/javascript-pull-to-refresh-web/

Die sollte auch jeder selbst in seine FTUI Seiten einbinden können.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: CoolTux am 09 August 2016, 15:10:36
Ah, ok. Danke Dir für die Info. Wieder bisschen schlauer  ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oeiber am 09 August 2016, 15:31:18
danke! werd ich heute abend mal testen ;-)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Gyvrr am 09 August 2016, 22:38:38
Zitat von: phil82 am 03 Juli 2016, 19:46:23
Anscheinend wird die "onFormat" Methode aus dem Modul_knob nicht mehr aufgerufen.
Ich hab das mal ein bischen gedebuggt, aber konnte den Grund dafür nicht finden. Ich kenn mich aber auch nicht mit diesem Knob-Modul und jQuery aus.

Kann den Fehler von phil82 bestätigen. Auch ich sehe laut debugging, dass die "onFormat(v)" Methode nicht aufgerufen wird. Gibt es schon einen Fix, den ich übersehen habe?

Beste Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 10 August 2016, 07:52:32
Zitat von: Gyvrr am 09 August 2016, 22:38:38
Kann den Fehler von phil82 bestätigen. Auch ich sehe laut debugging, dass die "onFormat(v)" Methode nicht aufgerufen wird. Gibt es schon einen Fix, den ich übersehen habe?

Beste Grüße

Jetzt gibt es ihn ...
Update ist oben.
Danke
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 10 August 2016, 17:03:18
seit dem letzten update lassen sich meine Pagebuttons nicht mehr klicken, diese sind wie folgender definiert:

        <div data-type="pagebutton" class="top-space default"
data-url="#page_home.html" data-load="#home"
data-active-pattern=".*#page_home.html"
data-return-time="60"
data-icon="fa-home"
data-background-icon="fa-circle-thin"
                data-on-color="cornflowerblue"
                data-off-background-color="transparent"
></div>


Hinzu kommt das mein Cyclemenü einfach ganz links oben auf die Gesamtseite positioniert wird.

<li class="halbTransparent" data-row="2" data-col="11" data-sizex="1" data-sizey="2">
<div data-type="circlemenu" class="circlemenu top-space" data-direction="left">
<ul>
<li><div data-type="push" data-icon="fa-tv" data-background-icon="fa-circle-thin" ></div></li>

<li>
<div data-type="pagebutton" class="top-space"
data-url="#page_tvNow.html" data-load="#tvNow"
data-active-pattern=".*#page_tvNow.html"
data-icon="fa-wrench"
data-background-icon="fa-circle-thin"
              data-on-color="cornflowerblue"
              data-off-background-color="transparent"
><div class="tiny">Now</div></div>
</li>
<li>
<div data-type="pagebutton" class="top-space"
data-url="#page_tvPrime.html" data-load="#tvPrime"
data-active-pattern=".*#page_tvPrime.html"
data-icon="fa-wrench"
data-background-icon="fa-circle-thin"
              data-on-color="cornflowerblue"
              data-off-background-color="transparent"
><div class="tiny">Prime</div></div>
</li>   
</ul>
</div>
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 10 August 2016, 18:38:32
Hi,

habe heute ebenfalls ein Update gemacht (das letzte Mal ca. am 05.08.).

Benutze für die mobile Ansicht die Basis von index_nav_mobil.html, die ich für meine Bedürfnisse umgebaut habe.
Hier kann ich zwar die Pagebutton-Elemente anklicken und werde auch weitergeleitet, aber irgendwie scheint die ganze Seite verschoben zu sein?? ... und die Seite lässt sich nicht mehr scrollen, d. h. ich sehe nicht mehr den ganzen Inhalt.

Woran könnte das liegen?
Was wurde den alles geändert?

Edit:
Wenn ich eh gerade beim Slideout-Template bin...gibt es die Möglichkeit die "Slide-In" Richtung per Attribut mitzugeben?
z. B. right, left, top, bottum ? ... Dann könnte man sich auch "Quick-Settings" zusammenbasteln ;-)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 10 August 2016, 20:01:10
Hallo,

ich habe heute auch seit Langem mal wieder ein update gemacht.  Seitdem ist mein vertikales circlemenu von oben rechts nach oben links gewandert. Es scheint so, als würde eine absolute Positionierung nicht mehr funktionieren. Der Code ist:

<div data-type="circlemenu" data-border="square" data-direction="vertical" data-item-width="50" data-item-height="50" data-circle-radius="60" class="circlemenu" style="position:absolute;right:15px;top:12px">
      <ul>
<li>
...

Auch erscheint beim Ausklappen ein Balken, der bis zur Browserunterkante reicht (in grau). Der war vorher nicht da  ???
Woran könnte das liegen?

schöne Grüße
Jo
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 10 August 2016, 21:32:12
Zitat von: setstate am 03 August 2016, 22:09:05
Ich habe etwas hin und her überlegt. Vllt. ist es doch besser, bei der jsonlist2 Abfrage nur die abonierten Devices abzufragen. Ich habe das mal eingebaut und muss sagen, das bringt tatsächlich was. Bei mir dauert die Abfrage jetzt nur noch 0,9 Sekunden.
Vllt. hilft es dir etwas ... (bitte Update machen, testen und berichten)

wow, ist bei mir jetzt viiiiel schneller. super!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 11 August 2016, 07:07:45
Zitat von: Jojo11 am 10 August 2016, 20:01:10
Hallo,

ich habe heute auch seit Langem mal wieder ein update gemacht.  Seitdem ist mein vertikales circlemenu von oben rechts nach oben links gewandert. Es scheint so, als würde eine absolute Positionierung nicht mehr funktionieren. Der Code ist:

Auch erscheint beim Ausklappen ein Balken, der bis zur Browserunterkante reicht (in grau). Der war vorher nicht da  ???
Woran könnte das liegen?

schöne Grüße
Jo

Sorry, hatte vergessen die angepasste circlemenu Version mit hochzuladen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 11 August 2016, 07:22:48
Kein Problem. Ich dachte ich hätte eine notwendige Änderung verpasst  ;)

schöne Grüße
Jo

Gesendet von meinem Nokia 8210

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: olindner am 11 August 2016, 10:29:40
Hallo, seit gestern fehlen mir die "links", werden nicht mehr angezeigt ...   <div class="cell center">
<div onclick="$('.dialog-close').trigger('click');" data-type="link" data-width="200" data-height="36"
  data-color="white" data-background-color="firebrick" data-icon="fa-refresh"
  data-fhem-cmd="shutdown restart" class="round large">FHEM</div>
  </div>

Hat sich an der def was geändert?

Danke und viele Grüße Olaf
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oeiber am 11 August 2016, 13:03:18
hallo zusammen,

Ich verwende ftui 2.2 mit "fixed munue" hauptsächlich auf meinem ios endgerät. funktioniert ansich tadelos aber der seitenaufbau ist ziemlich langsam. gibt es eine möglichkeit alle relevanten js css html offline zu cachen? ich habe ein cache manifest angelegt, das scheint aber ios nicht zu interessieren.

danke!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 11 August 2016, 18:55:13
Ich habe immer noch das Problem das seit der letzten Änderung mein Menü nicht mehr klickbar ist.
Anbei mal meine index.html.

Es scheint mit dem PageButton und den dazugehörigen <divs zusammen zu hängen.

setstate hast du einen Tip?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 11 August 2016, 19:26:42
Ich kann die neusten Problemmeldungen noch nicht nachvollziehen. Aber das File zum Testen sollte helfen. Ich melde mich wieder ...

Was ich gefunden habe:
- die class="page" müssen schon in einem Gridster-li sein, sonst kommt das Initialisieren des gesamten Gridster durcheinander.

<li data-row="1" data-col="2" data-sizex="5" data-sizey="7" class="halbTransparent">
                                                <div class="page" id="home"></div>
                                                <div class="page" id="wohnzimmer"></div>
                                                <div class="page" id="buero"></div>
                                                <div class="page" id="system"></div>
                                                <div class="page" id="plots"></div>
                                                <div class="page" id="wetter"></div>
                                                <div class="page" id="tvNow"></div>
                                                <div class="page" id="tvPrime"></div>
                     </li>


- die row/col und sizex/sizey müssen genau stimmen, keine Überlagerungen

Demos auf Github sind jetzt alle aktualisiert:
z.B. Pagatab-Demos: index_page_top_demo.html und index_page_left_demo.html
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 12 August 2016, 08:55:52
Zitat von: setstate am 11 August 2016, 19:26:42
Ich kann die neusten Problemmeldungen noch nicht nachvollziehen. Aber das File zum Testen sollte helfen. Ich melde mich wieder ...

Was ich gefunden habe:
- die class="page" müssen schon in einem Gridster-li sein, sonst kommt das Initialisieren des gesamten Gridster durcheinander.
[...]

Hi,

d. h. ich kann pagebutton ohne Gridster (wie bei mir) nicht bzw. nicht richtig verwenden?
Bei mir funktioniert ja das Daten Holen und Anzeigen der Unterseiten....nur wird die Seite mit dann eben nicht scrollbar, wenn mehr Inhalt vorhanden ist als auf einer Seite angezeigt werden kann.
Vorher war hier noch alles normal??

Wie könnte ich bei der "Fehlersuche" unterstützen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 12 August 2016, 09:17:50
Dann poste mal die Hauptseite und die betroffene Unterseite.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 12 August 2016, 14:19:37
Servus,
da ich heute meine Ordnerstruktur bisschen aufgeräumt habe, habe ich mal wieder meine mobile Seite angeschaut und fest gestellt, dass diese nicht mehr scrollbar ist. Deswegen wollte ich mal fragen, woran das liegen könnte?
Habe im Anhang mal eine minimal Konfiguration ohne Devices angelegt, so dass man sich das leicht anschauen kann. Man sieht, dass die Seite nur so viel scrollbar ist, wie die feste Navigationsbar verdeckt.

Danke für deine/eure Hilfe.

Beste Grüße und schönes Weekend
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 12 August 2016, 16:28:46
Zitat von: setstate am 11 August 2016, 19:26:42
Ich kann die neusten Problemmeldungen noch nicht nachvollziehen. Aber das File zum Testen sollte helfen. Ich melde mich wieder ...

Was ich gefunden habe:
- die class="page" müssen schon in einem Gridster-li sein, sonst kommt das Initialisieren des gesamten Gridster durcheinander.

<li data-row="1" data-col="2" data-sizex="5" data-sizey="7" class="halbTransparent">
                                                <div class="page" id="home"></div>
                                                <div class="page" id="wohnzimmer"></div>
                                                <div class="page" id="buero"></div>
                                                <div class="page" id="system"></div>
                                                <div class="page" id="plots"></div>
                                                <div class="page" id="wetter"></div>
                                                <div class="page" id="tvNow"></div>
                                                <div class="page" id="tvPrime"></div>
                     </li>


- die row/col und sizex/sizey müssen genau stimmen, keine Überlagerungen

Demos auf Github sind jetzt alle aktualisiert:
z.B. Pagatab-Demos: index_page_top_demo.html und index_page_left_demo.html

Die Darstellung hat bis vor dem letzten Update wie oben als index.html angehängt funktioniert.
Meine Besonderheit ist, dass ich die austauschbaren Pages nicht rechteckig reservieren kann.
Im Bild anbei habe ich die Fenster, welche auf der index.html liegen sollen und damit auf jeder Seite angezeigt werden rot umrahmt. Ich hoffe das erklärt mein Problem.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 12 August 2016, 17:00:12
Da würde ich etwas aufräumen. Links einen Streifen für das Menü, oben ein Streifen für die Uhr und co. und den Rest für die Subs, auf die Haupseite. Wie verteilt dann die Unterseiten sind, ist egal. Das übernimmt dann das Sub-Gridster
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 12 August 2016, 17:08:06
Da verschenke ich ja oben zu viel Platz.
Jede Seite zeigt nämlich dann oben in erster Reihe immer die Klimadaten den Raumnamen,... an.
Lässt sich das nicht mit Pagebutton so realisieren?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 12 August 2016, 17:30:20
Zitat von: ulli am 12 August 2016, 17:08:06
Da verschenke ich ja oben zu viel Platz.
Jede Seite zeigt nämlich dann oben in erster Reihe immer die Klimadaten den Raumnamen,... an.
Lässt sich das nicht mit Pagebutton so realisieren?
ich hab da oben Platz "gespart", indem ich die Uhr auf jeder Unterseite direkt einbinde, da ich auch gerne oben für jeden Raum Temperatur und Co haben wollte... Dadurch wird der Aufbau der Seite wahrscheinlich minimal langsamer, aber das nehme ich in Kauf und ich habe so nur das Menü und ein großes Sub-Gridster

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 12 August 2016, 20:32:34
Hallo setstate,

bei mir geht seit der Umstellung auf eval2.2 mit pagebuttons das Javascript-basierte Video der Instar-IPcam auf der pagebutton-Unterseite nicht mehr (http://...ftui_eval/#ipcam_haustuer.html). Die Seite wird angezeigt, aber nicht das Video. Das Video geht auch, wenn ich mit der eval2.2 die gleiche Seite direkt aufrufe (http://...ftui_eval/ipcam_haustuer.html, also ohne "#").

Eine Idee woran das liegen könnte? Darf man kein Javascript auf Unterseiten nutzen? Oder kann es am "<body onload..." liegen?

<html>
<title>FHEM</title>
<head>
    <!-- 
     /* FHEM tablet ui */
     /*
     * first page
     * -->
    <style>
        div.mjpeg{
            position: absolute;
            left: 10px; top: 20px;
            border: solid 1px black;
            width: 1280px; height: 720px;
            z-index: 0;
        }
div.mycenter{
margin: 0 auto;
text-align: center;
    }
    </style>
<script>
        var isChrome = false;
        //if (window.chrome) {
        //    isChrome = true;
        //}
        ////////////////////////////////////////////////////////////////////////////////
        // DIESE PARAMETER M†SSEN ENTSPRECHEND AN DIE IHRER KAMERA ANGEPASST WERDEN
        // START KAMERA PARAMETER
        ////////////////////////////////////////////////////////////////////////////////
        var url = '192.168.1.xxxx:80';
        var streamnum = 11; // Videostream user 11 for 1280 x 720 pixel, 12 for 640 x 352 pixel and 13 for 320 x 176 pixel resolution
        var name0 = 'xxx'; // Camera Username
        var password0 = 'xxx'; // Camera Password
        ////////////////////////////////////////////////////////////////////////////////
        // ENDE KAMERA PARAMETER
        ////////////////////////////////////////////////////////////////////////////////
        function body_onload(){
            if (streamnum == 11) {
                document.getElementById('imgDisplay').src = 'http://' + url + '/tmpfs/snap.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
                w = 1280; h = 720;
            }
            else if (streamnum == 12) {
                document.getElementById('imgDisplay').src = 'http://' + url + '/tmpfs/auto.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
                w = 640; h = 352;
document.getElementById('videoMJPEG').style.width  = w + 'px';
                document.getElementById('videoMJPEG').style.height = h + 'px';
            }
            else if (streamnum == 13) {
                document.getElementById('imgDisplay').src = 'http://' + url + '/tmpfs/auto.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
                w = 320; h = 176;
                document.getElementById('videoMJPEG').style.width  = w + 'px';
                document.getElementById('videoMJPEG').style.height = h + 'px';
            }
        }
        function load_video(){
            window.status=" ";
            setTimeout("reload_image()",40);
        }
        function reload_image(){
            var xx = new Image();
            if (streamnum == 11) {
                xx.src = 'http://' + url + '/tmpfs/snap.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
            }
            else if (streamnum == 12) {
                xx.src = 'http://' + url + '/tmpfs/auto.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
            }
            else if (streamnum == 13) {
                xx.src = 'http://' + url + '/tmpfs/auto.jpg?usr='+name0+'&pwd='+password0+'&'+(new Date()).getTime();
            }
            document.getElementById("imgDisplay").src = xx.src;
            window.status=" ";
        }
    </script>

</head>
<body onload="body_onload()">
  <div class="page" id="ipcam_haustuer">
    <div class="gridster">
      <ul>
<li data-row="1" data-col="1" data-sizex="7" data-sizey="5">
        <header>IPcam Haustür</header>
<div data-type="label" data-device="BM_Haustuer" data-get="timestamp" style="color: #555555" class="right inline"></div>
<div data-type="label" style="color: #555555" class="right inline">Last motion detected at </div>
<div class="mycenter top-space-2x" id="videoMJPEG">
        <img alt="video" height="522" width="928" id="imgDisplay" name="imgDisplay" onload="load_video()" onerror="load_video()" style="z-index: 10"/>     
</div>
   

</li>
</ul>
</div>
</div>
</body>
</html>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 12 August 2016, 23:28:44
Zitat von: Andy89 am 12 August 2016, 14:19:37
Servus,
da ich heute meine Ordnerstruktur bisschen aufgeräumt habe, habe ich mal wieder meine mobile Seite angeschaut und fest gestellt, dass diese nicht mehr scrollbar ist. Deswegen wollte ich mal fragen, woran das liegen könnte?
Habe im Anhang mal eine minimal Konfiguration ohne Devices angelegt, so dass man sich das leicht anschauen kann. Man sieht, dass die Seite nur so viel scrollbar ist, wie die feste Navigationsbar verdeckt.

Danke für deine/eure Hilfe.

Beste Grüße und schönes Weekend
Andy

die Beispiele scrollen beim mir ohne Probleme auf FF (Desktop) und Safari (iOS9)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 12 August 2016, 23:59:05
Zitat von: setstate am 12 August 2016, 23:28:44
die Beispiele scrollen beim mir ohne Probleme auf FF (Desktop) und Safari (iOS9)

dann muss ich mal schauen, wieso es bei mir nicht geht. Safari (MacOS, iOS10), Firefox(MacOS), Chrome(Android) und Fully(Android) haben alle das von mir beschriebene Problem.

Der einzige Unterschied den ich bei der hochgeladenen Index habe, ist dass ich über dem <meta name="viewport" .... ein
<meta name="fhemweb_url" content="http:///192.x.x.x:8083/fhem"> eingefügt habe, da FHEM und das FTUI nicht auf dem gleichen Systen laufen....(aber daran liegt es ganz sicher nicht)

Komisch! Trotzdem danke fürs Feedback.

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 13 August 2016, 09:46:41
Ich habe mir mal den Demo-Code für die Mobil UI angesehen und mir gedacht, es stellen sich bestimmt einige die Frage, wie die Anordnungen der Elemente zu verbessern geht und warum das right-align nicht funktioniert, der Switch also mittig in seiner Hälfte steht. Es wäre auch schöner, wenn rechts und links etwas mehr Platz zum Rand wäre. Wenn man die vorhandenen Klassen "right-align" oder "left-space" einfach hinzufügt, passiert entweder nix (Switch bleibt mittig) oder alles verschiebt sich (left-space an das Label).

Hinweis: col-1-2, col-2-3 usw. verträgt sich nicht mit Margins (left-space, right-space), da sich dadurch die Gesamtbreite über 100% addiert und damit sich alles verschiebt, durch den daraus resultierenden Zeilenumbruch.

Code1 Bild1

<section>
<div class="large col-1-2 left-align">Test31</div>
<div data-type="switch"
class="big thin col-1-2 right-align"></div>
<div class="large col-1-2 left-align">Test32</div>
<div data-type="switch"
class="big thin col-1-2 right-align"></div>
<div class="large col-1-2 left-align">Test33</div>
<div data-type="switch"
class="big thin col-1-2 right-align"></div>
</section>


Lösung:

Man arbeitet mit extra Container und verteilt Alignment, Rand usw. nur an das passende Element

Code2

<section>
                        <div class="col-1-2 left-align">
                            <div class="large left-space">Test01</div>
                        </div>
                        <div class="col-1-2 right-align">
                            <div data-type="switch" class="big thin right-space"></div>
                        </div>
</section>



Alignment Klassen für die äußeren Elemente und Extra-Rand für die inneren Elemente, dadurch erhöht sich nicht die Gesamtbreite und das Alignment wird nicht durch wichtigere Alignments der einzelnen Unterelemente übertrumpft. Bild2-3
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ulli am 13 August 2016, 15:27:47
Zitat von: Andy89 am 12 August 2016, 17:30:20
ich hab da oben Platz "gespart", indem ich die Uhr auf jeder Unterseite direkt einbinde, da ich auch gerne oben für jeden Raum Temperatur und Co haben wollte... Dadurch wird der Aufbau der Seite wahrscheinlich minimal langsamer, aber das nehme ich in Kauf und ich habe so nur das Menü und ein großes Sub-Gridster

Beste Grüße
Andy
Hm, das wollte ich eben vermeiden. Komisch das es nur nach dem update jetzt eben nicht mehr geht.
Scheinbar gibt es aber keine andere lösung?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Spi0n am 14 August 2016, 00:42:56
Hallo zusammen,

ich habe mir mal die Eval 2.2 auf mein System gesetzt, und bekomme diese leider nicht vernünftig ans laufen. Hier die Fehler:

http://IP/fhem/?cmd=jsonlist2+BadFenster%2CTerrassenTuer%2CKueche...Licht_Sw%2CGalerieLicht%2CPowerAV_Sw%2Cdummy2%2Cdummy1&XHR=1&timeout=60000 404 (Not Found)

Wenn ich nun aber:
http://IP:8083/fhem/?cmd=jsonlist2+BadFenster%2CTerrassenTuer%2CKueche...Licht_Sw%2CGalerieLicht%2CPowerAV_Sw%2Cdummy2%2Cdummy1&XHR=1&timeout=60000 eingebe, klappt alles wunderbar. Selbiges gilt für z.B.
http://IP/fhem/?cmd=set+Licht+on&XHR=1&_=1471127417161 404 (Not Found)
Mit Port funktioniert es wunderbar.

Kann mir da irgendjemand vllt weiter helfen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 August 2016, 08:07:10
Sowas kann nur durch eine falsche Angabe unter "fhemweb_url" in der Index HTML passieren.
Normalerweise ist der Wert nicht gesetzt, also am besten die ganze Zeile löschen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SirMarco am 14 August 2016, 10:10:04
Servus setstate

Darf ich fragen was du für ein Tool nutzt?

Gruss
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 August 2016, 10:25:09
Das ist "nur" der Inspektor aus den Entwicklertools aus dem FF Menü.  :)
Aber damit kann man schön CSS Eigenschaften live hinzufügen/wegnehmen oder ändern und gleich sehen, wie sich das auswirkt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SirMarco am 14 August 2016, 10:29:06
Kann ich den auch nutzen? Nur wie?  ;)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 August 2016, 10:36:00
Die meisten Browser haben in ihrer Desktop-Variante Entwicklertools dabei. Chrome, Safari, Firefox. Schau ins Menü des Browsers.
Es gibt auch Shortcuts dafür: Windows -> F12: MacOS -> alt+cmd+s

https://developer.mozilla.org/de/docs/Tools
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mpomp am 14 August 2016, 11:56:51
Hallo setstate,

hast du das schon versucht umzusetzen?

Zitat von: setstate am 21 Juli 2016, 12:25:53
Wenn man bei ftui.config.dir das oberste Verzeichnis angibt und ich das überall beachte

ftui.config.dir + "/js/widget_..."
oder ftui.config.dir + "/lib/..."

sollte es doch funktioneten?

Ist es möglich den  Changelog einzusehen, damit ich weiß wann ich wieder ein Update machen kann.

Danke
LG Mpomp
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Spi0n am 14 August 2016, 12:38:52
Zitat von: setstate am 14 August 2016, 08:07:10
Sowas kann nur durch eine falsche Angabe unter "fhemweb_url" in der Index HTML passieren.
Normalerweise ist der Wert nicht gesetzt, also am besten die ganze Zeile löschen.

Hallo, danke für deine Antwort. Die Zeile habe ich jedoch nicht. Habe nur die Eval aufgesetzt und mir angeschaut. Dann bekam ich schon den Fehler.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Skusi am 14 August 2016, 20:50:08
Also nun muß ich doch mal um Hilfe bitten.

Ich habe gestern mal wieder ein Update gemacht, und seit dem ist mein Wandtableau unbedienbar geworden, weil die Circlemenue´s verrückt spielen.

Wenn ich eines der Menues links antippe, klappen sie immer aus dem kleinen Icon oben links auf, und nicht aus ihrer Position. Außerdem habe ich festgestellt das das kleine Icon oben links eine Überlagerung aller letzten Icons aus den Circlemenue´s ist. Die ausgeklappten Icons werden ausserdem nun hinter dem semitransparenten Swiper mit dem Wetter angezeigt, lassen sich aber nicht antippen.

Hat sich da was mit der Syntax geändert, oder liegt der Fehler im Update ?

Hier mal ein bisschen code:

<div data-type="circlemenu" data-direction="horizontal"
data-circle-radius="100" data-item-diameter=" 78" class="cell circlemenu noshade">
   
<ul class="left left-space top-space-2x">
     <li><div data-type="button" style="font-size:40px;"
data-off-color="#FBFFD9" data-on-color="#FBFFD9" data-on-background-color="#A63800" data-off-background-color="#E80000" data-icon="fa-cogs"></div></li>
     <li><div style="font-size:40px;" data-type="button" data-off-color="#FBFFD9" data-on-color="#FBFFD9"
data-on-background-color="#E80000" data-off-background-color="#A63800" data-url="Funktionen.html" data-icon="fa-check"</div></li>
     <li><div style="font-size:36px;" data-type="button" data-on-color="#FBFFD9" data-on-background-color="#A63800"
data-off-background-color="#A63800" data-url="Heizung.html" data-icon="oa-sani_heating"> </div></li>
</div>


Ich hatte gehofft das es noch jemand so getroffen hat, und es hier bald eine Lösung zu lesen gibt, aber bis auf eine Post wo setstate schreibt das er die geänderte circlemue vergessen hat mit hochzuladen, gabs nichts. Ich denke die Datei ist mittlerweile hochgeladen, da das Posting schon etwas her ist. Also habe ich mit dem gestrigen Update schon alle aktuellen dateien bekommen.

Muß ich nun was am Code ändern, ?

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 August 2016, 08:33:48
Von meiner Seite aus ist keine akute Baustelle mehr offen. Ich habe gestern auch update all gemacht, eine leere Standard-Seite hergenommen und den Circlemenu Code eingefügt. Sieht gut aus und macht was es soll.
Jetzt kann bei euch nur noch Altlasten im Cache sein -> Browser Cache leeren, oder ihr habt eigene CSS Files eingebunden, die sich nicht vertragen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 15 August 2016, 10:02:40
Zitat von: setstate am 12 August 2016, 09:17:50
Dann poste mal die Hauptseite und die betroffene Unterseite.

Sorry... bin erst jetzt dazu gekommen....anbei die Files.

Index_mobil.html

<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.0
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="2"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="css/fhem-mobil-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
<link rel="stylesheet" href="lib/openautomation.css" />
<link rel="stylesheet" href="lib/fhemSVG.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

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

    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

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

<div data-type="loading"
    data-icon="fa-spinner"
    data-color="#85ceb4"
    data-effect="fa-pulse"
    data-shade="true"
    class="bigger"
    style="position:absolute; top:45%; left:45%;">
</div>

    <!-- Demo FTUI 2.1 mobil page with slideout navigation -->

    <nav id="menu">
<div class="big navbesch">Navigation</div>
        <div data-type="link" class="default large top-space-2x left-space-3x"
           data-width="150"
           data-icon-left="fa-home"
           data-color="#7a8388"
           data-text-align="right"
           data-load="#content_main"
           data-url="#content_main.html"
           data-active-color="#ca8473"
           data-active-pattern="(.*index_mobil.html|.*#content_main.html)">Übersicht</div>
        <div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="oa-sani_heating"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_heizung"
            data-url="#content_heizung.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_heizung.html">Heizung</div>
   <div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-lightbulb-o"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_licht"
            data-url="#content_licht.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_licht.html">Beleuchtung</div>
   <div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-play-circle"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_multimedia"
            data-url="#content_multimedia.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_multimedia.html">Multimedia</div>
<div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-calendar"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_termine"
            data-url="#content_termine.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_termine.html">Termine</div>
        <div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-train"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_fahrzeiten"
            data-url="#content_fahrzeiten.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_fahrzeiten.html">Fahrzeiten</div>
        <div data-type="link" class="large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-gears"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content_system"
            data-url="#content_system.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_system.html">System</div>
<!--
        <div data-type="link" class=" prefetch oder nocache large top-space-2x left-space-3x"
            data-width="150"
            data-icon-left="fa-music"
            data-color="#7a8388"
            data-text-align="right"
            data-load="#content4"
            data-url="#content_sounds.html"
            data-active-color="#ca8473"
            data-active-pattern=".*#content_sounds.html">Sounds</div>
<div class="lightgreen" style="margin-top: 120px;">
<div data-type="clock" class="center-align big"></div>
<div data-type="clock" data-format="l, d.m.Y" class="center-align"></div>
</div>-->
    </nav>

    <main id="panel">
        <header id="header-nav" class="bg-lightgreen row">
         <div data-type="slideout" class="col-1-8 big right-align notouch"></div>
         <div id="linkname" class="col-3-6 big bold center-align middle"></div>
<div class="col-1-6 right-align" data-type="link" data-url="#content_termine.html" data-load="#content_termine" data-url="#content_termine.html">
<div data-type="symbol"
data-device="Termine_aktuell"
data-get="Summe"
data-icons='["fa-calendar warn fa-blink","fa-calendar warn"]'
data-on-colors='["black","black"]'
data-get-on='["!0","0"]'
data-background-icon="fa-square"
data-on-background-color="#85ceb4"
data-off-background-color="#85ceb4"
class="big black"></div>
</div>
<div class="col-1-6 right-align" data-type="link" data-url="#content_heizung.html" data-load="#content_heizung" data-url="#content_heizung.html">
<div data-type="symbol"
data-device="FensterStatus"
data-get="offen"
data-icons='["oa-fts_window_2w_tilt_l_open_r warn fa-blink","oa-fts_window_2w_tilt_l_open_r warn"]'
data-on-colors='["black","black"]'
data-get-on='["!0","0"]'
data-background-icon="fa-square"
data-on-background-color="#85ceb4"
data-off-background-color="#85ceb4"
class="big black"></div>
</div>
<!-- <div data-type="symbol" data-device="dummy1" data-icon="fa-modx" class="col-1-6 big warn"></div> -->
        </header>
        <div class="page" id="content_main"></div>
        <div class="page" id="content_heizung"></div>
        <div class="page" id="content_licht"></div>
        <div class="page" id="content_multimedia"></div>
        <div class="page" id="content_termine"></div>
        <div class="page" id="content_fahrzeiten"></div>
        <div class="page" id="content_system"></div>
    </main>

</body>
</html>


content_multimedia.html

<!DOCTYPE html>
<html>
<head></head>
<body>
    <div class="page" id="content_multimedia">
        <section>
            <div class="head">Bad
<div data-type="symbol" data-device="Sonos_Bad"
data-get-on='["appeared","disappeared"]'
data-icons='["fa-circle","fa-circle"]'
data-on-colors='["SeaGreen","IndianRed"]'
style="font-size:16px">
</div>
</div>
<!-- Sonos Bad -->
<div class="inline">
<div data-type="image" data-device="Sonos_Bad" data-get="currentAlbumArtURL" class="inline" style="width:200px"></div>
<div class="inline" style="width:100px">
<div data-type="label" data-device="Sonos_Bad" data-get="infoSummarize2"></div><br />
</div>
<div class="inline">
<div data-type="select" data-device="duSonosFavourites" data-list="Favourites" data-set="Sonos_Bad" class="inline" style="width:180px;"></div>
<br /><br />
</div>
<div class="inline">
<div data-type="spinner"
data-device="Sonos_Bad"
data-get="Volume"
data-set="Volume"
data-icon-left-color="blue"
data-icon-right-color="blue"
data-min="0"
data-max="100"
data-step="5"
data-width="120"
data-height="30"
data-unit=" %"
data-longdelay="2500"
data-background-color="#293134"
class="valueonly small"
style="margin-bottom:6px;">
</div>
<div class="narrow darker small">Lautstärke</div>
</div>
</div>
<div class="container">
<div class="inline">
<div class="inline">
<div data-type="switch" data-device="bad_AMP_Sonos" data-icon="fa-bolt" data-doubleclick="500" class="verticalLine"></div>
<div>Strom<br />Sonos</div>
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Bad" data-set-on="PREVIOUS" data-icon="fa-fast-backward"></div>
<div>Previous</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Bad" data-set-on="PLAY" data-icon="fa-play"></div>
<div>Play</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Bad" data-set-on="NEXT" data-icon="fa-fast-forward"></div>
<div>Next</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Bad" data-set-on="PAUSE" data-icon="fa-pause"></div>
<div>Pause</div><br />
</div>
</div><br />

<div class="inline">
<div data-type="switch" data-device="Sonos_Bad_PlayingCheck" class="fs140p"
data-get="wait" data-set="wait" data-cmd="attr"
data-get-on="300" data-get-off="999999" data-icon="fs-general_aus_fuer_zeit"></div>
<div data-type="label" data-device="Sonos_Bad_PlayingCheck" data-get="wait_timer" data-part="1"  class="small"></div>
<div data-type="label" data-device="Sonos_Bad_PlayingCheck" data-get="wait_timer" data-part="2"  class="small"></div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Bad, Sonos_Schlafzimmer]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ SZ</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Bad, Sonos_Kueche]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ Küche</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Bad, Sonos_Kueche, Sonos_Schlafzimmer]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ SZ<br />& Küche</div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Bad" class="fs140p"
data-get="Repeat" data-set="Repeat"     
data-get-on="1" data-get-off="0" data-icon="fa-refresh"></div>
<div class="small">Repeat</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Bad" class="fs140p"
data-get="Shuffle" data-set="Shuffle"     
data-get-on="1" data-get-off="0" data-icon="fa-random"></div>
<div class="small">Shuffle</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Bad" class="fs140p"
data-get="CrossfadeMode" data-set="CrossfadeMode"     
data-get-on="1" data-get-off="0" data-icon="fa-compress"></div>
<div class="small">Crossfade</div><br />
</div>
</div>
<!-- Sonos Bad Ende -->
        </section>

         <section>
            <div class="head">Schlafzimmer
<div data-type="symbol" data-device="Sonos_Schlafzimmer"
data-get-on='["appeared","disappeared"]'
data-icons='["fa-circle","fa-circle"]'
data-on-colors='["SeaGreen","IndianRed"]'
style="font-size:16px">
</div>
</div>
<!-- Sonos Schlafzimmer -->
<div class="inline">
<div data-type="image" data-device="Sonos_Schlafzimmer" data-get="currentAlbumArtURL" class="inline" style="width:200px"></div>
<div class="inline" style="width:100px">
<div data-type="label" data-device="Sonos_Schlafzimmer" data-get="infoSummarize2"></div><br />
</div>
<div class="inline">
<div data-type="select" data-device="duSonosFavourites" data-list="Favourites" data-set="Sonos_Schlafzimmer" class="inline" style="width:180px;"></div>
<br /><br />
</div>
<div class="inline">
<div data-type="spinner"
data-device="Sonos_Schlafzimmer"
data-get="Volume"
data-set="Volume"
data-icon-left-color="blue"
data-icon-right-color="blue"
data-min="0"
data-max="100"
data-step="5"
data-width="120"
data-height="30"
data-unit=" %"
data-longdelay="2500"
data-background-color="#293134"
class="valueonly small"
style="margin-bottom:6px;">
</div>
<div class="narrow darker small">Lautstärke</div>
</div>
</div>
<div class="container">
<div class="inline">
<div class="inline">
<div data-type="switch" data-device="sz_AMP_Sonos" data-icon="fa-bolt" data-doubleclick="500" class="verticalLine"></div>
<div>Strom<br />Sonos</div>
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Schlafzimmer" data-set-on="PREVIOUS" data-icon="fa-fast-backward"></div>
<div>Previous</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Schlafzimmer" data-set-on="PLAY" data-icon="fa-play"></div>
<div>Play</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Schlafzimmer" data-set-on="NEXT" data-icon="fa-fast-forward"></div>
<div>Next</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Schlafzimmer" data-set-on="PAUSE" data-icon="fa-pause"></div>
<div>Pause</div><br />
</div>
</div><br />

<div class="inline">
<div data-type="switch" data-device="Sonos_Schlafzimmer_PlayingCheck" class="fs140p"
data-get="wait" data-set="wait" data-cmd="attr"
data-get-on="300" data-get-off="999999" data-icon="fs-general_aus_fuer_zeit"></div>
<div data-type="label" data-device="Sonos_Schlafzimmer_PlayingCheck" data-get="wait_timer" data-part="1"  class="small"></div>
<div data-type="label" data-device="Sonos_Schlafzimmer_PlayingCheck" data-get="wait_timer" data-part="2"  class="small"></div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Schlafzimmer, Sonos_Bad]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ Bad</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Schlafzimmer, Sonos_Kueche]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ Küche</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Schlafzimmer, Sonos_Bad, Sonos_Kueche]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ Bad<br />& Küche</div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Schlafzimmer" class="fs140p"
data-get="Repeat" data-set="Repeat"     
data-get-on="1" data-get-off="0" data-icon="fa-refresh"></div>
<div class="small">Repeat</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Schlafzimmer" class="fs140p"
data-get="Shuffle" data-set="Shuffle"     
data-get-on="1" data-get-off="0" data-icon="fa-random"></div>
<div class="small">Shuffle</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Schlafzimmer" class="fs140p"
data-get="CrossfadeMode" data-set="CrossfadeMode"     
data-get-on="1" data-get-off="0" data-icon="fa-compress"></div>
<div class="small">Crossfade</div><br />
</div>
</div>
<!-- Sonos Schlafzimmer Ende -->
         </section>

         <section>
            <div class="head">Küche
<div data-type="symbol" data-device="Sonos_Kueche"
data-get-on='["appeared","disappeared"]'
data-icons='["fa-circle","fa-circle"]'
data-on-colors='["SeaGreen","IndianRed"]'
style="font-size:16px">
</div>
</div>
<!-- Sonos Kueche -->
<div class="inline">
<div data-type="image" data-device="Sonos_Kueche" data-get="currentAlbumArtURL" class="inline" style="width:200px"></div>
<div class="inline" style="width:100px">
<div data-type="label" data-device="Sonos_Kueche" data-get="infoSummarize2"></div><br />
</div>
<div class="inline">
<div data-type="select" data-device="duSonosFavourites" data-list="Favourites" data-set="Sonos_Kueche" class="inline" style="width:180px;"></div>
<br /><br />
</div>
<div class="inline">
<div data-type="spinner"
data-device="Sonos_Kueche"
data-get="Volume"
data-set="Volume"
data-icon-left-color="blue"
data-icon-right-color="blue"
data-min="0"
data-max="100"
data-step="5"
data-width="120"
data-height="30"
data-unit=" %"
data-longdelay="2500"
data-background-color="#293134"
class="valueonly small"
style="margin-bottom:6px;">
</div>
<div class="narrow darker small">Lautstärke</div>
</div>
</div>
<div class="container">
<div class="inline">
<div class="inline">
<div data-type="switch" data-device="ku_AMP_Sonos" data-icon="fa-bolt" data-doubleclick="500" class="verticalLine"></div>
<div>Strom<br />Sonos</div>
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Kueche" data-set-on="PREVIOUS" data-icon="fa-fast-backward"></div>
<div>Previous</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Kueche" data-set-on="PLAY" data-icon="fa-play"></div>
<div>Play</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Kueche" data-set-on="NEXT" data-icon="fa-fast-forward"></div>
<div>Next</div><br />
</div>
<div class="inline">
<div data-type="push" data-device="Sonos_Kueche" data-set-on="PAUSE" data-icon="fa-pause"></div>
<div>Pause</div><br />
</div>
</div><br />

<div class="inline">
<div data-type="switch" data-device="Sonos_Kueche_PlayingCheck" class="fs140p"
data-get="wait" data-set="wait" data-cmd="attr"
data-get-on="300" data-get-off="999999" data-icon="fs-general_aus_fuer_zeit"></div>
<div data-type="label" data-device="Sonos_Kueche_PlayingCheck" data-get="wait_timer" data-part="1"  class="small"></div>
<div data-type="label" data-device="Sonos_Kueche_PlayingCheck" data-get="wait_timer" data-part="2"  class="small"></div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Kueche, Sonos_Bad]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ Bad</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Kueche, Sonos_Schlafzimmer]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ SZ</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos" class="fs140p"
data-get="Groups" data-set="Groups"
data-get-on="[Sonos_Kueche, Sonos_Bad, Sonos_Schlafzimmer]" data-get-off="[Sonos_Bad], [Sonos_Kueche], [Sonos_Schlafzimmer]" data-icon="fa-link"></div>
<div class="small">+ SZ <br />& Bad</div>
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Kueche" class="fs140p"
data-get="Repeat" data-set="Repeat"     
data-get-on="1" data-get-off="0" data-icon="fa-refresh"></div>
<div class="small">Repeat</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Kueche" class="fs140p"
data-get="Shuffle" data-set="Shuffle"     
data-get-on="1" data-get-off="0" data-icon="fa-random"></div>
<div class="small">Shuffle</div><br />
</div>
<div class="inline">
<div data-type="switch" data-device="Sonos_Kueche" class="fs140p"
data-get="CrossfadeMode" data-set="CrossfadeMode"     
data-get-on="1" data-get-off="0" data-icon="fa-compress"></div>
<div class="small">Crossfade</div><br />
</div>
</div>
<!-- Sonos Kueche Ende -->
         </section>

<section>
            <div class="head">Wohnzimmer</div>
<!-- Sonos Wohnzimmer -->
<div class="inline">
<div data-type="push" data-fhem-cmd="{MeineFavouriten('Sonos_Bad')}" onclick="ftui.toast('Favoriten Bad werden eingelesen...');" data-icon="fa-list"></div>
<div>Favoriten<br />einlesen Bad</div>
</div>
<div class="inline">
<div data-type="push" data-fhem-cmd="{MeineFavouriten('Sonos_Schlafzimmer')}" onclick="ftui.toast('Favoriten Schlafzimmer werden eingelesen...');" data-icon="fa-list"></div>
<div>Fav. einlesen<br />Schlafzimmer</div>
</div>
<div class="inline">
<div data-type="push" data-fhem-cmd="{MeineFavouriten('Sonos_Kueche')}" onclick="ftui.toast('Favoriten Küche werden eingelesen...');" data-icon="fa-list"></div>
<div>Fav. einlesen<br />Küche</div>
</div><br />
<div class="inline">
<div data-type="switch" data-device="n4_NSA325" data-get="status" data-set="" data-doubleclick="500"
data-states='["start","on","shutdown","off"]'
data-set-states='["","off","","on"]'
data-icons='["fa-arrow-up","fa-power-off","fa-arrow-down","fa-power-off"]'
data-on-colors='["#ffffff","#ffffff","#ffffff","#ffffff"]'
data-on-background-colors='["SlateBlue","SeaGreen","SlateBlue","IndianRed"]'>
</div>
<div>NSA325</div>
</div>
<div class="inline">
<div data-type="switch" data-device="n4_HTPC" data-get="status" data-set="" data-doubleclick="500"
data-states='["start","on","shutdown","off"]'
data-set-states='["","off","","on"]'
data-icons='["fa-arrow-up","fa-power-off","fa-arrow-down","fa-power-off"]'
data-on-colors='["#ffffff","#ffffff","#ffffff","#ffffff"]'
data-on-background-colors='["SlateBlue","SeaGreen","SlateBlue","IndianRed"]'>
</div>
<div>HTPC</div>
</div>
<div class="inline">
<div data-type="switch" data-device="n4_notebook" data-get="status" data-set="" data-doubleclick="500"
data-states='["start","on","shutdown","off"]'
data-set-states='["","off","","on"]'
data-icons='["fa-arrow-up","fa-power-off","fa-arrow-down","fa-power-off"]'
data-on-colors='["#ffffff","#ffffff","#ffffff","#ffffff"]'
data-on-background-colors='["SlateBlue","SeaGreen","SlateBlue","IndianRed"]'>
</div>
<div>Notebook</div>
</div>
<!-- Sonos Wohnzimmer Ende -->
        </section>
    </div>
</body>
</html>


.... aber es ist egal welche Unterseite ich laden lasse ....jede Seite die mehr Content hat, als auf die erste "Ansicht passt" lässt sich nicht scrollen.

Btw... könntest du bitte noch dazu was sagen?
Zitat
Edit:
Wenn ich eh gerade beim Slideout-Template bin...gibt es die Möglichkeit die "Slide-In" Richtung per Attribut mitzugeben?
z. B. right, left, top, bottum ? ... Dann könnte man sich auch "Quick-Settings" zusammenbasteln ;-)

Vielen Dank!

Gruß
Mathias
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 15 August 2016, 19:36:38
Zitat von: n4rrOx am 15 August 2016, 10:02:40
.... aber es ist egal welche Unterseite ich laden lasse ....jede Seite die mehr Content hat, als auf die erste "Ansicht passt" lässt sich nicht scrollen.

genau das gleiche Problem habe ich auch.
Das komische ist bei mir, dass Seiten, die wenig Content haben, sich genauso viel scrollen lassen wie die "zu vollen" Seiten.... irgendwo ist da bei uns der Wurm drin....

Beste Grüße
Andy

__________________________________________________________________________________
edit1: habe gerade mal die <link rel="stylesheet" href="css/fhem-mobil-ui.css" /> auskommentiert und dann geht das scrollen wieder. Ich such mal woran es liegt ....

__________________________________________________________________________________
edit2: es liegt "overflow: hidden;" im folgenden Block:
.gridster ul li, main {
    background-color:#eee;
    overflow: hidden;
    text-align: center;
}

wenn das raus ist, dann kann man wieder scrollen  :) :) :) :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 August 2016, 22:38:17
@Andy89: peinlich, du hast Recht. Danke!

Ich habe vergessen, die angepasste fhem-mobil-ui.css hochzuladen. Bei mir habe ich das File von Hand von DEV nach EVAL kopiert. Deshalb habe ich das nicht bemerkt.

Update ist jetzt getan.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 15 August 2016, 23:26:24
Zitat von: setstate am 15 August 2016, 22:38:17
Ich habe vergessen, die angepasste fhem-mobil-ui.css hochzuladen. Bei mir habe ich das File von Hand von DEV nach EVAL kopiert. Deshalb habe ich das nicht bemerkt.

Update ist jetzt getan.
Ist mir auch schon oft passiert  :o Vor allem, wenn man das mobile nur selten nutzt, fällt es einem gar nicht auf.

Update funktioniert  :) Danke  :) :)

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 16 August 2016, 08:19:33
Zitat von: setstate am 08 August 2016, 00:04:09
Neu: Image Widget - Class-Änderung per Parameter

passt du die Doku hier noch an? Oder habe ich die falsche Doku in Benutzung??
https://github.com/knowthelist/fhem-tablet-ui
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 16 August 2016, 21:09:03
Hallo setstate,

bei mir geht seit der Umstellung von 2.0beta und Webviewcontrol auf 2.2 und fully der shortpoll (ohne reload der selte) nach dem Ruhezustand (Hibernate) nicht mehr. Es kommt auch kein "network connected". Wenn ich aber WLAN ausschalten und wieder anschalte geht es. Eine Idee woran das liegen kann? hat sich erwas diesbzgl im code geändert?

Hat noch jemand das Problem?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 16 August 2016, 23:13:00
Zitat von: Tobias am 16 August 2016, 08:19:33
passt du die Doku hier noch an? Oder habe ich die falsche Doku in Benutzung??
https://github.com/knowthelist/fhem-tablet-ui

In der Readme habe nur die zusätzlichen Parameter aufgelistet.
Die aktuelle Version ist diese: https://github.com/knowthelist/fhem-tablet-ui/blob/eval/README.md
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 16 August 2016, 23:18:33
Zitat von: Mpomp am 14 August 2016, 11:56:51
Hallo setstate,

hast du das schon versucht umzusetzen?

Ist es möglich den  Changelog einzusehen, damit ich weiß wann ich wieder ein Update machen kann.

Danke
LG Mpomp

Ist jetzt eingebaut. Damit ist es ab sofort auch möglich, die HTML Seiten in Unterordner zu verfrachten. Die referenzierten Files müssen in der HTML natürlich dann angepasst werden:


    <link rel="stylesheet" href="../css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="../lib/font-awesome.min.css" />
    <link rel="stylesheet" href="../lib/material-icons.min.css" />
    <link rel="stylesheet" href="../lib/jquery.toast.min.css" />

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

    <script src="../../pgm2/jquery.min.js"></script>
    <script src="../lib/jquery.toast.min.js"></script>
    <script src="../js/fhem-tablet-ui.js" defer></script>


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FHEM-User22 am 17 August 2016, 11:41:01
Hallo,
ich suche überall, aber finde nichts.
ich habe:

<div data-type="label" data-device="Aussen" data-part="2" data-limits='[-73,10,23]' data-colors='["#6699FF","#AA6900","#FF0000"]' data-unit="%B0C%0A" class="cell bigger thin top-space-1x"></div>
        <div data-type="label" class="cell"></div>


zur Temperaturanzeige gemacht. Aber wo kann ich die Größe der Ziffern einstellen, die sind so groß, das ich 2 Spalten machen muss.

Dankeschön, wenn mir jemand das Brett entfernt.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 17 August 2016, 11:42:37
Class ist dafür zuständig. Bigger einfach entfernen oder durch big ersetzten.
Und ich glaube cell braucht man auch nicht^^


Gesendet von iPhone mit Tapatalk
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FHEM-User22 am 17 August 2016, 15:22:20
Zitat von: Andy89 am 17 August 2016, 11:42:37
Bigger einfach entfernen oder durch big ersetzten.
Und ich glaube cell braucht man auch nicht^^

Hallo Andy89,
Daaaankeschön. Bigger durch big ersetzt. Klasse!

Liebe Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: redlav am 17 August 2016, 20:47:43
Hallo setstate,

ich habe die FTUI-Dateien mal in Netbeans importiert, da ich mir im Ultraedit ziemlich einen
abgebrochen habe. Dabei wurden in der css-Datei die folgenden Zeilen angemeckert:

Zeile 339: justify-content: end;      laut IDE soll das wohl so lauten : justify-content: flex-end;
Zeile 741: whiteSpace: 'nowrap';   laut IDE soll das wohl so lauten : white-space: nowrap;


Ich kann nicht bewerten, welche Bedeutung diese Anmerkungen der IDE haben und ob das wirklich
ein Fehler ist. Vielleicht prüfst du die Zeilen bei Gelegenheit mal.

Gruß Norbert
Titel: Lösung: JPG und Hikvision IP Cam
Beitrag von: Inputsammler am 18 August 2016, 12:20:27
Hallo ich habe ein kleines problem, oder ich seh den Wold vor lauter Bäume nicht.

ich versuche per weblink Bilddateien (JPG) von Hikvisions IP Cams einzubinden.
was nur nach einen workaround funktioniert

Zuerst muss ich die JPG URL für jede Cam separat aufrufen
http://benutzer:passwort@192.168.254.3/Streaming/channels/101/picture?snapShotImageType=JPEG" data-refresh="4" data-size="800px
damit es funktioniert.

Dachte wenn ich die parameter übergebe funktioniert dies auch aber leider nein. Er zeigt mir kein Bild an. erst nach dem Workaround gehts.


Lösung gefunden
Lösung für Hikvision und JPG screenshot funktioniert für meine verschiedenen IPCams
1. hier https://www.base64encode.org/
2. User:Passwort   —> eingeben
3. Ergebnis an die JPG Url hinten einfügen (zb Ergebnis war XXXX
4. und dann hinten &auth=XXXX anfügen
5. http://192.168.27.92/Streaming/channels/101/picture?snapShotImageType=JPEG&auth=&auth=XXXX

Danke
Gruß Gerd
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 18 August 2016, 13:04:59
Kurzes Feedback nach dem letzten Update.

Musste für das "interne" Grid meiner pagebutton-Lösung die margin Korrekturen entfernen (-5px) - das ist aber gut so, da ich diese dann nicht mehr mitschleppen muss.

Ein Problem habe ich aber auch identifiziert. Ich habe ein Layout wo ich links und rechts in meiner index.html Menüs habe, die dann mit pagebutton in der Mitte den Content
nachladen. Bislang lief das problemlos. Nach der Umstellung hat aber auch das innere Grid feste Breiten, die ich nicht mehr ändern kann. Das hat zwar keinen optischen Effekt,
allerdings lassen sich ab der Höhe des Contents die Buttons auf der rechten Menüseite (Außnahme circlemenu) nicht mehr drücken (da diese von den gridster div und uls des Contents
überlagert werden). Abhilfe hat hier das setzten des z-index per style auf die pagebuttons und sonstigen button gebracht - so sind diese oben auf und auch wieder bedienbar - ich habe
den z-index auf 999 setzen müssen (somit bleiben etwaige circlemenu weiterhin über den sonstigen buttons beim aufklappen).

Vielleicht gibt es eine Möglichkeit für innenliegende Grids die Breite zu setzen bzw. anhand der dort verwendeten cols zu berechnen.

Das Problem besteht natürlich nur, wenn man quasi rechts neben dem Content noch Schaltflächen hat.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 18 August 2016, 13:09:45
Zitat von: h3llsp4wn am 18 August 2016, 13:04:59
Das Problem besteht natürlich nur, wenn man quasi rechts neben dem Content noch Schaltflächen hat.
Das Problem kann ich bestätigen. Ich hatte auch unten Scrollbars wegen der zu großen Breite. Ich habe mir so beholfen:


/**************     UI Optimierungen     **************/
/******************************************************/
body {
margin-top: 5px;
margin-left: 5px;
width: auto !important;
}

/*****     Gridster in Gridster Korrekturen     ******/
/******************************************************/
.gridster ul {
height: auto !important;
width: auto !important;
}
.gridster .content {
background-color: transparent !important;
width: 751px !important;
}


Meiner Liste mit den pages hab ich die klasse content verpasst.

<li data-row="2" data-col="2" data-sizex="6" data-sizey="6" class="content">
<div class="page" id="contentHome"></div>
...
...
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Inputsammler am 19 August 2016, 00:25:44
Hallo zusammen,

Ich lese meine Heizung Uber Usb interface an einer anderen Fhem Server aus.
ich hole mir die Infos mit Fhem2Fhem, befülle damit einen Dummy (Heizung) mit einen Notify, der die Werte als reading einträgt.

Habe ein festgestellt das die Readings eines Dummy nicht erneuert werden.
Bei der Beta 2.0 funktioniert die gut bei der Version 2.2 leider nicht sondern werden nur einmal eingelesen und nicht mehr aktualisiert.

Mache ich da was falsch oder habe ich was übersehen.

ein teile meiner Heizungs html Seite

<html>
<title>FHEM Home</title>
<head>
</head>
<body>
<div class="gridster">
<ul>
<!-- ============ Menue Anfang ============ -->
<li class="gridster" data-row="1" data-col="1" data-sizex="1" data-sizey="1">
  <!-- place your widget here -->
  <div class="gridster" data-type="popup" data-height="300px" data-width="200px">
    <div data-template="inc/uhr.html"></div>
    <div class="dialog border-left border-right" data-template="index0_menu.html" onclick="$('.dialog-close').trigger('click');">OK></div>
  </div>
</li>
<!-- ============ Menue Ende  ============ -->
<!-- ============ Heizungsanlage ====== --> 
    <li data-row="5" data-col="1" data-sizex="1" data-sizey="1">
        <header>HZ Aussen</header>
                    <div data-type="label"
                            data-device="Heizung"
                            data-get="Temp-Aussen"
                            data-limits='[-50,10,20,30]'
                            data-colors='["#6699ff","#19dae2","#bb6242","FF0000"]'
                            data-unit="%B0C%0A"
                            class="cell large">
                    </div>
    </li>
    <li data-row="5" data-col="2" data-sizex="1" data-sizey="1">
        <header>HZ Kessel</header>
                    <div data-type="label"
                            data-device="Heizung"
                            data-get="Temp-Kessel-Ist"
                            data-limits='[0,40,50,60]'
                            data-colors='["#6699FF","#f6ff11","#fc5903","#ff0000"]'
                            data-unit="%B0C%0A"
                            class="cell large">
                    </div>       
    </li>


und das die Einstellungen von meiner index.html Seite
Die sind nur einmal vorhanden die Einstellungen in der index.html oder müssen diese auch in jede haupt-HTML-seite
<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.2.*
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * !!!! Evaluation version - run only in a staging enviroment !!!!
     *
     * - create a new folder named 'tablet_eval' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet_eval
     * - add 'define TABLETUIEVAL HTTPSRV ftui_eval ./www/tablet_eval Tablet-EVAL' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet_eval/
     */
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="120">
    <meta name="widget_base_height" content="124">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="2"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

     <!-- GPA EINGENE -->
    <meta name="widget_min_cols" content="13">
    <meta name="widget_margin" content="4">
    <meta name="gridster_disable" content="1">
   
    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- 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" / -->
   
     <!-- GPA EINGENE -->
    <link rel="stylesheet" href="lib/openautomation.css" />
    <link rel="stylesheet" href="lib/fhemSVG.css" />
    <link rel="stylesheet" href="customfonts/font1/style.css">
    <link rel="stylesheet" href="customfonts/roman/style.css">
    <link rel="stylesheet" href="customfonts/material/style.css">
   
   
   
    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

     <!-- GPA EINGENE -->
    <script src="lib/jquery.knob.mod.min.js"></script>
    <title>FTUI Dev</title>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 19 August 2016, 00:35:00
Zitat von: n4rrOx am 10 August 2016, 18:38:32
[...]
Wenn ich eh gerade beim Slideout-Template bin...gibt es die Möglichkeit die "Slide-In" Richtung per Attribut mitzugeben?
z. B. right, left, top, bottum ? ... Dann könnte man sich auch "Quick-Settings" zusammenbasteln ;-)

@setstate

Hi, kannst du schon hierzu was sagen?
In der slideout.css sind bereits Angaben zur slide-in Richtung enthalten:

  .fixed.open-left {
    -webkit-transform: translate3d(256px, 0px, 0px);
    -moz-transform: translate3d(256px, 0px, 0px);
    -o-transform: translate3d(256px, 0px, 0px);
    -ms-transform: translate3d(256px, 0px, 0px);
    transform: translate3d(256px, 0px, 0px);
  }

.fixed.open-right {
  -webkit-transform: translate3d(-256px, 0px, 0px);
  -moz-transform: translate3d(-256px, 0px, 0px);
  -o-transform: translate3d(-256px, 0px, 0px);
  -ms-transform: translate3d(-256px, 0px, 0px);
  transform: translate3d(-256px, 0px, 0px);
}


Ein "open-right" bei der Widgetdefinition bringt aber leider keine Änderung.
Auch ein Ändern in der *.js von "open-left" auf "open-right" brachte keine Änderung.
Leider verstehe ich den Code in der *.js nicht, ansonsten würde ich es selbst versuchen zu erweitern.

Mit dem Attribut slide-direction wäre wohl auch eine Definition von der Breite der Bar bzw. Höhe, wenn von oben oder unten ein-/ausgefahren wird sinnvoll.

Ist die Erweiterung möglich?

Gruß
Mathias
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 19 August 2016, 01:53:40
Hallo Mathias,

das Slideout Widget versteht jetzt

data-position="right"

Ich habe ein Beispiel namens index_nav_right_fixed_mobil.html mit hochgeladen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Torben am 19 August 2016, 05:50:01
Hallo,
ich bin jetzt auch dabei auf FTUI 2.2 und pagebutton umzustellen und habe dabei zwei Probleme.
Zum einen bleiben bei pagebutton die Buttons aktiv hinterlegt, bei denen ich "warn" nutze - solange bis ich wieder ein Button drücke, bei dem warn nicht genutzt wird - zumindest scheint mir das die Grundlage von dem Problem zu sein. Dann gehen alle bis auf den aktiven wieder aus (siehe Bilder)
            <li data-row="1" data-col="2" data-sizex="1" data-sizey="1" class="semitransparent">
                <div data-type="pagebutton" data-url="#page_home.html" data-load="#home" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_home.html" data-icon="fa-home" class="default top-space"></div>
                <div data-type="pagebutton" data-url="#page_music.html" data-load="#music" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_music.html"
                 data-icons='["fa-music","fa-music warn"]' class="prefetch top-space"
                 data-device = "Sonos"
                 data-get = "MasterPlayerPlayingCount"
                 data-states='["0","[1-9]"]'>
                </div>
                <div data-type="pagebutton" data-url="#page_temphum.html" data-load="#temphum" data-off-background-color="transparent"
                 data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_temphum.html"
                 data-icons='["fa-cloud","fa-cloud warn"]' class="prefetch top-space"
                 data-device = "unwetterzentrale"
                 data-get = "WarnCount"
                 data-states='["0","[1-9]"]'>
                </div>
                <div data-type="pagebutton" data-url="#page_phone.html" data-load="#phone" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_phone.html"
                 data-icons='["fa-phone","fa-phone warn"]' class="prefetch top-space"
                 data-device = "Call_List_Missed"
                 data-get = "numberOfCalls"
                 data-states='["0","[1-9]"]'>
                </div>
                <div data-type="pagebutton" data-url="#page_light.html" data-load="#light" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_light.html" data-icon="fa-lightbulb-o" class="prefetch top-space"></div>
                 <div data-type="pagebutton" data-url="#page_car.html" data-load="#car" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_car.html" data-icon="fa-car" class="prefetch top-space"></div>
                <div data-type="pagebutton" data-url="#page_system.html" data-load="#system" data-off-background-color="transparent" data-off-color="#606060"
                 data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#page_system.html" data-icon="fa-cog" class="prefetch top-space"></div>
            </li>


Mein zweites Problem betrifft die popups. Mein Anruf-Popup geht auf, aber nicht mehr beim "data-get-off"-event zu. Ich habe einiges im Forum dazu gelesen, aber keine wirkliche Lösung. Den Code vom Popup habe ich im <li data-row="1" data-col="1"...
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="1" id="timeDate" class="semitransparent">
                <div class="left">
                     Table mit Uhr und Datum in dieser "Haupt-div"               
                 </div>
                 <div data-type="popup" data-device="Fritz_Box" data-get="event" data-get-on="ring" data-get-off="connect|disconnect" data-width="1180px" data-height="400px">
                  <div></div>
                  <div class="dialog">
                        <header>Anruf</header>
                        <div data-type="label" data-device="Fritz_Box" data-get="external_name" class="cell callName"></div>
                        <div data-type="label" data-device="Fritz_Box" data-get="external_number" class="cell callNumber"></div>
                  </div>
                </div>
            </li>

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: n4rrOx am 19 August 2016, 17:13:37
Zitat von: setstate am 19 August 2016, 01:53:40
Hallo Mathias,

das Slideout Widget versteht jetzt

data-position="right"

Ich habe ein Beispiel namens index_nav_right_fixed_mobil.html mit hochgeladen.

Wow super =))
Wie sieht's mit "top" / "bottom" und high bzw. width aus ??  ;D

Gruß
Mathias
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Photon68 am 19 August 2016, 17:51:26
Zitat von: fhainz am 18 August 2016, 13:09:45
Das Problem kann ich bestätigen. Ich hatte auch unten Scrollbars wegen der zu großen Breite. Ich habe mir so beholfen:


/**************     UI Optimierungen     **************/
/******************************************************/
body {
margin-top: 5px;
margin-left: 5px;
width: auto !important;
}

/*****     Gridster in Gridster Korrekturen     ******/
/******************************************************/
.gridster ul {
height: auto !important;
width: auto !important;
}
.gridster .content {
background-color: transparent !important;
width: 751px !important;
}


Meiner Liste mit den pages hab ich die klasse content verpasst.

<li data-row="2" data-col="2" data-sizex="6" data-sizey="6" class="content">
<div class="page" id="contentHome"></div>
...
...
</li>



@FHainz

In welcher Datei muss ich die UI Korrekturen eintragen. Denn ich habe das gleiche Problem, dass der Content meine rechten Menüpunkte überlagert und so nicht mehr bedienbar macht.

Danke Photon68
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 19 August 2016, 18:50:00
Aber die Breite kann man doch mit data-sizex einstellen??'
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Photon68 am 19 August 2016, 21:33:12
@setstate

Das habe ich natürlich getan.
Bis zum Update hat auch alles funktioniert. Seitdem habe ich nach dem Aufruf der index.html die Scrollbalken und das rechte Menü ist ab der Höhe des eingelagerten contens nicht mehr zu bedienen, da es unsichtbar vom content überlagert wird.

Gruß Photon68
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 19 August 2016, 22:05:14
Also, ich habe jetzt mal bei mir eine Menu-Content-Menu Testseite angelegt, keine Überlagerung.


<body>
    <div class="gridster">
        <ul>
        <li data-row="1" data-col="1" data-sizex="1" data-sizey="9">
            <div class="cell">
                <div data-type="pagebutton" data-url="#content_main.html"     data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern="(.*/||.*#content_main.html)" data-icon="fa-home" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_music.html"    data-load="#content2" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_music.html" data-icon="fa-music" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_settings.html" data-load="#content3" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_settings.html" data-icon="fa-sliders" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_set.html"      data-load="#content4" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_set.html" data-icon="fa-lightbulb-o" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_charts.html"   data-load="#content5" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_charts.html" data-icon="fa-line-chart" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_vusolo.html"   data-load="#content6" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_vusolo.html" data-icon="fa-tv" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_tram.html"     data-load="#content7" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_tram.html" data-icon="fa-train" class="top-space"></div>
                <div data-type="pagebutton" data-url="#content_trafic.html"   data-load="#content8" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_traffic.html" data-icon="fa-car" class="top-space"></div>
            </div>
        </li>
        <li data-row="1" data-col="2" data-sizex="10" data-sizey="9">
            <div class="page" id="content1"></div>
            <div class="page" id="content2"></div>
            <div class="page" id="content3"></div>
            <div class="page" id="content4"></div>
            <div class="page" id="content5"></div>
            <div class="page" id="content6"></div>
            <div class="page" id="content7"></div>
            <div class="page" id="content8"></div>
         </li>
         <li data-row="1" data-col="11" data-sizex="1" data-sizey="9">
             <div class="cell">
                 <div data-type="pagebutton" data-url="#content_main.html"     data-load="#content1" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern="(.*/||.*#content_main.html)" data-icon="fa-home" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_music.html"    data-load="#content2" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_music.html" data-icon="fa-music" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_settings.html" data-load="#content3" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_settings.html" data-icon="fa-sliders" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_set.html"      data-load="#content4" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_set.html" data-icon="fa-lightbulb-o" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_charts.html"   data-load="#content5" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_charts.html" data-icon="fa-line-chart" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_vusolo.html"   data-load="#content6" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_vusolo.html" data-icon="fa-tv" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_tram.html"     data-load="#content7" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_tram.html" data-icon="fa-train" class="top-space"></div>
                 <div data-type="pagebutton" data-url="#content_trafic.html"   data-load="#content8" data-off-background-color="transparent" data-off-color="#606060" data-on-background-color="#606060" data-on-color="#222222" data-active-pattern=".*#content_traffic.html" data-icon="fa-car" class="top-space"></div>
             </div>
         </li>
        </ul>
    </div>
</body>


Was mache ich anders?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Photon68 am 19 August 2016, 22:28:00
Hallo setstate,


ich bin ratlos!?

Vor allem, weil es vor dem letzten Update funktionierte.

Das heisst, ich habe außer dem Update seit Wochen nichts geändert.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 19 August 2016, 22:39:31
ihr könnt vielleicht aber persönliche CSS Files eingebunden haben, die sich jetzt nicht mehr vertragen. Oder ein fehlerhaftes Layout wirkt sich jetzt anders aus.
Kannst nur mal die index.html posten und ich schaue nach ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 19 August 2016, 23:07:30
Zitat von: choetzu am 25 Juli 2016, 20:12:02
das motiviert ;)

Ich habe eins nach dem anderen probiert. Erst nachdem ich alle - also 1 bis 3 - realisiert habe, hats funktioniert. Seit heute Morgen keinen Aussetzer mehr. Es scheint offensichtlich die Kombination von allen gewesen zu sein. Super!!!

Danke für die Hilfe.. BIn voll happy...

Bin doch nicht soo happy! Wenn ich die index_mobile.html vom Homebildschirm meines iPhone 6 starte, muss ich bei jedem gefühlten dritten Mal die Seite 2-3 mal starten, damit die Werte korrekt geladen werden.. Könnte es evtl. am dyndns liegen? Mein code ist ja offensichtlich ok. Oder liegt es gar an Safari od Apple?

Danke für die Hilfe
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Photon68 am 19 August 2016, 23:26:42
@setstate

sh. in der Anlage meine index.html

Habe auch schone versucht meinen eigenen Hintergrund etc. zu entfernen, da ich einen ähnlichen Verdacht habe.


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 August 2016, 09:43:15
deine nackte index.html zeigt bei mir keine Probleme. Ich habe das Content LI in rot gefärbt und sehe keine Überlagerung und die rechten Button kann man drücken. Jetzt können Effekte aus deinen Extra CSS Files kommen oder der Inhalt der Unterseite (die ich auch nicht habe) sind zu groß.

Übrigens den Header Inhalt könnte man radikal aufräumen. DIe ganzen WIdgets JS Files werden dynamisch geladen und müssen nicht mehr drin sein. Die Files können auch relativ angegeben werden, also im Bezug auf das aktuelle Verzeichnis.

SO reicht das (plus die privaten Extra Files)

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="77">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="widget_margin" content="4">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="1"> <!-- verbose level 1-6 = output to console;0 = not output -->


    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <!-- 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="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI-eval</title>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Photon68 am 20 August 2016, 10:30:46
Danke setstate!

Dann werde ich meine content-Seiten Seite für Seite überprüfen!
Ich melde mich wieder.

Gruß Photon68
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 20 August 2016, 12:52:16
Hallo setstate,

es liegt anscheinend an widget_base_width. Du gibt diese mit 77 an, bisher hatte ich 116 verwendet. Ich denke die Zahl hab ich noch aus der 1.0?
Wenn du widget_base_width auf zb 116 setzt wird, auch mit deinem code, das rechte Menü komplett verdeckt. Man sieht nichtmal die Icons.
Solle das rechte Menü nicht "rüber rutschen"?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 20 August 2016, 16:17:33
aber beim Beispiel von Photon68 ist die Weite auch größer und es klappt bei mir damit

<meta name="widget_base_width" content="140">
<meta name="widget_base_height" content="157">
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: fhainz am 20 August 2016, 17:51:46
Ich habs nun ;D

Mein content li war nach dem Rechten Menü definiert. Dann kann es ja nicht gehen... >:(

Edit:
Die Vertikalen Scrollbalken gibt es aber trotzdem noch :)

Das ul Element ist zu groß. Deswegen hatte ich das drinnen.

.gridster ul {
height: auto !important;
width: auto !important;
}


Edit 2:
Komme nicht drauf woran es wirklich liegt. Auch mit kommentierter user-css habe ich Scrollbalken. Ich muss meinen content li und das übergeordnete ul auf width: auto setzen damit ich keine Scrollbalken mehr habe.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Inputsammler am 21 August 2016, 00:41:55
Hey setstate,

hatte die Version 1.xx, die Version2.0 und die 2.2 am laufen.

Bei der 1 und der 2 Version werden die Daten von den Dummys aktualisiert aber bei der Version 2.2 nicht mehr.
ich finde den Fehler nicht.  :(

Habe die 2.2 komplett neu installiert und die Daten nur mal in  deine demo_ftui.html eingepackt aber leider ohne Erfolg.
Es werden nur alte Daten akgezeigt --> die Daten werden nicht aktualisiert
    <li data-row="5" data-col="5" data-sizex="1" data-sizey="1">
        <header>BrennerStartsToday</header>
                    <div data-type="label"
                            data-device="Heizung"
                            data-get="BrennerStartsToday"
                            data-limits='[0,40,50,100]'
                            data-colors='["#6699FF","#f6ff11","#fc5903","#ff0000"]'
                            data-unit=" "
                            data-fix="0"
                            class="cell large">
                    </div>       
    </li>


Gruß Gerd
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 August 2016, 07:59:30
Gibt es Fehler in der JavaScript Webconsole?
http://www.fhemwiki.de/wiki/FHEM_Tablet_UI/FAQ#Wie_.C3.B6ffne_ich_die_Javascript-Konsole.3F

Wenn nicht, müsste man tiefer im Log graben.
Setzte mal den Debug Level höher in der *.html
Zum Beispiel auf 3, bei Problemen mit dem Longpoll hilft auch Level 4 bzw. 5, um zu sehen, was mit den Events passiert.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Stril am 21 August 2016, 17:21:17
Hallo!

Ich habe nach ein paar Wochen mal wieder ein Update gemacht. Leider stimmt jetzt etwas mit den Circlemenu-Widgets nicht mehr. Sie verdecken im "nicht angewählten" Zustand die anderen Elemente.
Das Widget zum Aufklappen des Circlemenu liegt also "über" einem normalen z.B. Switch-Widget:


<li data-row="3" data-col="3" data-sizex="1" data-sizey="2">
<header>Bad</header>
        <div data-type="switch" data-device="AlleLichterOGBad" class="cell"></div>
<div data-type="circlemenu" class="cell left circlemenu" data-item-diameter="100" data-circle-radius="100">
    <ul class="menu">

        <li><div data-type="symbol" data-icon="fa-lightbulb-o" data-background-icon="fa-circle-o" data-device="AlleLichterOGBad"
                data-get-on='on' data-get-off='off'></div></li>

        <li>Spots<div data-type="switch" data-device="aLs_OG_Bad_Spots"></div></li>
        <li>Fenster<div data-type="switch" data-device="aLs_OG_Bad_Lichtband"></div></li>
        <li>Spiegel<div data-type="switch" data-device="aLs_OG_Bad_Spiegellicht"></div></li>
</ul>


</div>
</li>



--> Das Switch-Widget ist verdeckt...

Könnt Ihr mir hier einen Tipp geben?

Vielen Dank
Gruß
Phil
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 21 August 2016, 18:45:55
ohne class="menu" und ohne class="circelmenu"

falsch

<div data-type="circlemenu" class="cell left circlemenu" data-item-diameter="100" data-circle-radius="100">
    <ul class="menu">


richtig

<div data-type="circlemenu" class="cell left" data-item-diameter="100" data-circle-radius="100">
    <ul>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Inputsammler am 21 August 2016, 23:46:50
Hallo setstate

danke für dein Rückmeldung
Mein Erkenntnisse bis jetzt:

Habe diesen Code in deiner demo_ftui.html eingefügt damit ich mir keinen anderen Fehler einbaue

    <li data-row="7" data-col="1" data-sizex="1" data-sizey="1">
        <header>HZ Aussen</header>
                    <div data-type="label"
                            data-device="Heizung"
                            data-get="Temp-Aussen"
                            class="cell large">
                    </div>
    </li>


Es wir ein dummy befüllt über ein Notify
Heizung:.* setreading Heizung $EVENT

Fhem Event log

2016-08-21 23:38:14 dummy Heizung Temp-Aussen: 15.9
2016-08-21 23:38:14 dummy Heizung Temp-Aussen:: 15.9


siehe Screenshoots.
die Daten werden erst aktualisiert nachdem ich einen manuellen Befehl an Fhem schicke
(setreading Heizung Temp-Aussen 18)

Java Console bringt dies
Die Java Console zuvor
["Heizung-Temp-Aussen", "16.1", "16.1"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen-ts", "2016-08-21 23:06:14", "2016-08-21 23:06:14"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:", "16.1", "16.1"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:06:14", "2016-08-21 23:06:14"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen", "16", "16"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen-ts", "2016-08-21 23:10:15", "2016-08-21 23:10:15"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:", "16", "16"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:10:15", "2016-08-21 23:10:15"]

mein manueller Befehl:
setreading Heizung Temp-Aussen 18


Java Console (gefilter auf Temp-Aussen)
["Heizung-Temp-Aussen", "18", "18"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen-ts", "2016-08-21 23:11:48", "2016-08-21 23:11:48"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:", "18", "18"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:11:48", "2016-08-21 23:11:48"]
fhem-tablet-ui.js:964 update done for "Heizung:Temp-Aussen"
["Heizung-Temp-Aussen", "16", "16"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen-ts", "2016-08-21 23:14:14", "2016-08-21 23:14:14"]
fhem-tablet-ui.js:964 update done for "Heizung:Temp-Aussen"
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:", "16", "16"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:14:14", "2016-08-21 23:14:14"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen", "15.9", "15.9"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen-ts", "2016-08-21 23:18:13", "2016-08-21 23:18:13"]
fhem-tablet-ui.js:964 update done for "Heizung:Temp-Aussen"
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:", "15.9", "15.9"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:18:13", "2016-08-21 23:18:13"]


Was nicht optimal ist, weil das reading 2x vorhanden ist. Und ich das für jedes Reading machen müsste

Sobald ich das Browserfenster neu lade holt er sich den wert den ich manuell eingeben habe ab.
siehe Bilder.

Mit der Version 2.0 geht es problemlos. <Mache ich da was falsch

Gruß Gerd
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 August 2016, 07:10:05
Du hantierst mit unterschiedlichen Readings. Da hat sich irgendwo ein Doppelpunkt zu viel eingeschlichen

Heizung-Temp-Aussen:", "18", "18"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:11:48", "2016-08-21 23:11:48"]
fhem-tablet-ui.js:964 update done for "Heizung:Temp-Aussen"


Event:  "Heizung-Temp-Aussen:"

Am Ende taucht in deinem Log manchmal ein ":" auf und manchmal nicht
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Stril am 22 August 2016, 08:39:32
Zitat von: setstate am 21 August 2016, 18:45:55
ohne class="menu" und ohne class="circelmenu"

Hallo!

Das wars!
Vielen Dank

Jetzt habe ich nur noch ein Problem:

EDIT:
****************************
Hab es selbst gefunden:
Ein "event-on-change-reading ".*"" hat es gelöst.
****************************

Longpoll funktioniert - nur nicht in Verbindung mit data-type="symbol", wenn ich auf ein "Subreading" gehe, wie "position":


        <div data-type="symbol"
        data-background-icons='["fa-square-o","fa-square-o"]'
        data-background-colors='["#aa6900","#505050"]'
        data-get="position"
        data-device="aJs_EG_KuecheGarten"
        data-off-color="#996633"
        data-get-on='["^[0-9]{1,2}$","100"]'
        data-icons='["fa-bars warn","fa-bars"]'
        data-on-colors='["#aa6900","#505050"]' ></div>
        </li>


Das Icon wechselt nur mit dem Shortpoll, nicht aber direkt die Farbe, wenn sich das Reading ändert. Aktualisiere ich den Browser passt auch alles.

Hast Du da auch noch eine Idee? Muss ich da noch irgendein Notify setzen, dass TabletUI die Änderung "merkt"? In der Javascript-Konsole sehe ich die Änderung im Browser:


update(dev,par) {
var base = this;
var deviceElements= this.elements.filter("div[data-logdevice]");
var prev_width = [];
prev_width[$(base).data('instance')] = $(base).find('svg.bases... "Update triggered with: aJs_EG_KuecheGartenSTATE"


EDIT:
****************************
Hab es selbst gefunden:
Ein "event-on-change-reading ".*"" hat es gelöst.

Danke und Gruß
Phil

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 22 August 2016, 14:15:06
Hi,
ich bin gerade ab umbauen meiner Tablet-UI für die Living Räume auf templates. Funktioniert soweit ganz gut.
Allerdings habe ich noch keine Lösung gefunden wie ich in einem Template Bedingungen definieren kann.
Zb. das Homematic Thermostat kann eine Kindersicherung, das MAX Thermostat aber nicht.
In dem einen(!) Template möchte ich nun definieren, wenn ein Parameter gesetzt ist, soll ein bestimmter Block (nämlich die Lock Visualisierung) eingeblendet sein, andernfalls nicht.

Geht das?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: pataya am 22 August 2016, 17:27:57
Moin,

gibt es mittlerweile eine aktuelle Version des multistatebutton-Widgets?
Fehlt mir als einziges noch mit der 2.2 :)

Gruß
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 22 August 2016, 17:54:49
Ja Multistatebutton ist seit ein paar Tagen verfügbar. Einem offiziellen Rollout der Version 2.2 steht also nix mehr im Weg.  ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Inputsammler am 22 August 2016, 23:00:25
Hey setstate Danke dür die Infos,

das mit dem Minus und dem Unterstrich hat nichts geholfen. (von deine ersten Post)


Zitat von: setstate am 22 August 2016, 07:10:05
Du hantierst mit unterschiedlichen Readings. Da hat sich irgendwo ein Doppelpunkt zu viel eingeschlichen

Heizung-Temp-Aussen:", "18", "18"]
fhem-tablet-ui.js:964 ["Heizung-Temp-Aussen:-ts", "2016-08-21 23:11:48", "2016-08-21 23:11:48"]
fhem-tablet-ui.js:964 update done for "Heizung:Temp-Aussen"


Event:  "Heizung-Temp-Aussen:"

Am Ende taucht in deinem Log manchmal ein ":" auf und manchmal nicht
Das ist ja das komische warum bei der Version 2.0 das funktioniert und bei der 2.2 nicht mehr.

Update 23.8.16  0:55

Habe dank DeeSPe eine Lösung gefunden
Heizung:.* {my $read = (split(":",$EVTPART0))[0];{{ fhem("setreading Heizung $read $EVTPART1");};}}


Danke Dir für dein Super User Interface... Anfangs hatte ich keine Ahnung  ....
....aber jemand hat mal gesagt

Zitat von: Prof. Dr. Peter Henning am FHEM Treffen in Karlruhe
"Keine Ahnung hatten wir alle mal, das ist keine Ausrede"

Gruß Gerd
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Patrick85 am 23 August 2016, 09:55:57
Hallo,
es scheint noch einen Bug im Zusammenhang mit pagetab zu geben. Dieser ist auch in der mitgelieferten index_tab_demo.html ersichtlich. Das ul Element ist viel zu groß. Im Screenshot habe ich das ganze mit einem einfachen CSS Datei sichtbar gemacht.
Vermutlich hatte auch fhainz in Antwort 615 dieses Problem. Kann sich das jemand bitte anschauen?

ZitatDas ul Element ist zu groß. Deswegen hatte ich das drinnen.

CSS
.gridster ul {
border: solid 1px white;
}
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Tobias am 23 August 2016, 20:28:32
Hat hier jemand einen Hinweis??
Zitat von: Tobias am 22 August 2016, 14:15:06
Hi,
ich bin gerade ab umbauen meiner Tablet-UI für die Living Räume auf templates. Funktioniert soweit ganz gut.
Allerdings habe ich noch keine Lösung gefunden wie ich in einem Template Bedingungen definieren kann.
Zb. das Homematic Thermostat kann eine Kindersicherung, das MAX Thermostat aber nicht.
In dem einen(!) Template möchte ich nun definieren, wenn ein Parameter gesetzt ist, soll ein bestimmter Block (nämlich die Lock Visualisierung) eingeblendet sein, andernfalls nicht.

Geht das?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 23 August 2016, 21:28:53
Zitat von: Patrick85 am 23 August 2016, 09:55:57
es scheint noch einen Bug im Zusammenhang mit pagetab zu geben. Dieser ist auch in der mitgelieferten index_tab_demo.html ersichtlich. Das ul Element ist viel zu groß. Im Screenshot habe ich das ganze mit einem einfachen CSS Datei sichtbar gemacht.
Vermutlich hatte auch fhainz in Antwort 615 dieses Problem. Kann sich das jemand bitte anschauen?

Ich habe die inline Korrektur in der function initGridster etwas angepasst, damit dieses Gridster-in-Gridster Problem noch besser gelöst wird. Jetzt sind alle unnötigen Scrollbars weg, wenn das Fenster groß genug ist.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 27 August 2016, 12:26:06
Zitat von: choetzu am 19 August 2016, 23:07:30
Bin doch nicht soo happy! Wenn ich die index_mobile.html vom Homebildschirm meines iPhone 6 starte, muss ich bei jedem gefühlten dritten Mal die Seite 2-3 mal starten, damit die Werte korrekt geladen werden.. Könnte es evtl. am dyndns liegen? Mein code ist ja offensichtlich ok. Oder liegt es gar an Safari od Apple?

Danke für die Hilfe

Hallo, kann mir hier jemand helfen? Ich öffne die index_mobile.html vom Homebildschirm bestimmt 5-10mal pro Tag. Wenn ich jedes gefühlte 3 mal x-mal laden muss bis die Werte korrekt dargestellt werden, ist das nicht grad zuverlässig. Ich habe mittlerweile das swiper widget entfernt und alles auf Seite gemacht. Null effekt.  Liegt es an Safari oder iPhone 6? Was kann ich tun? Danke für die Hilfe...

Kennt sonst noch jemand das Problem?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: FhemPiUser am 27 August 2016, 12:41:28
@setstate: hast du schon das update mit dem restart des shortpoll nach fehlgeschlagenem shortpoll eingespielt? das könnte helfen...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 28 August 2016, 16:18:06
Das Problem kenn ich leider! Ich habe mir jedoch nun auf der FritzBox einen VPN Zugang eingerichtet. Wenn ich vorher den Tunnel Aufbau, egal ob im WLAN oder im mobilen Netz, geht es gefühlt 3-5 mal schneller. Am schnellsten geht es jedoch über das mobile Netz ist mir aufgefallen!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 29 August 2016, 10:20:01
bjoernbo: beziehst du dich mit deinem Kommentar auf FhemPiUser's oder meinen Beitrag? ;)

Ich suche wirklich Abhilfe, finde aber nirgends eine Antwort.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 29 August 2016, 10:44:56
Benutzt du die Templatefunktion auf deiner mobilen Seite? Damit soll es manchmal Probleme geben, berichteten manche. Ansonsten:
- Header minimal und aufgeräumt, wie in meiner mobilen Beispielsseite?
- HTML Syntax korrekt, keine offenen Tags? Online Syntax Checker benutzen.
- gibt es Fehler in der Webconsole, wenn man die selbe Seite im Desktopbrowser aufruft?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 29 August 2016, 11:06:40
Zitat von: setstate am 29 August 2016, 10:44:56
Benutzt du die Templatefunktion auf deiner mobilen Seite? Damit soll es manchmal Probleme geben, berichteten manche. Ansonsten:
- Header minimal und aufgeräumt, wie in meiner mobilen Beispielsseite?
- HTML Syntax korrekt, keine offenen Tags? Online Syntax Checker benutzen.
- gibt es Fehler in der Webconsole, wenn man die selbe Seite im Desktopbrowser aufruft?

Hallo Setstate, danke für die Antwort und Mühe..

- Header: Ich habe eigentlich deinen Header übernommen und mit meiner custom-css ergänzt. Siehe File als Anlage
- HTML Syntax: Habe ich via validator.w3.org/ versucht. Hier kommt aber

IO Error: HTTP resource not retrievable. The HTTP status from the remote server was: 401.

- In der Webconsole kommen keine Fehler, es kommen nur Warnungen, siehe Bild als Anlage

Komisch, oder? Ich habe einerseits Freude an meiner "einfachen" Darstellung, andererseits nervt es wirklich

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 29 August 2016, 12:44:26
Hallo zusammen,

erst mal vielen Dank für das super UserInterface  :) :)

Habe vor kurzem mit FHEM angefangen und bin begeistert, was sich alles damit realisieren lässt. Mein erstes Projekt, Lampe AUS/AN, gefolgt von den Raffstoren. In FHEM selbst, lässt sich alles Schalten und Walten mit dem entsprechendem Status.
Nun wollte ich mit der TabletUI das Interface auf hübschen, scheitere aber seit Tagen mit dem Status der einzelnen Raffsore-Icons auf verschiedenen Geräten.
Der Status einer Lampe wird immer richtig angezeigt, egal mit welchem Gerät zu welcher Zeit die Seite aufgerufen wird.
Die Raffstore-Icons verhalten sich komisch  :-\

In der Datei content_windows.html habe ich die folgenden Zeilen:
        <section>
            <div class="large col-1-3 left-align">Raffstore Elternbad</div>
                <div class="col-2-3 right-align">
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-angle-double-up"
                        data-states='["open_ack","open","up"]'
                        data-set-on="opens"
                        data-set-off="opens"
                        data-background-color="cornflowerblue"
                        class="inline"></div>
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-stop"
                        data-states='["stop"]'
                        data-set-on="stop"
                        data-set-off="stop"
                        data-background-color='["cornflowerblue"]'
                        class="inline"></div>
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-angle-double-down"
                        data-states='["closes","closed","down"]'
                        data-set-on="closes"
                        data-set-off="closes"
                        data-background-color='["cornflowerblue"]'
                        class="inline"></div>
             </div>
        </section>


Wenn ich nun die Seite aufrufe, wird wie im Bild (Schritt 1) der Status richtig angezeigt (Raffstore oben).
Fahre ich nun das Raffstore nach unten (Schritt 2), wird Icon Hoch/Runter Blau unterlegt. Stoppe ich noch zwischendurch, sind alle drei Icons Blau (Schritt 3).
Wenn ich bei jedem Schritt die Seite mit F5 im zb. Browser neu lade, wird der Status richtig angezeigt.  ???

Hat evtl. jemand einen Tipp für mich was ich falsch mache? Ist der Code falsch, habe ich etwas vergessen oder habe ich da einen Denkfehler?
Habe auch schon mit verschiedenen shortpoll-intervalen, den cache probiert, suche im Forum aber irgendwie jedoch leider ohne Erfolg.

Eine Idee, mache aus drei Icons nur ein Icon, brachte mich auch nicht weiter. Im beim schalten wurden nur immer die ersten beiden Werte des Arrays genommen.

Hat jemand eine Idee was ich falsch mache?

Danke!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ext23 am 29 August 2016, 13:53:07
Hallo,

ich benötige auch nochmal Hilfe, ich habe das eval TUI parallel zu dem alten laufen:

define TABLETUI HTTPSRV ftui/ ./www/tablet Tablet-UI
attr TABLETUI room Arbeitszimmer

define TABLETUITEST HTTPSRV ftuitest/ ./www/tablettest Tablet-UI-Test
attr TABLETUITEST room Arbeitszimmer

Aber bei dem eval TUI ist mir aufgefallen, dass das longpoll nicht funktioniert. Aufgefallen ist mir das beim SWITCH Object. Ist das mit dem Parallelbetrieb doch eine nicht so gute Idee?

/Daniel

UPDATE:
Hacherjee, mein Fehler, da hat sich ein falsches Zeichen im HTML Code eingeschlichen, kleines Zeichen große Wirkung oO
Da muss man echt aufpassen.

/Daniel

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Paul.baumann am 29 August 2016, 22:13:51
Zitat von: Mikka am 29 August 2016, 12:44:26
Hallo zusammen,

erst mal vielen Dank für das super UserInterface  :) :)

Habe vor kurzem mit FHEM angefangen und bin begeistert, was sich alles damit realisieren lässt. Mein erstes Projekt, Lampe AUS/AN, gefolgt von den Raffstoren. In FHEM selbst, lässt sich alles Schalten und Walten mit dem entsprechendem Status.
Nun wollte ich mit der TabletUI das Interface auf hübschen, scheitere aber seit Tagen mit dem Status der einzelnen Raffsore-Icons auf verschiedenen Geräten.
Der Status einer Lampe wird immer richtig angezeigt, egal mit welchem Gerät zu welcher Zeit die Seite aufgerufen wird.
Die Raffstore-Icons verhalten sich komisch  :-\

In der Datei content_windows.html habe ich die folgenden Zeilen:
        <section>
            <div class="large col-1-3 left-align">Raffstore Elternbad</div>
                <div class="col-2-3 right-align">
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-angle-double-up"
                        data-states='["open_ack","open","up"]'
                        data-set-on="opens"
                        data-set-off="opens"
                        data-background-color="cornflowerblue"
                        class="inline"></div>
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-stop"
                        data-states='["stop"]'
                        data-set-on="stop"
                        data-set-off="stop"
                        data-background-color='["cornflowerblue"]'
                        class="inline"></div>
                 <div data-type="switch"
                        data-device="EnO_switch_FSB61"
                        data-icon="fa-angle-double-down"
                        data-states='["closes","closed","down"]'
                        data-set-on="closes"
                        data-set-off="closes"
                        data-background-color='["cornflowerblue"]'
                        class="inline"></div>
             </div>
        </section>


Wenn ich nun die Seite aufrufe, wird wie im Bild (Schritt 1) der Status richtig angezeigt (Raffstore oben).
Fahre ich nun das Raffstore nach unten (Schritt 2), wird Icon Hoch/Runter Blau unterlegt. Stoppe ich noch zwischendurch, sind alle drei Icons Blau (Schritt 3).
Wenn ich bei jedem Schritt die Seite mit F5 im zb. Browser neu lade, wird der Status richtig angezeigt.  ???

Hat evtl. jemand einen Tipp für mich was ich falsch mache? Ist der Code falsch, habe ich etwas vergessen oder habe ich da einen Denkfehler?
Habe auch schon mit verschiedenen shortpoll-intervalen, den cache probiert, suche im Forum aber irgendwie jedoch leider ohne Erfolg.

Eine Idee, mache aus drei Icons nur ein Icon, brachte mich auch nicht weiter. Im beim schalten wurden nur immer die ersten beiden Werte des Arrays genommen.

Hat jemand eine Idee was ich falsch mache?

Danke!

@Mikka

probiere mal

data-type="push"

anstatt

data-type="switch"

Paul
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 30 August 2016, 18:41:44
Hallo, aus lauter Verzweiflung - ich komm einfach nicht weiter - habe ich erneut alles aufgebaut und in die vorlage index_nav_mobile_fix.html integriert. Die ersten Resultate sind vielversprechend.

Eine Frage: Ist es möglich, die Navigation unten am Bildschirm fix "anzuheften" anstelle von oben? So dass es immer sichtbar ist, egal wie lang die Seite ist...

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 August 2016, 19:50:58
Ja, unten fixe tabbar mache ich noch.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 30 August 2016, 21:07:18
Hallo Paul,

danke für den Tipp mit data-type="push"!
Nun habe ich einen mix aus push und switch, da push leider keine Zustände speichert und somit das Icon immer gleich bleibt.

@setstate: Eine Frage hätte ich da noch: Sollten sich nicht automatisch die Zustände bei dem switch Datentyp in meinem ersten Code bsp. ädern, da sich auch STATE ändert (nach einem Webseiten neu laden werden die Zustände auch richtig angezeigt ...)? Oder habe ich da irgendwo einen Denkfehler?  ::)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 August 2016, 22:12:52
Hallo Mikka,

- data-states hat eine ander Bedeutung, als du vermutlich denkst. Das ist die Multistate-Notation für eine Status-Farbe oder Status-Icon Zuordnung. Es bedeutet keine ODER Verknüpfung für "ON"-Status.
Zitatdata-states='["open_ack","open","up"]'
- du willst sicherlich bei "open_ack" oder "open" oder "up" den Button ON haben? Also müsste das so aussehen (On-Off-Notation):
Zitatdata-get-on="(open_ack|open|up)"

- bei allen anderen Status Button: AUS               ("!on" bedeutet "nicht wie bei ON")
Zitatdata-get-off="!on"
- Setze beim Drücken "open"
Zitatdata-set-on="open"
- Ausschalten inorieren
Zitatdata-set-off=""


<section>
    <div class="large col-1-3 left-align">Raffstore Elternbad</div>
        <div class="col-2-3 right-align">
         <div data-type="switch"
                data-device="EnO_switch_FSB61"
                data-icon="fa-angle-double-up"
                data-get-on="(open_ack|open|up)"
                data-get-off="!on"
                data-set-on="open"
                data-set-off=""
                data-background-color="cornflowerblue"
                class="inline"></div>
         <div data-type="switch"
                data-device="EnO_switch_FSB61"
                data-icon="fa-stop"
                data-get-on="stop"
                data-get-off="!on"
                data-set-on="stop"
                data-set-off=""
                data-background-color='["cornflowerblue"]'
                class="inline"></div>
         <div data-type="switch"
                data-device="EnO_switch_FSB61"
                data-icon="fa-angle-double-down"
                data-get-on="(closes|closed|down)"
                data-get-off="!on"
                data-set-on="closes"
                data-set-off=""
                data-background-color='["cornflowerblue"]'
                class="inline"></div>
     </div>
</section>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 31 August 2016, 08:34:11
Derweilen habe ich meine Mobile Seite über einen Slider aufgebaut:

Natürlich habe ich nicht im jedem Schrank die "Schrankbeleuchtung"! Das wird noch alles angepasst ;-)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 31 August 2016, 10:22:27
Guten Morgen zusammen,

@setstate: Vielen Dank für die Erklärung, nun ist der Groschen gefallen  ;)

@bjoernbo: Gefällt mir, sieht sehr gut aus! Magst du den Code dazu veröffentlichen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 31 August 2016, 12:20:01
@Mikka: Werde ich heute Abend mal posten
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 31 August 2016, 14:37:43
Hallo bjoernbo, ich schliess mich Mikka an. Sieht super aus!! Freue mich auf den Code!
Wie verhält sich das mit der Stabilität des Laden der Daten? Werden immer alle Werte sauber geladen oder musst du auch ab und dann 2-3mal nachladen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 31 August 2016, 14:52:20
Nein, die Daten sind sofort da! Der erste Aufruf der Seite dauert ca. 5 Sekunden. Bis alles da ist. Wenn ich dann ein Fenster i.d. Küche öffne oder eine Lampe schalte funktioniert das sofort / bzw. wird mir das in Echtzeit angezeigt!


Ich merke aber nochmal folgendes an!

Wenn ich die Seite im WLAN lade dauert es sehr sehr lange 20 Sekunden
Wenn ich die Seite im WLAN mit VPN lade dauert es sehr lange 15 Sekunden
Wenn ich die Seite über LTE/3G Netz mittels VPN lade dann dauert es nur 3-5 Sekunden.

woran das liegt weiß ich nicht!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 31 August 2016, 16:37:43
Anbei der Code:

<html>
<title>FHEM</title>
<head>
<!--
     /* FHEM tablet ui */
     /*
     * Just another dashboard for FHEM
     *
     * Version: 1.3.0
     * Requires: jQuery v1.7+, font-awesome, jquery.gridster, jquery.toast
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015 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 tablet_ui HTTPSRV tablet ./www/tablet Tablet Frontend' in fhem.cfg
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/
     */
    -->


    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="116">
    <meta name="widget_base_height" content="131">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
       <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="longpoll" content="0">
    <meta name="debug" content="0">
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/font-awesome.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/powerange.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/jquery.toast.min.css" />
    <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
   <link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />
    <link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-weekprofile.css" />
    <link rel="stylesheet" href="/fhem/www/tablet/css/fhem-tablet-ui-weekprofile.css" />
    <link rel="stylesheet" href="/fhem/www/tablet/customfonts/font1/style.css">


<script type="text/javascript" src="/fhem/tablet/js/widget_clicksound.js"></script>

     <script type="text/javascript" src="/fhem/tablet/lib/jquery.circlemenu.js"></script>
    <script type="text/javascript" src="/fhem/pgm2/jquery.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/jquery.gridster.min.js"></script>
    <script type="text/javascript" src="/fhem/pgm2/jquery.knob.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/jquery.toast.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/fa-multi-button.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/powerange.min.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/widget_klimatrend.js"></script>
    <script type="text/javascript" src="/fhem/tablet/lib/widget_kodinowplaying.js"></script>
     <script type="text/javascript" src="/fhem/tablet/js/widget_kodinowplaying.js"></script>
      <script type="text/javascript" src="/fhem/tablet/js/widget_simplechart.js"></script>
    <script type="text/javascript" src="/fhem/tablet/js/fhem-tablet-ui.js"></script>



    <!-- Enable this lines for usage with WebViewControl --><!--
    <script type="text/javascript" src="/fhem/pgm2/cordova-2.3.0.js"></script>
    <script type="text/javascript" src="/fhem/js/webviewcontrol.js"></script>
    <script type="text/javascript">var wvcDevices = {'12345': 'Tablet'}; var wvcUserCssFile="webviewcontrol.css"</script>
    --><!-- End for WebViewControl -->
</head>
<body>
<div class="gridster">
<ul>

<li data-row="1" data-col="1" data-sizex="3" data-sizey="5">
   
    <div data-type="swiper" data-height="620px" data-width="370px" class="inline medium">
       <ul>
            <li>   
               <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Wohnzimmer</div></br>
                <div class="center">
                   <div data-type="symbol"
                         data-device="Fensterkontakt.Wohnzimmer"
                         data-get-on='["geöffnet","geschlossen"]'
                         data-icons='["ftui-window warn","ftui-window"]'
                         data-on-colors='["#aa6900","#555"]'
                         class="narrow big"></div>
                         
                </div>
                   <div class="center">
                   <div data-type="switch" data-device="WZ_Dimmer" class="cell"></div>
                 
                   <div data-type="switch" data-device="Stehlampe" class="cell"></div></div>
                    <div class="center">
                    <div data-type="label"  class="small">Dimmer</div>
                    <div data-type="label" class="small">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
                   <div data-type="label" class="small">Stehlampe</div>
                 </div>

              <div data-type="label" class="small">&nbsp;&nbsp;</div>
              <div class="center">
              <div data-type="switch"
                   data-device="AppleTV_Modus"
                   data-icon="fa-apple"
                   class="cell"></div> 
              <div data-type="switch"
                   data-device="TV_Modus"
                   data-icon="font1-tv"
                   class="cell"></div>
              </div>

<div class="top-space row">
            <div data-type="spinner"
                data-device="Wohnzimmer.Wandthermostat"
                data-icon-left-color="blue"
                data-icon-right-color="red"
                data-step="0.5"
                data-min="4"
                data-max="30"
                data-unit="°"
                data-get="desired-temp"
                data-off="off"
                class="valueonly col-3-5">
            </div>
           
        </div>


            </li>
            <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Küche</div></br>
                <div class="center">
                   <div data-type="symbol"
                         data-device="Fensterkontakt.Kueche"
                         data-get-on='["geöffnet","geschlossen"]'
                         data-icons='["ftui-window warn","ftui-window"]'
                         data-on-colors='["#aa6900","#555"]'
                         class="narrow big"></div>
                         
                </div>
                   <div class="center">

                  <div data-type="switch" data-device="KuecheLED" data-get="state" class="cell"></div></div>

                   <div class="center"> <div data-type="label"  class="small">Unterschrank LED</div>
                 </div>


                <div class="center">
                   <div data-type="switch" data-device="HUEDeviceKueche" data-get="state" class="cell"></div></div>
                    <div class="center"><div data-type="label" class="small">Deckenlampe</div>
                  </div>
<div data-type="label" class="small">&nbsp;&nbsp;</div>
<div data-type="label" class="small">&nbsp;&nbsp;</div>
                  <div data-type="label" class="cell inline normal">Kühlschrank</div>
    <div  data-type="label"
          data-device="LaCrosse_2A"
          data-get="temperature"
          data-unit=" °C"
          class="big"></div>
          <br>
    <div data-type="label" class="cell inline normal">Eisfach</div>
    <div  data-type="label"
          data-device="LaCrosse_27"
          data-get="temperature"
          data-unit=" °C"
          class="big"></div>


            </li>
<li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Schlafzimmer</div></br>
                <div class="center">
                   <div data-type="symbol"
                         data-device="Fensterkontakt.Schlafzimmer"
                         data-get-on='["geöffnet","geschlossen"]'
                         data-icons='["ftui-window warn","ftui-window"]'
                         data-on-colors='["#aa6900","#555"]'
                         class="narrow big"></div>
                         
                </div>
                   <div class="center">

                  <div data-type="switch" data-device="KuecheLED" data-get="state" class="cell"></div></div>

                   <div class="center"> <div data-type="label"  class="small">Unterschrank LED</div>
                 </div>


                <div class="center">
                    <div data-type="switch" data-device="HUEDeviceKueche" data-get="state" class="cell"></div></div>
                    <div class="center"><div data-type="label" class="small">Deckenlampe</div>
                  </div>
            </li>

             <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Kinderzimmer BEN</div></br>
                <div class="center">
                   <div data-type="symbol"
                         data-device="Fensterkontakt.Ben"
                         data-get-on='["geöffnet","geschlossen"]'
                         data-icons='["ftui-window warn","ftui-window"]'
                         data-on-colors='["#aa6900","#555"]'
                         class="narrow big"></div>
                         
                </div>
                   <div class="center">

                  <div data-type="switch" data-device="KuecheLED" data-get="state" class="cell"></div></div>

                   <div class="center"> <div data-type="label"  class="small">Unterschrank LED</div>
                 </div>


                <div class="center">
                    <div data-type="switch" data-device="Stehlampe" class="cell"></div></div>
                    <div class="center"><div data-type="label" class="small">Stehlampe</div>
                  </div>
            </li>
             <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Kinderzimmer Julia</div></br>
                <div class="center">
                   <div data-type="symbol"
                         data-device="Fensterkontakt.Julia"
                         data-get-on='["geöffnet","geschlossen"]'
                         data-icons='["ftui-window warn","ftui-window"]'
                         data-on-colors='["#aa6900","#555"]'
                         class="narrow big"></div>
                         
                </div>
                   <div class="center">

                  <div data-type="switch" data-device="KuecheLED" data-get="state" class="cell"></div></div>

                   <div class="center"> <div data-type="label"  class="small">Unterschrank LED</div>
                 </div>


                <div class="center">
                    <div data-type="switch" data-device="Stehlampe" class="cell"></div></div>
                    <div class="center"><div data-type="label" class="small">Stehlampe</div>
                  </div>
            </li>
            <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Badezimmer</div></br>
                <div class="center">
                  <div class="cell">
                  <div data-type="label" class="cell">Temperatur</div>
                  <div data-type="label"
                  data-device="LaCrosse_14"
                  data-get="temperature"
                  data-fix="0"
                  data-unit=" °C"
                  class="big"></div>
              </br>
        <div data-type="label" class="cell">Luftfeuchte</div>
        <div data-type="label" data-device="LaCrosse_14" data-get="humidity" data-fix="0" data-unit="%" class="big"></div>
                    </div>     
                </div>
                   
            </li>
            <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Sonstige</div></br>
                 <div class="container">
          <div class="center">
            <div class="cell">
              <div data-type="label" class="small">CO&sup2; Belastung</div>
              <div data-type="label"
                   data-device="NetatmoInnenSensor"
                   data-get="co2"
                   data-fix="0"
                   data-unit=" ppm"
                   
                   data-limits="[0, 600, 1000, 1180, 1800, 2250]"
                   data-colors='["green","yellowgreen","greenyellow","yellow","orange","red"]'></div></br>
              <div data-type="label" class="small">Luftfeuchte</div>
              <div data-type="label"
                    data-device="Wohnzimmer.Wandthermostat"
                    data-get="humidity"
                    data-fix="0"
                    data-unit="%"
                    ></div></br>
              <div data-type="label" class="small">Lärm</div>
              <div data-type="label"
                    data-device="NetatmoInnenSensor"
                    data-get="noise"
                    data-fix="0"
                    data-unit=" dB"
                    ></div>     
           </div>
          </div>
    </div>

<div class="cell"><br>
  <div data-type="label" class="small">Außentemperatur</div>
<div data-type="label"
                            data-device="netatmo_M02:XXXXXXXXX"
                            data-get="temperature"
                            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
                            data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
                            data-unit="°C"
                            class="inline cell big"></div></center>
    <center><div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="6"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="3"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
   
   class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="2"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="1"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"
></div></div>

</li>
       
<li>
  <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Stromverbrauch</div></br>
<div data-type="label" class="cell normal">akt. Verbr.</div>
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="actual"
             data-unit=" kWh"
             data-fix="1"
             class="cell large">
        </div>
       
        <div data-type="label" class="cell normal">Tagesverbrauch</div>
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="day"
             data-unit=" kWh"
             data-fix="1"
             class="cell large">
        </div>
         
          <div data-type="label" class="cell normal">Gestern</div>
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="day_last"
             data-unit=" kWh"
             data-fix="0"
             class="cell large">
        </div>
         
          <div data-type="label" class="cell normal">Monatsverbrauch</div>     
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="month"
             data-unit=" kWh"
             data-fix="0"
             class="cell large">
        </div>
         
          <div data-type="label" class="cell normal">Vormonat</div>
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="month_last"
             data-unit=" kWh"
             data-fix="0"
             class="cell large">
        </div>
       
        <div data-type="label" class="cell normal">Jahresverbrauch</div>
        <div data-type="label"
             data-device="ESAx000WZ_5242"
             data-get="year"
             data-unit=" kWh"
             data-fix="0"
             class="cell large">
        </div>     
</li> 
  <li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Wetter</div></br>

                <div class="container weather">
           
           </div>

<table border="0px" width="100%">       
  <tr>
    <td class="A2"><center><div data-type="label"
             data-device="MyWeather"
             data-get="fc0_date"></div></center></td>

    <td class="B2"><center><div data-type="label" class="inline small"><big>↑</big><small>&nbsp;&nbsp;Sonne:&nbsp;&nbsp;&nbsp;&nbsp;</small><br></div>
     <div data-type="label"
             data-device="Sonnenaufgang"
             data-get="state"></div></center></td>
    <td class="C2"><center><div data-type="label" class="inline small"><big>↓</big><small>&nbsp;&nbsp;Sonne:&nbsp;&nbsp;&nbsp;&nbsp;</small><br></div>
    <div data-type="label"
             data-device="Sonnenuntergang"
             data-get="state"></div></center></td>
    <td class="D2"><center><div data-type="label" class="inline small"><small>Sichtweite:</small><br></div>
                    <div data-type="symbol"
                        data-icon="fa-binoculars"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        class="inline"
                        style="font-size:1em"></div>
                        <div data-type="label"
                            data-device="MyWeather"
                            data-get="visibility"
                            data-unit=" km"
                            class="inline"></center></td>
   
  </tr>
  <tr>
    <td class="tg-031e"><div data-type="label"><small><center>Temperatur<br></center></small></div>
        <center><div data-type="label"
                            data-device="netatmo_M02:XXXXXXXXXX"
                            data-get="temperature"
                            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
                            data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
                            data-unit="°C"
                            class="inline cell big"></div></center>
    <center><div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="6"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="3"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
   
   class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="2"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:XXXXXXXXX"
    data-get="statTemperatureTendency"
    data-refperiod="1"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"
></div></center>

</td>
    <td class="tg-031e" colspan="2" rowspan="2">
       <center> <div data-type="weather"
             data-device="MeinWetter"
             data-get="condition"
             style="font-size:250%">
        </div>
           
        <div data-type="label"
             data-device="MeinWetter"
             data-get="fc1_condition">
         </div>


     </center>
     </td>
    <!-- <td class="tg-031e">C3</td>-->
    <td><center><div data-type="wind_direction"
                            data-device="MyWeather"
                            data-get="windDir"
                            data-part="2"
                           
                            data-size="75"
                            data-tickstep="45"></div>   
    </center></td>
</tr>
<tr>
    <td class="tg-031e"><div data-type="label"><small><center>Feuchtigkeit</center></small></div>
        <center><div data-type="label"
             data-device="netatmo_M02:XXXXXXXX"
             data-get="humidity"
             data-limits="[0,40,60]"
             data-colors='["#9999ff","#aa6900","#ff6900"]'
             data-unit=" %"
             class="inline cell big">
         </div>
    <td class="tg-031e">
        <center><div data-type="label"><small>Wind</small><br></div>
    <div data-type="label"
             data-device="MyWeather"
             data-get="wind"
             data-unit=" km/h"
             data-limits="[0,        19,       28,       38,       49,       74,       102,      117]"
             data-colors='["#ffffff","#dddddd","#aa6900","#aa6900","#ff9999","#ff6666","#ff3333","#ff0000"]'
             style="display:inline"
             class="inline">
         </div>
   
</center>
    </td>
</tr>
<tr>
    <td class="C5"><center><div data-type="label" class="inline"><small>&nbsp;&nbsp;&nbsp;Tageswerte&nbsp;&nbsp;&nbsp;<br></small></div>
          <br>↓
            <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_tempMin"
             data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
             data-unit=" °C"
             class="inline">
         </div>↑
         <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_tempMax"
             data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
             data-unit=" °C"
             class="inline">
        </div></center>
    </td>
    <td class="A5"><center><div data-type="label" class="inline"><small>UV-Index<br></small></div>
<div data-type="label"
             data-device="MyWeather"
             data-get="fc0_uv"
             data-limits="[0,4,7]"
             data-colors='["green","orange","red"]'
              class="inline">
         </div>
</center>
    </td>
    <td class="B5"><center><div data-type="label" class="inline"><small>Regenrisiko<br></small></div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRainDay"
              data-unit=" %"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#32AD4F","#3AAB2C","green","green","green","#F6AA1D","green","green","green","green","#F6451D"]'
              class="inline">
         </div></center></td>       
    <td class="D5"><center><div data-type="label" class="inline"><small><br>Luftdruck<br></small></div>
<div data-type="label"
                            data-device="MyWeather"
                            data-get="pressure"
                            data-unit=" hPa"
                            data-limits="[0,950,1000]"
                            data-colors='["#ff9999","#aa6900","#9999ff"]'></div>
                         <div data-type="label"
                            data-device="MeinWetter"
                            data-get="pressure_trend_sym"
                            class="inline"></div></center>
                    </td>
</tr>
<!-- Ergänzung -->
<!-- <tr><td>&nbsp;</td></tr> -->
<tr>
    <td class="E1" colspan="4" rowspan="1">
    <div data-type="label" class="inline"><center><small>Regenrisiko</small></center></div></td>
   
</tr>
<tr><td><center><div data-type="symbol"
                        data-icon="font1-droplet"
                        data-on-color="#0099FF"
                        data-off-color="#0099FF"
                        class="inline"
                        style="font-size:3em"></div></center>
</td>
    <td class="F1"><!-- <center>0 Uhr<br>3 Uhr<br>6 Uhr<br>9 Uhr</center></td> -->
     <small><div data-type="label" class="inline">0 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain00"
              data-unit="%"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">3 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain03"
              data-unit="%"
            data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">6 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain06"
              data-unit="%"
                    data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">9 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain09"
              data-unit="%"
                    data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div></small>
     </td>
     <td>
        <small><div data-type="label" class="inline">12 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain12"
              data-unit="%"
                   data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
<div data-type="label" class="inline">15 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain15"
              data-unit="%"
                  data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>

<div data-type="label" class="inline">18 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain18"
              data-unit="%"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 31 August 2016, 23:47:35
hallo bjoernbo

super, herzlichen Dank!!! Leider ist nicht der ganze Code drauf. Beim Wetter wurde es abgetrennt und die letzte Seite (temperaturen) fehlt gänzlich. Kannst du dies noch ergänzen? Danke.

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 01 September 2016, 06:06:58
ohhh, ok. Hier nochmal alles ab "Wetter"

<li>   
                <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Wetter</div></br>

                <div class="container weather">
           
           </div>

<table border="0px" width="100%">       
  <tr>
    <td class="A2"><center><div data-type="label"
             data-device="MyWeather"
             data-get="fc0_date"></div></center></td>

    <td class="B2"><center><div data-type="label" class="inline small"><big>↑</big><small>&nbsp;&nbsp;Sonne:&nbsp;&nbsp;&nbsp;&nbsp;</small><br></div>
     <div data-type="label"
             data-device="Sonnenaufgang"
             data-get="state"></div></center></td>
    <td class="C2"><center><div data-type="label" class="inline small"><big>↓</big><small>&nbsp;&nbsp;Sonne:&nbsp;&nbsp;&nbsp;&nbsp;</small><br></div>
    <div data-type="label"
             data-device="Sonnenuntergang"
             data-get="state"></div></center></td>
    <td class="D2"><center><div data-type="label" class="inline small"><small>Sichtweite:</small><br></div>
                    <div data-type="symbol"
                        data-icon="fa-binoculars"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        class="inline"
                        style="font-size:1em"></div>
                        <div data-type="label"
                            data-device="MyWeather"
                            data-get="visibility"
                            data-unit=" km"
                            class="inline"></center></td>
   
  </tr>
  <tr>
    <td class="tg-031e"><div data-type="label"><small><center>Temperatur<br></center></small></div>
        <center><div data-type="label"
                            data-device="netatmo_M02xxxxxxxxx"
                            data-get="temperature"
                            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
                            data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
                            data-unit="°C"
                            class="inline cell big"></div></center>
    <center><div data-type="klimatrend"
    data-device="netatmo_M02:xxxxxxxx"
    data-get="statTemperatureTendency"
    data-refperiod="6"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02xxxxxxx"
    data-get="statTemperatureTendency"
    data-refperiod="3"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
   
   class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:xxxxxxxx"
    data-get="statTemperatureTendency"
    data-refperiod="2"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"></div>
    <div data-type="klimatrend"
    data-device="netatmo_M02:0xxxxxx"
    data-get="statTemperatureTendency"
    data-refperiod="1"
    data-stagnating-color="rgb(80,80,80)"
    data-icon="fa-angle"
    data-rising-color="rgb(180,80,80)"
    data-falling-color="rgb(80,80,180)"
    data-highmark="1"
    data-highmark-icon="fa-angle-double"
    data-highmark-rising-color="rgb(255,80,80)"
    data-highmark-falling-color="rgb(80,80,255)"
    class="inline"
></div></center>

</td>
    <td class="tg-031e" colspan="2" rowspan="2">
       <center> <div data-type="weather"
             data-device="MeinWetter"
             data-get="condition"
             style="font-size:250%">
        </div>
           
        <div data-type="label"
             data-device="MeinWetter"
             data-get="fc1_condition">
         </div>


     </center>
     </td>
    <!-- <td class="tg-031e">C3</td>-->
    <td><center><div data-type="wind_direction"
                            data-device="MyWeather"
                            data-get="windDir"
                            data-part="2"
                           
                            data-size="75"
                            data-tickstep="45"></div>   
    </center></td>
</tr>
<tr>
    <td class="tg-031e"><div data-type="label"><small><center>Feuchtigkeit</center></small></div>
        <center><div data-type="label"
             data-device="netatmo_M02:xxxxxxx"
             data-get="humidity"
             data-limits="[0,40,60]"
             data-colors='["#9999ff","#aa6900","#ff6900"]'
             data-unit=" %"
             class="inline cell big">
         </div>
    <td class="tg-031e">
        <center><div data-type="label"><small>Wind</small><br></div>
    <div data-type="label"
             data-device="MyWeather"
             data-get="wind"
             data-unit=" km/h"
             data-limits="[0,        19,       28,       38,       49,       74,       102,      117]"
             data-colors='["#ffffff","#dddddd","#aa6900","#aa6900","#ff9999","#ff6666","#ff3333","#ff0000"]'
             style="display:inline"
             class="inline">
         </div>
   
</center>
    </td>
</tr>
<tr>
    <td class="C5"><center><div data-type="label" class="inline"><small>&nbsp;&nbsp;&nbsp;Tageswerte&nbsp;&nbsp;&nbsp;<br></small></div>
          <br>↓
            <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_tempMin"
             data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
             data-unit=" °C"
             class="inline">
         </div>↑
         <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_tempMax"
             data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
             data-unit=" °C"
             class="inline">
        </div></center>
    </td>
    <td class="A5"><center><div data-type="label" class="inline"><small>UV-Index<br></small></div>
<div data-type="label"
             data-device="MyWeather"
             data-get="fc0_uv"
             data-limits="[0,4,7]"
             data-colors='["green","orange","red"]'
              class="inline">
         </div>
</center>
    </td>
    <td class="B5"><center><div data-type="label" class="inline"><small>Regenrisiko<br></small></div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRainDay"
              data-unit=" %"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#32AD4F","#3AAB2C","green","green","green","#F6AA1D","green","green","green","green","#F6451D"]'
              class="inline">
         </div></center></td>       
    <td class="D5"><center><div data-type="label" class="inline"><small><br>Luftdruck<br></small></div>
<div data-type="label"
                            data-device="MyWeather"
                            data-get="pressure"
                            data-unit=" hPa"
                            data-limits="[0,950,1000]"
                            data-colors='["#ff9999","#aa6900","#9999ff"]'></div>
                         <div data-type="label"
                            data-device="MeinWetter"
                            data-get="pressure_trend_sym"
                            class="inline"></div></center>
                    </td>
</tr>
<!-- Ergänzung -->
<!-- <tr><td>&nbsp;</td></tr> -->
<tr>
    <td class="E1" colspan="4" rowspan="1">
    <div data-type="label" class="inline"><center><small>Regenrisiko</small></center></div></td>
   
</tr>
<tr><td><center><div data-type="symbol"
                        data-icon="font1-droplet"
                        data-on-color="#0099FF"
                        data-off-color="#0099FF"
                        class="inline"
                        style="font-size:3em"></div></center>
</td>
    <td class="F1"><!-- <center>0 Uhr<br>3 Uhr<br>6 Uhr<br>9 Uhr</center></td> -->
     <small><div data-type="label" class="inline">0 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain00"
              data-unit="%"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">3 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain03"
              data-unit="%"
            data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">6 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain06"
              data-unit="%"
                    data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">9 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain09"
              data-unit="%"
                    data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div></small>
     </td>
     <td>
        <small><div data-type="label" class="inline">12 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain12"
              data-unit="%"
                   data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
<div data-type="label" class="inline">15 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain15"
              data-unit="%"
                  data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>

<div data-type="label" class="inline">18 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain18"
              data-unit="%"
              data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
         <div data-type="label" class="inline">21 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_chOfRain21"
              data-unit="%"
                 data-limits="[0,          10,         20,    30,      40,     50,     60,     70,     80,     90,       100]"
              data-colors='["#A3FD97","#3AAB2C","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#9ACD32","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div></small></td>
    <td>&nbsp;</td> 

</tr>
<!--Ergänzung Temperaturverlauf -->
<!-- <tr><td>&nbsp;</td></tr>-->
<tr>
    <td class="F1" colspan="4" rowspan="1">
    <div data-type="label" class="inline"><center><small>Temperaturverlauf</small></center></div></td>
   
</tr>
<tr><td><center><div data-type="symbol"
                        data-icon="font1-stats-dots"
                        data-on-color="#FF9900"
                        data-off-color="#FF9900"
                        class="inline"
                        style="font-size:3em"></div></center></td>
    <td class="F1"><!-- <center>0 Uhr<br>3 Uhr<br>6 Uhr<br>9 Uhr</center></td> -->
     <small><div data-type="label" class="inline">0 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp00"
              data-unit="°C"
     data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">3 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp03"
              data-unit="°C"
       data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">6 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp06"
             data-unit="°C"
            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
        <div data-type="label" class="inline">9 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp09"
             data-unit="°C"
             data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div></small>
     </td>
     <td>
        <small><div data-type="label" class="inline">12 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp12"
           data-unit="°C"
            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
<div data-type="label" class="inline">15 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp15"
              data-unit="°C"
            data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>

<div data-type="label" class="inline">18 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp18"
              data-unit="°C"
          data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div><br>
         <div data-type="label" class="inline">21 Uhr</div>
        <div data-type="label"
             data-device="MyWeather"
             data-get="fc0_temp21"
             data-unit="°C"
         data-limits="[-20,-15,-10,-5,0,5,10,15,20,25,30,35]"
             data-colors='["#483D8B","#1874CD","#9AC0CD","#CAE1FF","#F5FFFA","#98FB98","#9ACD32","#FFA500","#FF4500","#FF3030","#EE2C2C","#8B1A1A"]'
              style="display:inline">
         </div></small></td>
    <td>&nbsp;</td> 
</tr>   
</table>

  </li> 
<li>
  <div data-type="label" class="small">&nbsp;&nbsp;</div>
                <div data-type="label" class="big">Zimmertemperaturen</div></br>
<div class="col-1-5">
      <div data-type="range" data-device="Wohnzimmer.Wandthermostat"
           data-high="measured-temp" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Wohnzi.</div>
      <div data-type="label"
      data-device="Wohnzimmer.Wandthermostat"
      data-get="measured-temp"
      class="small"></div>
    </div>
    <div class="col-1-5">
      <div data-type="range" data-device="Schlafzimmer.Wandthermostat"
           data-high="measured-temp" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Schlafzi.</div>
      <div data-type="label"
      data-device="Schlafzimmer.Wandthermostat"
      data-get="measured-temp"
      class="small"></div>
    </div>
    <div class="col-1-5">
      <div data-type="range" data-device="HM_3CDC88_Clima"
           data-high="measured-temp" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Bad</div>
      <div data-type="label"
      data-device="HM_3CDC88_Clima"
      data-get="measured-temp"
      class="small"></div>
    </div>
    <div class="col-1-5">
      <div data-type="range" data-device="Ben.Wandthermostat"
           data-high="measured-temp" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Ben</div>
      <div data-type="label"
      data-device="Ben.Wandthermostat"
      data-get="measured-temp"
      class="small"></div>
    </div>
    <div class="col-1-5">
      <div data-type="range" data-device="Julia.Wandthermostat"
           data-high="measured-temp" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Julia</div>
      <div data-type="label"
      data-device="Julia.Wandthermostat"
      data-get="measured-temp"
      class="small"></div>
    </div>
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 01 September 2016, 11:58:35
@bjoernbo: Vielen Dank auch von mir!  :)

Bin nun auch fleißig am basteln und werde dann meine Ergebnisse auch hier veröffentlichen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: phil82 am 01 September 2016, 20:42:53
Hallo zusammen,

ich bin vermutlich auf einen Bug gestoßen. Und zwar in Verbindung mit "slideout"- und "push"-Widget.

Wenn auf der Hauptseite mit dem slideout ein "push"-Widget verwendet wird und gleichzeitig auf der direkt geladenen Unterseite ebenfalls ein "push"-Widget verwendet wird, dann wird beim Betätigen des "push"-Widget auf der Unterseite das Ereignis / Set-Befehl zweimal ausgeführt.

Ich hab recht lange gebraucht um die Fehlersituation nachzustellen bzw. die Konstellation zu finden. Der Fall lässt sich sicher aber relativ einfach mit den mitgelieferten Beispielen nachstellen.

1. Die index_nav_mobil.html um einen Push-Device erweitern. Im Grunde egal wo, am besten im Header-Tag:
        <header id="header-nav" class="bg-lightgray row">

<div data-type="push" data-device="WebRadio" data-icon="fa-step-backward" data-set-on="Prev" class="inline" ></div>

         <div data-type="slideout" class="col-1-8 big center-align notouch"></div>
         <div id="linkname" class="col-3-6 large bold center-align middle"></div>
         <div data-type="symbol" data-icon="fa-bell" data-device="dummy2" data-get-on="on.*" data-get-off="off" class="col-1-6 right-align big black"></div>
         <div data-type="symbol" data-device="dummy1" data-icon="ftui-window" class="col-1-6 big warn"></div>
        </header>


2. Im Browser die index_nav_mobil.html mit der Sound-Unterseite direkt aufrufen. (nicht über das Menü)
http://xxxxxxxx:8083/fhem/tablet_eval/index_nav_mobil.html#content_sounds.html (http://xxxxxxxx:8083/fhem/tablet_eval/index_nav_mobil.html#content_sounds.html)

3. Jetzt bei Radio den "Next" Button klicken und "set WebRadio Next" wird zweimal abgesetzt.

Eigenartik oder?

Der Fall tritt auch auf, wenn die Unterseite als Default gesetzt ist.
Betrifft auch das "switch"-Widget. Mehr hab ich bisher nicht getestet.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 02 September 2016, 16:09:14
Hey Bjoernbo,
Wirklich tolle Seiten hast du gebaut! Ich konnte schon das eine oder andere anwenden!! Herzlichen Dank.
2Fragen:
- woher erhälst du von Netatmo den visibilitäts-Wert? Bei meinem Netatmo-Forecast habe ich kein solcher Wert?

- die Temperatuseite habe ich bei mir in eine Tabelle vergangenen packt, da ohne Swiper-Wiget die Darstellung unter- statt nebeneinander aufgeführt wird. Nun stellt es mir aber die Farbe nicht schön im schwarz dar, siehe Anlage. Weisst du wieso?

Danke nochmals!

Lg c
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 02 September 2016, 17:27:51
@ choetzu: zu 1) ich vermische auf meiner Wetter-Seite unterschiedliche Werte von unterschiedlichen Geräten. Es ist eine Mischung aus NETATMO und MyWeather. An welcher Stelle meinst Du genau.

zu2) kann ich leider gar nichts sagen! sorry da muss ich passen :-/
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 02 September 2016, 17:32:48
2. schau ich mir an. Da ist zwischen hellem und dunklem Thema etwas zu korrigieren.

Lass mir mal deine helle Seite zukommen, dann geht das schneller.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 02 September 2016, 17:39:07
Zitat von: bjoernbo am 02 September 2016, 17:27:51
@ choetzu: zu 1) ich vermische auf meiner Wetter-Seite unterschiedliche Werte von unterschiedlichen Geräten. Es ist eine Mischung aus NETATMO und MyWeather. An welcher Stelle meinst Du genau.

diese Stelle:     <td class="D2"><center><div data-type="label" class="inline small"><small>Sichtweite:</small><br></div>
                    <div data-type="symbol"
                        data-icon="fa-binoculars"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        class="inline"
                        style="font-size:1em"></div>
                        <div data-type="label"
                            data-device="MyWeather"
                            data-get="visibility"
                            data-unit=" km"
                            class="inline"></center></td>

Aber der Wert ist vermutlich von MyWeather.. Ich dachte, dass dies evtl. der Name eines deiner Netatmo-Geräte oder -Forecast wäre.. Hat sich somit erledigt, danke...

Zitat von: setstate am 02 September 2016, 17:32:48
2. schau ich mir an. Da ist zwischen hellem und dunklem Thema etwas zu korrigieren.

Lass mir mal deine helle Seite zukommen, dann geht das schneller.

sehr gerne, here we go....

<!DOCTYPE html>
<html>
<head></head>
<body>
    <div class="page" id="content5">

  <div data-type="label" class="small">&nbsp;&nbsp;</div>
        <div data-type="label" class="big">Temperaturen</div></br>

<table align="center">
<tr>

<td width="100">
      <div data-type="range" data-device="netatmo_M02"
           data-high="temperature" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Aussen</div>
      <div data-type="label"
      data-device="netatmo_M02"
      data-get="temperature"
      class="small"></div>
    </td>
   
    <td width="100">
      <div data-type="range" data-device="PoolController"
           data-high="Pool" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Pool</div>
      <div data-type="label"
      data-device="PoolController"
      data-get="Pool"
      class="small"></div>
    </td>
   
    <td width="100">
      <div data-type="range" data-device="netatmo_M03"
           data-high="temperature" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Wohnzimmer</div>
      <div data-type="label"
      data-device="netatmo_M03"
      data-get="temperature"
      class="small"></div>
    </td>
   
    <td width="100">
      <div data-type="range" data-device="netatmo_D70"
           data-high="temperature" data-width="17"
           data-max="30" data-min="10" data-height="180"
           data-limit-low="17" data-limit-high="23"
           data-color-low="blue" data-color="green" data-color-high="red" class=""></div>
         </br>
      <div class="small">Schlafzimmer</div>
      <div data-type="label"
      data-device="netatmo_D70"
      data-get="temperature"
      class="small"></div>
    </td>
    </tr>
    </table>
</div>

</body>
</html>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 02 September 2016, 23:26:37
Range Thema ist erledigt. Es war nur ein fehlendes left: 0;
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 03 September 2016, 01:37:12
hi,
hab vieles getestet und alles OK.
Wann kommt V2.2 als "normales" Update? und nicht als eval?
LG Christian F
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 03 September 2016, 09:58:52
Zitat von: christian-ruh am 03 September 2016, 01:37:12
hi,
hab vieles getestet und alles OK.
Wann kommt V2.2 als "normales" Update? und nicht als eval?
LG Christian F

Könnte man mal dieses WE tun ...

Ich werde sonst nie fertig, weil immer etwas zu ändern ist.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: SofB am 03 September 2016, 13:11:33
Das waere super... die Frage wollte ich naemlich auch schon stellen.
Ich wollte mein TabletUI naemlich mal endlich "overhaulen" und das am liebsten schon mit der neuen Version :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 05 September 2016, 21:08:14
Zitat von: phil82 am 01 September 2016, 20:42:53
Wenn auf der Hauptseite mit dem slideout ein "push"-Widget verwendet wird und gleichzeitig auf der direkt geladenen Unterseite ebenfalls ein "push"-Widget verwendet wird, dann wird beim Betätigen des "push"-Widget auf der Unterseite das Ereignis / Set-Befehl zweimal ausgeführt.

Ich hab recht lange gebaucht um die Fehlersituation nachzustellen bzw. die Konstellation zu finden. Der Fall läst sicht sicher aber relativ einfach mit den mitgelieferten Beispielen nachstellen.

1. Die index_nav_mobil.html um einen Push-Device erweitern. Im Grunde egal wo, am besten im Header-Tag:
        <header id="header-nav" class="bg-lightgray row">

<div data-type="push" data-device="WebRadio" data-icon="fa-step-backward" data-set-on="Prev" class="inline" ></div>

         <div data-type="slideout" class="col-1-8 big center-align notouch"></div>
         <div id="linkname" class="col-3-6 large bold center-align middle"></div>
         <div data-type="symbol" data-icon="fa-bell" data-device="dummy2" data-get-on="on.*" data-get-off="off" class="col-1-6 right-align big black"></div>
         <div data-type="symbol" data-device="dummy1" data-icon="ftui-window" class="col-1-6 big warn"></div>
        </header>


2. Im Browser die index_nav_mobil.html mit der Sound-Unterseite direkt aufrufen. (nicht über das Menü)
http://xxxxxxxx:8083/fhem/tablet_eval/index_nav_mobil.html#content_sounds.html (http://xxxxxxxx:8083/fhem/tablet_eval/index_nav_mobil.html#content_sounds.html)

3. Jetzt bei Radio den "Next" Button klicken und "set WebRadio Next" wird zweimal abgesetzt.

Tatsache! Das sieht nach einem essenzielle Problem aus.
Danke für die ausführliche Anleitung zum Reproduzieren.
Ich schaue mir das jetzt ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 September 2016, 07:18:10
Problem der doppelten Widgets gefunden und geändert.

Ursache war: Der Content der Sub-Pages muss warten bis die Main-Frame geladen und initialisiert wurde. Ansonsten, wenn die Content-Widget auch sofort geladen werden, werden sie zweimal initialisiert. Einmal beim "initWidgets" der Hauptseite und dann nochmal beim "initWidgets", das nach dem Laden der Unterseite gerufen wird.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: ext23 am 06 September 2016, 08:28:22
Guten Morgen,

eine Frage. Mit der eval Version sollte es doch besser werden mit dem Laden der Widgets, kann das jemand bestätigen? Weil ich habe nach wie vor das Problem, das einige Widgets nicht mit Inhalt gefüllt werden, erst nach einem Refresh.

Auf dem PC läuft es, aber da geht es natürlich sowieso auch flüssiger als auf meinem Tab.

/Daniel
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 September 2016, 22:01:41
Diese Version ist jetzt komplett in den Hauptzweig gemerged

Die 1.5 Version ist nur noch als Zip verfügbar

https://github.com/knowthelist/fhem-tablet-ui/archive/v1.5.1.zip
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Luigi am 06 September 2016, 22:16:42
Hallo,

funktioniert eigentlich progress control mittels 'on-for-timer' in einem circlemenu?

Gruß
Luigi
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Amenophis86 am 07 September 2016, 08:01:19
Zitat von: setstate am 06 September 2016, 22:01:41
Diese Version ist jetzt komplett in den Hauptzweig gemerged

Das heißt, wenn ich aktuell noch eine andere Version (1.X) habe und nun ein update über FHEM mache, dass alles automatisch auf 2.2 geändert wird und auch funktionieren sollte?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 September 2016, 08:40:29
Zitat von: Amenophis86 am 07 September 2016, 08:01:19
Das heißt, wenn ich aktuell noch eine andere Version (1.X) habe und nun ein update über FHEM mache, dass alles automatisch auf 2.2 geändert wird und auch funktionieren sollte?

Ja, genau so.

Garantie gibt es aber nicht. Besonders wenn die HTMLs noch aus den Anfangszeiten sind, kann es vereinzelt zu Problemen kommen. Dann sollte man sich die Beispielsseiten ansehen bezüglich minimaler Header, relative Pfadangaben und benutzte CSS Klassen.
Ein Rollbackplan wäre sinnvoll. Man kann sich zum Beispiel seine alte Dateien dann aus dem FHEM Backup wieder zurück holen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Amenophis86 am 07 September 2016, 10:26:31
Top, vielen Dank für die Antwort. Ich bin gespannt :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Esjay am 07 September 2016, 21:19:02
Nabend zusammen.
Ich habe mal eine Frage bezüglich des Akkuverbrauches. Ich nutze die Tablet Ui auf einem Ipad 3, und wenn ich das Netzteil nicht angeschlossen habe,hält der Akku vll 20 Stunden. Ich kann mir denken,dass das normal ist,dachte aber ich frage einfach mal nach,nicht das es an meinen Html künsten liegt.
Grüße
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 September 2016, 21:30:06
viel CPU, und damit Akku, wird nur verbraucht, wenn rechenintensive CSS Klassen  benutzt werden. z.B. rotate oder shake
Ansonsten passiert nur beim Laden etwas, und dann wird nur noch Strom für das Display verbraucht. Außer, du hast andere Hintergrundaktivitäten laufen, die Akku fressen.

Ich habe mein 0815 Android Tablet per Dauerstrom am Netzteil laufen. 24/7
ich weiß, der Akku könnte explodieren. Ist aber bis jetzt noch nicht passiert ...

Wenn HomeStatus != 1 (Schlafen oder Abwesend oder Urlaub), dann schalte ich die Displayhelligkeit per WebViewControl auf Minimum. Wenn jemand da ist, dann auf Normalhell.
Titel: Evaluierungsversion 2.2
Beitrag von: xsasx am 07 September 2016, 21:34:12
So ich mach nun auch mal mit bei der 2.2 die erste Seite ist fertig aber leider auf meinem Galaxy tab 2 mit 7 Zoll viel zu groß! An welchem schrauben muss ich denn wie drehen um das anzupassen? Als Browser nutze ich den Fully Full Screen hier aus dem Forum- sorry für die eventuelle noob Frage !
Laut Herstellerseite ist die Auflösung
Display: Auflösung, 1.024 x 600 Pixel ( 128:75)

Danke im Voraus
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 September 2016, 21:53:35
Zitat von: xsasx am 07 September 2016, 21:34:12
So ich mach nun auch mal mit bei der 2.2 die erste Seite ist fertig aber leider auf meinem Galaxy tab 2 mit 7 Zoll viel zu groß! An welchem schrauben muss ich denn wie drehen um das anzupassen? Als Browser nutze ich den Fully Full Screen hier aus dem Forum- sorry für die eventuelle noob Frage !

Danke im Voraus!

Wenn du ein Layout mit Gridster benutzt (der Standard), musst man an der Basisgröße drehen


    <meta name="widget_base_width" content="77">
    <meta name="widget_base_height" content="71">


Dann hat eine Kachel mit der Größe 1x1 genau diese Größe.

Die Gesamtgröße (Breite / Höhe) ergibt sich dann aus der Anzahl der Spalten und Reihen MAL der Basisgröße

Position und Breite der Kachel per

<li data-row="1" data-col="2" data-sizex="11" data-sizey="9">
    <div> ... </div>
</li>


Rand Anpassung
<meta name="widget_margin" content="4">

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 07 September 2016, 21:56:42
Zitat von: setstate am 07 September 2016, 21:53:35
Wenn du ein Layout mit Gridster benutzt (der Standard), musst man an der Basisgröße drehen


    <meta name="widget_base_width" content="77">
    <meta name="widget_base_height" content="71">


Dann hat eine Kachel mit der Größe 1x1 genau diese Größe.

Die Gesamtgröße (Breite / Höhe) ergibt sich dann aus der Anzahl der Spalten und Reihen MAL der Basisgröße

Position und Breite der Kachel per

<li data-row="1" data-col="2" data-sizex="11" data-sizey="9">
    <div> ... </div>
</li>


Rand Anpassung
<meta name="widget_margin" content="4">


Danke wo find ich diese Einstellung ? In einer der CSS in meiner index.html hab ich da nix stehen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 September 2016, 22:04:03
in der HTML Seite

So sollte ein HTML Header für die 2.2 minimal aussehen


<head>
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="77">
    <meta name="widget_base_height" content="71">
    <meta name="widget_margin" content="4">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content=""> <!-- verbose level 1-6 = output to console;0 = not output -->


    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>
Titel: Evaluierungsversion 2.2
Beitrag von: xsasx am 07 September 2016, 22:07:36
Super danke - verstanden und gefunden ! Wenn jetzt mein Display: Auflösung, 1.024 x 600 Pixel ( 128:75) hat wie rechne ich dann richtig ? Mit den 77 & 71 oder ist das just Try?
Edit: habe 10 Reihen das heist ich Rechne 10*71 um auf 600 zukommen? (Bzw muss anpassen auf 10*60)? Richtig ?

Habe 11 Spalten 1024/11 ergibt 93 kann ja nicht sein wenn 77 drin steht und es viel zu breit ist
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 September 2016, 22:21:10
je nach Geschmack ...

Ich bin eher der Try&Fail Typ. An Anzahl der Spalten und Basisbreite drehen, bis es passt. Macht man ja nur einmal pro Device.
Man kann es auch exakt berechnen, wenn man will.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 08 September 2016, 08:11:54
Perfekt habs auch mit try & error gemacht - ging recht fix und passt nun sehr gut - nun gehts weiter mim füllen! Vielen Dank
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: TWART016 am 08 September 2016, 09:07:48
Wie macht ihr es mit den Seiten? Pro Device, pro Auflösung?

Über einen Link oder ein eigenes Device in FHEM?


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oggy am 08 September 2016, 10:01:19
Ich mach es bei mir getrennt nach Smartphone und Tablet. Ich verwende einfach 2 index-Dateien mit unterschiedlichen Einstellungen. Auf dem Homescreen liegt dann jeweils der Link zur richtigen Index-Datei, welcher dann mit "Fully" geöffnet wird.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Amenophis86 am 08 September 2016, 12:23:41
Zitat von: xsasx am 08 September 2016, 08:11:54
Perfekt habs auch mit try & error gemacht - ging recht fix und passt nun sehr gut - nun gehts weiter mim füllen! Vielen Dank

Habe das gleiche Tablet. Welche Werte hast du genommen, dann muss ich es nicht versuchen :)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 08 September 2016, 12:54:14
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="85">
<meta name="widget_base_height" content="46,5">
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 08 September 2016, 14:25:19
So weiter im Text und ich find den orig thread nimmer :( Irgenwer hatte so schicke Photshop tablet bilder gepostet mit so einer ganz schichten UI - hab es mal versucht nachzubauen auch mit einer vorlage von hier - die erste Seite ist Top aber die 2 bekomm ich die content seit nicht komplett in diesem schicken grün. Bei der ersten Seite habe ich jedem li eine background color zugewiesen. Das ist aber bei der 2. Seite die für mein Sonos funktionieren soll zu umständlich - wenn ich den body grün mache wird der bg in der einze seite angezeigt aber nicht in der inkludierten mit kopf und fuß - es wäre doch viel einfacher die inkludierten seiten immer grün zu machen als background aber das bekomme ich nicht hin- hier mal ein screen wo ich zumindes die oberen li´s mit einem style versehen hab.

Edit: Hab auch schon versucht über alles ein div mit bg color zu legen aber dann verhauts mir alles :( bin etwas ratlos - wenn ihr irgendwelche fileauszüge braucht gerne melden!

Hier mal noch der Code der Seite:

<!DOCTYPE html>
<html>


<head>
</head>
<body>


<div class="page" id="content2">
<div class="gridster">




<ul>

<!-- ********************** Start Sonos 1 ************************************ -->

<li data-row="2" data-col="1" data-sizex="3" data-sizey="3" style="background-color:#11d597">
<div data-type="label" class="bottom big thin">Wohnzimmer</div>
<div data-type="image" data-device="Sonos_Wohnzimmer" data-get="currentAlbumArtURL" data-size="60%"></div>
  <div data-type="label" class="" data-device="Sonos_Wohnzimmer" data-get="infoSummarize1"></div><br>
  <div data-type="label" class="small darker narrow" data-device="Sonos_Wohnzimmer" data-get="infoSummarize3"></div>


<div class="container bottom">
    <div class="cell narrow top-space small">
        <div data-type="push" data-device="Sonos_Wohnzimmer"
             data-icon="fa-step-backward" data-background-icon="-"
             data-set="Previous" class="inline">
        </div> 
<div data-type="switch" data-device="Sonos_Wohnzimmer"
            data-icon="fa-stop"
            data-set-on="Stop" data-set-off="Play" data-get-on="STOPPED" data-get-off="PLAYING|PAUSED_PLAYBACK" data-get="transportState"
            class="inline" >
        </div>
<div data-type="switch" data-device="Sonos_Wohnzimmer"
            data-icon="fa-play"
            data-set-on="Play" data-set-off="Pause" data-get-on="PLAYING" data-get-off="PAUSED_PLAYBACK|STOPPED" data-get="transportState"
            class="inline" >
        </div>
        <div data-type="push" data-device="Sonos_Wohnzimmer"
             data-icon="fa-step-forward" data-background-icon="-"
             data-set="Next" class="inline">
        </div>
    </div>

         
    <div class="container cell">
      <div class="small inline">
          <div data-type="switch"
              data-get="Mute" data-get-on="1" data-get-off="0"
                              data-set-on="Mute 1" data-set-off="Mute 0"
              data-icon="fa-volume-off"
              data-device="Sonos_Wohnzimmer"
              class="left alignslider"></div>
  <!--
  -->           
          <div data-type="slider"
            data-device="Sonos_Wohnzimmer"
            data-get="Volume"
            data-set="Volume"
            class="horizontal left"></div>

      <div data-type="push"
              data-set="VolumeU"
              data-icon="fa-volume-up"
              data-background-icon="-"
              data-device="Sonos_Wohnzimmer"
              class="left alignslider"></div>
      </div>
    </div>

    <div class="cell top-narrow">        
      <div data-type="select" data-device="Sonos_Wohnzimmer" data-items='["DASDING","Ibiza.Global.Radio","bigFM","DIE.NEUE.107.7","ENERGY","SWR3","Soundcloud"]' data-set="startFavourite" class="inline top-space"></div>                 
    </div>

<div data-type="label" class="top-space" data-device="Sonos_Wohnzimmer" data-get="infoSummarize2"></div><br>

  </div>
         
</li>
       

<!-- ********************** END Sonos 1 ************************************ -->



<!-- ********************** Start Sonos 2 ************************************ -->






</li>

<li data-row="2" data-col="4" data-sizex="3" data-sizey="3" style="background-color:#11d597">
<div data-type="label" class="bottom big thin">Kueche</div>

<div data-type="image" data-device="Sonos_Kueche" data-get="currentAlbumArtURL" data-size="60%"></div>
  <div data-type="label" class="" data-device="Sonos_Kueche" data-get="infoSummarize1"></div><br>
  <div data-type="label" class="small darker narrow" data-device="Sonos_Kueche" data-get="infoSummarize3"></div>

<div class="container bottom">
    <div class="cell narrow top-space small">
        <div data-type="push" data-device="Sonos_Kueche"
             data-icon="fa-step-backward" data-background-icon="-"
             data-set="Previous" class="inline">
        </div> 
<div data-type="switch" data-device="Sonos_Kueche"
            data-icon="fa-stop"
            data-set-on="Stop" data-set-off="Play" data-get-on="STOPPED" data-get-off="PLAYING|PAUSED_PLAYBACK" data-get="transportState"
            class="inline" >
        </div>
<div data-type="switch" data-device="Sonos_Kueche"
            data-icon="fa-play"
            data-set-on="Play" data-set-off="Pause" data-get-on="PLAYING" data-get-off="PAUSED_PLAYBACK|STOPPED" data-get="transportState"
            class="inline" >
        </div>
        <div data-type="push" data-device="Sonos_Kueche"
             data-icon="fa-step-forward" data-background-icon="-"
             data-set="Next" class="inline">
        </div>
    </div>

         
    <div class="container cell">
      <div class="small inline">
          <div data-type="switch"
              data-get="Mute" data-get-on="1" data-get-off="0"
                              data-set-on="Mute 1" data-set-off="Mute 0"
              data-icon="fa-volume-off"
              data-device="Sonos_Kueche"
              class="left alignslider"></div>
  <!--
  -->           
          <div data-type="slider"
            data-device="Sonos_Kueche"
            data-get="Volume"
            data-set="Volume"
            class="horizontal left"></div>

      <div data-type="push"
              data-set="VolumeU"
              data-icon="fa-volume-up"
              data-background-icon="-"
              data-device="Sonos_Kueche"
              class="left alignslider"></div>
      </div>
    </div>

    <div class="cell top-narrow">        
      <div data-type="select" data-device="Sonos_Kueche" data-items='["DASDING","Ibiza.Global.Radio","bigFM","DIE.NEUE.107.7","ENERGY","SWR3","Soundcloud"]' data-set="startFavourite" class="inline top-space"></div>                 
    </div>

<div data-type="label" class="top-space" data-device="Sonos_Kueche" data-get="infoSummarize2"></div><br>

  </div>
         
</li>
           

<!-- ********************** END Sonos 2 ************************************ -->


<!-- ********************** Start Sonos 3 ************************************ -->

</li>

<li data-row="2" data-col="7" data-sizex="3" data-sizey="3" style="background-color:#11d597">
<div data-type="label" class="bottom big thin">Bad</div>
<div data-type="image" data-device="Sonos_Bad" data-get="currentAlbumArtURL" data-size="60%"></div>
  <div data-type="label" class="" data-device="Sonos_Bad" data-get="infoSummarize1"></div><br>
  <div data-type="label" class="small darker narrow" data-device="Sonos_Bad" data-get="infoSummarize3"></div>



<div class="container bottom">
    <div class="cell narrow top-space small">
        <div data-type="push" data-device="Sonos_Bad"
             data-icon="fa-step-backward" data-background-icon="-"
             data-set="Previous" class="inline">
        </div> 
<div data-type="switch" data-device="Sonos_Bad"
            data-icon="fa-stop"
            data-set-on="Stop" data-set-off="Play" data-get-on="STOPPED" data-get-off="PLAYING|PAUSED_PLAYBACK" data-get="transportState"
            class="inline" >
        </div>
<div data-type="switch" data-device="Sonos_Bad"
            data-icon="fa-play"
            data-set-on="Play" data-set-off="Pause" data-get-on="PLAYING" data-get-off="PAUSED_PLAYBACK|STOPPED" data-get="transportState"
            class="inline" >
        </div>
        <div data-type="push" data-device="Sonos_Bad"
             data-icon="fa-step-forward" data-background-icon="-"
             data-set="Next" class="inline">
        </div>
    </div>

         
    <div class="container cell">
      <div class="small inline">
          <div data-type="switch"
              data-get="Mute" data-get-on="1" data-get-off="0"
                              data-set-on="Mute 1" data-set-off="Mute 0"
              data-icon="fa-volume-off"
              data-device="Sonos_Bad"
              class="left alignslider"></div>
  <!--
  -->           
          <div data-type="slider"
            data-device="Sonos_Bad"
            data-get="Volume"
            data-set="Volume"
            class="horizontal left"></div>

      <div data-type="push"
              data-set="VolumeU"
              data-icon="fa-volume-up"
              data-background-icon="-"
              data-device="Sonos_Bad"
              class="left alignslider"></div>
      </div>
    </div>

    <div class="cell top-narrow">        
      <div data-type="select" data-device="Sonos_Bad" data-items='["DASDING","Ibiza.Global.Radio","bigFM","DIE.NEUE.107.7","ENERGY","SWR3","Soundcloud"]' data-set="startFavourite" class="inline top-space"></div>                 
    </div>

<div data-type="label" class="top-space" data-device="Sonos_Bad" data-get="infoSummarize2"></div><br>

  </div>




<!-- ********************** END Sonos 3 ************************************ -->
<!-- ********************** Sonos 4 ************************************ -->





</li>



<li data-row="2" data-col="10" data-sizex="3" data-sizey="3" style="background-color:#11d597">
<div data-type="label" class="bottom big thin">Schlafzimmer</div>
<div data-type="image" data-device="Sonos_Schlafzimmer" data-get="currentAlbumArtURL" data-size="60%"></div>
  <div data-type="label" class="" data-device="Sonos_Schlafzimmer" data-get="infoSummarize1"></div><br>
  <div data-type="label" class="small darker narrow" data-device="Sonos_Schlafzimmer" data-get="infoSummarize3"></div>

<div class="container bottom">
    <div class="cell narrow top-space small">
        <div data-type="push" data-device="Sonos_Schlafzimmer"
             data-icon="fa-step-backward" data-background-icon="-"
             data-set="Previous" class="inline">
        </div> 
<div data-type="switch" data-device="Sonos_Schlafzimmer"
            data-icon="fa-stop"
            data-set-on="Stop" data-set-off="Play" data-get-on="STOPPED" data-get-off="PLAYING|PAUSED_PLAYBACK" data-get="transportState"
            class="inline" >
        </div>
<div data-type="switch" data-device="Sonos_Schlafzimmer"
            data-icon="fa-play"
            data-set-on="Play" data-set-off="Pause" data-get-on="PLAYING" data-get-off="PAUSED_PLAYBACK|STOPPED" data-get="transportState"
            class="inline" >
        </div>
        <div data-type="push" data-device="Sonos_Schlafzimmer"
             data-icon="fa-step-forward" data-background-icon="-"
             data-set="Next" class="inline">
        </div>
    </div>

         
    <div class="container cell">
      <div class="small inline">
          <div data-type="switch"
              data-get="Mute" data-get-on="1" data-get-off="0"
                              data-set-on="Mute 1" data-set-off="Mute 0"
              data-icon="fa-volume-off"
              data-device="Sonos_Schlafzimmer"
              class="left alignslider"></div>
  <!--
  -->           
          <div data-type="slider"
            data-device="Sonos_Schlafzimmer"
            data-get="Volume"
            data-set="Volume"
            class="horizontal left"></div>

      <div data-type="push"
              data-set="VolumeU"
              data-icon="fa-volume-up"
              data-background-icon="-"
              data-device="Sonos_Schlafzimmer"
              class="left alignslider"></div>
      </div>
    </div>

    <div class="cell top-narrow">        
      <div data-type="select" data-device="Sonos_Schlafzimmer" data-items='["DASDING","Ibiza.Global.Radio","bigFM","DIE.NEUE.107.7","ENERGY","SWR3","Soundcloud"]' data-set="startFavourite" class="inline top-space"></div>                 
    </div>

<div data-type="label" class="top-space" data-device="Sonos_Schlafzimmer" data-get="infoSummarize2"></div><br>

  </div>




</li>




















</li>
</div>
</div>


</body>

</html>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Piejay am 08 September 2016, 18:57:57
Hallo,

nachdem ich das Update gemacht habe, werden die Seiten nicht mehr automatisch aktualisiert, ich muss im Browser 1 bzw. 2 mal auf Aktualisieren drücken.
Auch kommt dann die Meldung: Longpoll startet.

In der Html ist Longpoll auf 1 gesetzt, wie auch im Fhem - WEB.

Hat jemand eine Idee, wo in den tiefen nach ein Haken fehlt ?

Vor dem Update war alles gut

Gruß Peter
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 08 September 2016, 21:42:44
Zitat von: Luigi am 06 September 2016, 22:16:42
Hallo,

funktioniert eigentlich progress control mittels 'on-for-timer' in einem circlemenu?

Gruß
Luigi

Ich habe da mal probiert.
Push-Buttons in einem vertikalen Menu, jeweils mit unterschiedlichen on-for-timer


<li data-row="6" data-col="1" data-sizex="3" data-sizey="4">
    <header>CIRCLEMENU-TIMER</header>
    <!-- place your widget here -->
    <div data-type="circlemenu" data-direction="vertical" data-circle-radius="50" class="noshade top-space">
        <ul>
          <li><div class="hbox"><div data-type="push" data-device="MyLamp" data-icon="fa-clock-o"></div><div class="left-space">MyLamp</div></div></li>
          <li><div class="hbox"><div data-type="push" data-device="MyLamp" data-icon="fa-clock-o" data-set-on="on-for-timer 600" ></div><div class="left-space">10min</div></div></li>
          <li><div class="hbox"><div data-type="push" data-device="MyLamp" data-icon="fa-clock-o" data-set-on="on-for-timer 1200" ></div><div class="left-space">20min</div></div></li>
          <li><div class="hbox"><div data-type="push" data-device="MyLamp" data-icon="fa-clock-o" data-set-on="on-for-timer 1800" ></div><div class="left-space">30min</div></div></li>
          <li><div class="hbox"><div data-type="push" data-device="MyLamp" data-icon="fa-clock-o" data-set-on="on-for-timer 2400" ></div><div class="left-space">40min</div></div></li>
        </ul>
    </div>
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 08 September 2016, 21:47:28
Das sieht gut aus. Danke!

schöne Grüße
Jo

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 09 September 2016, 09:20:36
@setstate:

Kurze Frage bzw. ein Problem. Ich habe ein Widget geschrieben bzw. bin ich dabei, welches es ermöglicht meine Heizungswochenprogramme zu ändern/zu pflegen. Das Widget ist auf einer Unterseite,
die über Pagebutton aufgerufen wird integriert (zusammen mit anderen Widgets, die zu meinem Heizungsdevice auch einige Dinge anzeigen (Labels, Spinner, etc.). Nun habe ich das Problem, dass
wenn ich auf die Eigenschaften des Devices aus meinem Widget zugreifen will, diese undefined sind, da es scheinbar keine Daten von FHEM abholt (beim initiieren). Wenn ich in die Liste der initiierten Devices
schaue, sind dort nur die Devices aus meiner Startrahmen geladen bzw. stehen zur Verfügung. Ich versuche hier u.a. über getDeviceParameter oder getReading an die Daten zu kommen, die dann
aber leer sind. Wenn ich sehr lange warte und/oder etliche Reloads und Seitenwechsel durchführe ist das Device auf einmal da und ich kann sowohl alle Daten als auch mein Widget nutzen.

Muss ich ggf. irgendetwas besonderes beachten oder den Device-Load/Refresh irgendwie aktiv triggern oder für die DeviceStates registrieren? Ich denke dies ist erst seit einigen Update von Anfang August an so, vorher hatte ich dieses Problem nicht. Ich bin auf dem aktuellen Eval-Stand.

h3ll
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 September 2016, 09:45:05
Ein Event bei Readingsänderung abonnierst du im Widget in der init Funktion mit

this.addReading(elem,'limits-get');

In der update Funktion fragst du den aktuellen Wert dann mit folgendem ab

var myVal = elem.getReading('limits-get').val;
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: h3llsp4wn am 09 September 2016, 09:49:43
Danke für die superschnelle Rückmeldung. Ich war schon fast auf dem richtigen Weg  :)

Dein Support ist wie immer Spitze!
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 September 2016, 09:53:06
Danke

Schau dir auch das Beispiel für Widgets an

www/tablet/js/widget_example.js
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: l2r am 09 September 2016, 10:36:49
Zitat von: setstate am 08 September 2016, 21:42:44
Ich habe da mal probiert.
Push-Buttons in einem vertikalen Menu, jeweils mit unterschiedlichen on-for-timer
Zitat von: setstate am 08 September 2016, 21:42:44

funktioniert das auch mit Switch-Buttons?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 September 2016, 11:30:18
Nein, diese Funktionalität hat Switch nicht implementiert. Macht logisch auch keinen Sinn für mich. Was wäre deine Anforderung?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: l2r am 09 September 2016, 13:12:56
ich habe einen switch-button für meinen Rasensprenger. Den kann ich manuell an und aus schalten. Beim Anschalten wir ein "on-for-timer 3600" abgesetzt und beim ausschalten ein "off"
Wäre dann schön zu sehen, wie die Zeit beim on-for-timer weniger wird, man müsste aber halt weiterhin die Möglichkeit haben jederzeit durch ein weiteres drucken des Buttons den Sprenger wieder abzuschalten.

Gruß Michael
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 09 September 2016, 13:42:26
Da muss ich nochmal in mich gehen ...
Probleme: Switch on und laufender Countdown habe die gleiche Farbe.

Edit: die Hintergrundfarbe kann man ja ändern :-)

Ich probiere das mal aus...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: l2r am 09 September 2016, 15:53:31
Perfekt, ich bin mal gespannt
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Depechem am 10 September 2016, 00:26:31
Hi, die FTUI 2.2 wurde ja nun automatisch übernommen.
Ich kann es mir beim besten Willen nicht vorstellen und gehe daher davon aus, dass bei mir noch etwas falsch ist!?
Das Chart Widget sowie das Widget readingsgroup funktioniert seitdem nicht mehr. Aber du wirst doch die neue Version nicht freigegeben haben ohne der Implementierung dieser Widgets oder!?

Ich hoffe ihr könnt mir weiterhelfen.
Viele Grüße Thomas
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 10 September 2016, 09:35:57
Zitat von: xsasx am 08 September 2016, 14:25:19
So weiter im Text und ich find den orig thread nimmer :( Irgenwer hatte so schicke Photshop tablet bilder gepostet mit so einer ganz schichten UI - hab es mal versucht nachzubauen auch mit einer vorlage von hier - die erste Seite ist Top aber die 2 bekomm ich die content seit nicht komplett in diesem schicken grün. Bei der ersten Seite habe ich jedem li eine background color zugewiesen. Das ist aber bei der 2. Seite die für mein Sonos funktionieren soll zu umständlich - wenn ich den body grün mache wird der bg in der einze seite angezeigt aber nicht in der inkludierten mit kopf und fuß - es wäre doch viel einfacher die inkludierten seiten immer grün zu machen als background aber das bekomme ich nicht hin- hier mal ein screen wo ich zumindes die oberen li´s mit einem style versehen hab.

Edit: Hab auch schon versucht über alles ein div mit bg color zu legen aber dann verhauts mir alles :( bin etwas ratlos - wenn ihr irgendwelche fileauszüge braucht gerne melden!

...

Für eine umfassende Farb-Schema Änderung, muss man eine fertige Schema CSS einbinden oder solch eine kopieren und diese nach seinen Wünschen anpassen. Leider habe ich fertige Farb-Schematas noch nicht so richtig im Angebot. Anbei mal ein erster Versuch

Einzubinden mit
<link rel="stylesheet" href="css/ftui-bright-mint-ui.css" />
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 10 September 2016, 09:41:38
Wird der eval-branch eigentlich weiter gepflegt oder sollte ich zurück wechseln?

schöne Grüße
Jo

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 10 September 2016, 09:43:35
Zitat von: setstate am 09 September 2016, 13:42:26
Da muss ich nochmal in mich gehen ...
Probleme: Switch on und laufender Countdown habe die gleiche Farbe.

Edit: die Hintergrundfarbe kann man ja ändern :-)

Ich probiere das mal aus...

Bei hellem Hintergrund und blauem Vordergrund sieht ein Switch mit Countdown-Ring ganz gut aus, oder?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 10 September 2016, 09:46:09
Sieht super aus!

schöne Grüße
Jo

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 10 September 2016, 10:06:32
Dunkel ist auch machbar ...
Ich werde das mal im Switch nutzbar machen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: l2r am 10 September 2016, 12:15:54
Sauber
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 10 September 2016, 12:44:17
Wird der eval-branch eigentlich weiter gepflegt oder sollte ich zurück wechseln?

schöne Grüße
Jo
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 10 September 2016, 12:48:29
Zitat von: Jojo11 am 10 September 2016, 12:44:17
Wird der eval-branch eigentlich weiter gepflegt oder sollte ich zurück wechseln?

schöne Grüße
Jo
wechseln. eval wurde doch sogar gelöscht, so wie ich seh^^
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 10 September 2016, 12:53:04
Super, danke!

schöne Grüße
Jo

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 10 September 2016, 21:42:11
Hallo,

ich hab noch ein Problem mit dem settimer-widget. (Funktion selber ist gegeben, Timerzeiten einstellen, starten, stoppen etc.). Allerdings wird in der Anzeige nach dem Setzen des Timers anstatt die eingestellt Zeit/bzw. der Wert des readings nicht angezeigt, sondern nur zwei Ausrufezeichen.
Definition ist simpel gehalten, die Readings (timer_run und timer_set) liegen im Format HH:MM vor.

<div data-type="settimer"
    data-device="Dummy_Timer"
    data-get="timer_run"
    data-set="timer_set"
    data-cmd="setreading"
    data-set-off="00:00">
    </div>


Hat jemand eine Idee wo das Problem liegt ?

Gruß
Roman

p.s.installiert ist die neueste Version von https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 11 September 2016, 10:55:15
Guten Morgen zusammen,

ich stehe mal wieder vor einem Problem und kriege wahrscheinlich die einfachste Sache nicht hin, die Uhrzeit und das Datum anzuzeigen.

Die Uhr an sich habe ich in Fhem erstellt und die wird dort auch angezeigt.

define clock dummy
define clock_update at +*00:00:05 { fhem("set clock $hms") }
attr clock_update alignTime 00:00


In der Tablet UI wird mir nur die die Beschreibung Uhrzeit angezeigt, jedoch nicht das die Uhrzeit/Datum.


<!DOCTYPE html>
<html>
<head></head>
<body>
        <div class="page" id="content1">
        <section>
                <div class="large col-1-3 left-align">Uhrzeit</div>
                <div class="col-2-3 right-align">
                        <div data-type="clock"
                                data-format="H:i"
                                data-interval="1000"
                                class="">
                        </div>
                        <div data-type="clock"
                                data-format="d.m.Y"
                                data-shortday-length="2"
                                class="">
                        </div>
                </div> 
        </section>
        </div>
</body>
</html>


Hat jemand evtl. einen Tipp für mich wo mein Denkfehler ist?

Mikka
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 11 September 2016, 10:57:21
Da gibt es ein widget für. Schau mal ins wiki.
https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/clock

schöne Grüße
Jo
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 11 September 2016, 11:05:29
Hallo Jojo11,

danke für deine schnelle Antwort.
Das clock widget von nesges habe ich nach Anleitung installiert, es befindet sich (hoffentlich) an der richtigen stelle "/opt/fhem/www/tablet/js/widget_clock.js".

Die Uhrzeit wollte ich in der Datei content_home.html anzeigen lassen.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Jojo11 am 11 September 2016, 11:10:34
Hast Du evtl in deiner index.html was falsch eingebunden? Sehe hier auf dem Handy evtl nicht alles.

schöne Grüße
Jo

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 11 September 2016, 11:15:05
Zitat von: setstate am 09 September 2016, 13:42:26
Da muss ich nochmal in mich gehen ...
Probleme: Switch on und laufender Countdown habe die gleiche Farbe.

Edit: die Hintergrundfarbe kann man ja ändern :-)

Ich probiere das mal aus...

Ist ab sofort verfügbar. Alle Button/Switch/Push können jetzt for-on-timer

    <div class="row">
        <div class="col-1-3">
            <div>1 Minutes</div>
        </div>
        <div class="col-1-3">
            <div data-type="push" data-device="PowerAV_Sw" data-set-on="on-for-timer 60" ></div>
            <div>Push</div>
        </div>
        <div class="col-1-3">
            <div data-type="switch" data-device="PowerAV_Sw" data-set-on="on-for-timer 60" ></div>
            <div>Switch</div>
        </div>
    </div>
    <div class="row top-space">
        <div class="col-1-3">
            <div>2 Minutes</div>
        </div>
        <div class="col-1-3">
            <div data-type="push" data-device="PowerAV_Sw" data-set-on="on-for-timer 120" ></div>
            <div>Push</div>
        </div>
        <div class="col-1-3">
            <div data-type="switch" data-device="PowerAV_Sw" data-set-on="on-for-timer 120" ></div>
            <div>Switch</div>
        </div>
    </div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 11 September 2016, 11:21:00
Zitat von: Mikka am 11 September 2016, 11:05:29
Hallo Jojo11,

danke für deine schnelle Antwort.
Das clock widget von nesges habe ich nach Anleitung installiert, es befindet sich (hoffentlich) an der richtigen stelle "/opt/fhem/www/tablet/js/widget_clock.js".

Die Uhrzeit wollte ich in der Datei content_home.html anzeigen lassen.

Die Widgets in Github von nesges sind nicht mehr lauffähig im aktuellen TabletUI. Clock ist aber nun auch im aktuellen Main Repo schon mit enthalten.

Ich nutze es in der vertikalen Menü-Leiste ganz unten:


                <div class="absolute bottom bottom-space-2x">
                   <div data-type="clock" data-format="H:i" class="large"></div>
                   <div data-type="clock" data-format="d.n.Y" class="small"></div>
                </div>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 11 September 2016, 11:28:24
Hallo setstate,

ok dann war das Widget clock bereits drin. Danke für dein Beispiel. Das funktioniert bei mir auch irgendwie nicht, es wird keine Uhrzeit angezeigt. Da ist also irgendwo noch woanders der Wurm drin  >:(
Ich probiere noch ein paar Sachen aus, dann melde ich mich wieder.

Nachtrag: Die definition der Uhr in der Datei content_xyz.html ist aber schon richtig?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 11 September 2016, 11:38:49
Zitat von: Roman am 10 September 2016, 21:42:11
Hallo,

ich hab noch ein Problem mit dem settimer-widget. (Funktion selber ist gegeben, Timerzeiten einstellen, starten, stoppen etc.). Allerdings wird in der Anzeige nach dem Setzen des Timers anstatt die eingestellt Zeit/bzw. der Wert des readings nicht angezeigt, sondern nur zwei Ausrufezeichen.
Definition ist simpel gehalten, die Readings (timer_run und timer_set) liegen im Format HH:MM vor.

<div data-type="settimer"
    data-device="Dummy_Timer"
    data-get="timer_run"
    data-set="timer_set"
    data-cmd="setreading"
    data-set-off="00:00">
    </div>


Hat jemand eine Idee wo das Problem liegt ?

Gruß
Roman

p.s.installiert ist die neueste Version von https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt

Ich kenne mich mit dem settimer widget nicht so aus (ist ursprünglich von nesges), aber im Code finde ich das


                    var running = elem.getReading('running-get').val;
                    if(running==elem.data('running-get-on')) {
                        hour = min = '!';
                    }


Sieht so aus, dass das ! gezeigt wird, wenn der Timer als RUNNING erkannt wird.
data-running-get hat das Reading, der den Running Status anzeigt und mit data-running-get-on gibt man an, welcher Wert in diesem Reading RUNNING bedeutet.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Roman am 11 September 2016, 20:27:50
Hallo setstate,

danke für die Info, settimer arbeitet also so wie es vorgesehen ist :). Wenn ich das richtig verstanden habe, wird das Ausrufezeichen immer angezeigt, wenn der Status 'running' erkannt wird.i
Ich bin davon ausgegangen, dass der Wert von 'data-get' immer angezeigt wird

Ich hab mir jetzt noch ein Reading gebaut mit dem ich mir die Restlaufzeit anzeigen lasse, das passt auch recht gut.

Gruß
Roman
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 12 September 2016, 08:38:49
Zitat von: setstate am 10 September 2016, 09:35:57
Für eine umfassende Farb-Schema Änderung, muss man eine fertige Schema CSS einbinden oder solch eine kopieren und diese nach seinen Wünschen anpassen. Leider habe ich fertige Farb-Schematas noch nicht so richtig im Angebot. Anbei mal ein erster Versuch

Einzubinden mit
<link rel="stylesheet" href="css/ftui-bright-mint-ui.css" />

@setstate

erstmal vielen dank das du mir helfen willst.

Habe es nun mal eingefügt in die index.html da es in der subpage (in dem fall sonos.html) gar nicht mit reingenommen wurde laut firebug.

Nun ist es also in der Index.html (die sub pages werden dann in den frame mit reingenommen somit index.html#sonos.html

Leider passiert leider absolut nichts und im FireBug steht folgendes wenn ich mir die CSS anzeigen lassen:

There are no rules in this stylesheet.

Zusätzliches Problem : Alle OA Icons werden nur als vertikaler schmaler strich angezeigt :(



Titel: Antw:Evaluierungsversion 2.2
Beitrag von: xsasx am 13 September 2016, 08:25:23
Danke setstate hab es nun mit dem background hinbekommen - hab einfach in der main css den body background geändert- eine einbindung von dem bsp. CSS tut nicht kommt immernoch der Fehler:

There are no rules in this stylesheet.

Aber viel wichtiger und das ist eventuell ein Bug sind die OA Icons - diese trag ich ein und es kommt nur ein Strich wie im screenshot.

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: choetzu am 14 September 2016, 20:47:07
seit ich nach dem Update meine index_mobile.html von /ftui-eval in /ftui verschoben habe, scrollt bei mir die Seite nicht mehr flüssig. Ich habe auch den Header neu angepasst.. Nützt leider nix.

Mein aktueller Header
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="widget_base_width" content="74">
    <meta name="widget_base_height" content="71">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="gridster_disable" content="1">
    <meta name="longpoll" content="1"> <!-- 1=longpoll;0=shortpoll every 30sec -->
    <meta name="debug" content="2"> <!-- verbose level 1-6 = output to console;0 = not output -->
    <meta http-equiv="Cache-Control" content="no-store" />

    <link rel="stylesheet" href="lib/jquery.gridster.min.css" />
    <link rel="stylesheet" href="css/fhem-tablet-ui.css" />
    <link rel="stylesheet" href="css/fhem-mobil-ui.css" />
    <link rel="stylesheet" href="lib/font-awesome.min.css" />
    <link rel="stylesheet" href="lib/jquery.toast.min.css" />

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

    <script src="../pgm2/jquery.min.js"></script>
    <script src="lib/jquery.toast.min.js"></script>
    <script src="lib/jquery.gridster.min.js"></script>
    <script src="js/fhem-tablet-ui.js" defer></script>


Weiter liest es mir mein fhem-mobil-ui-custom.css im Ordner /css nicht ... Z.B. übernimmt es nicht die Boarder=0 bei section nicht.

hier meine css
body {
width: auto;
margin: 4px;
}


section{
    border-bottom: 0px solid #888;
    padding-top: 2px;
    padding-bottom: 2px;
}

.uline{
    border-bottom: 1px solid #888;
}


[data-type="symbol"].tiny, [data-type="multistatebutton"].tiny,
[data-type="switch"].tiny, [data-type="button"].tiny,
[data-type="push"].tiny, [data-type="pagebutton"].tiny {
    font-size: 100% !important;
}

iconlefty {
margin-left: -12px;
}

textlefty {
margin-left: -12px;
}

valuelefty {
margin-left: 7px;
}


.gridster ul li {
    border-radius:6px;
}

.slider_vertical, .level_vertical{
    margin:10px auto 20% !important;
    padding: 0px !important;
}


weiss jemand rat.. ??
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 14 September 2016, 20:53:32
Hallo, ich frag nun einfach hier nochmal nach (bitte nicht böse sein für das Doppelpost).
Wird es in absehbarer Zeit das svgplot widget angepasst für die neue Version 2.2 geben?
Wäre mir wichtig da ich die Charts (chart, simplechart und highchart) nicht so konfigurieren kann wie ich das möchte und all meine 41 Übersichten mit svgplot eingebunden sind.
Danke für Infos.
LG Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 14 September 2016, 22:27:55
Zitat von: christian-ruh am 14 September 2016, 20:53:32
..
Wird es in absehbarer Zeit das svgplot widget angepasst für die neue Version 2.2 geben?
...

Ich habe svgplot mal schnell konvertiert. Ich hoffe es spielt wie vorher
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 15 September 2016, 06:48:31
Wow, danke,
werde es heut Abend gleicht testen und berichten.
Muss ich da dann noch was nachinstallieren oder anpassen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 15 September 2016, 06:55:41
Nur ein Update TabletUI mit:
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt
machen
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: eki am 15 September 2016, 07:47:19
Zitat von: christian-ruh am 14 September 2016, 20:53:32
Hallo, ich frag nun einfach hier nochmal nach (bitte nicht böse sein für das Doppelpost).
Wird es in absehbarer Zeit das svgplot widget angepasst für die neue Version 2.2 geben?
Wäre mir wichtig da ich die Charts (chart, simplechart und highchart) nicht so konfigurieren kann wie ich das möchte und all meine 41 Übersichten mit svgplot eingebunden sind.
Danke für Infos.
LG Christian

Wenn Du mir sagst, was beim chart nicht so geht wie Du es möchtest, könnte ich mal schauen. Vielleicht hilft das ja auch anderen, selbst wenn Du, was ich verstehe, nicht alle 41 Plots umstellen willst (ich hatte mir schon mal überlegt etwas ins chart einzubauen womit man die plot Konfigurationen direkt aus svgplot übernehmen kann, aber bin bisher noch nicht dazu gekommen).
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 15 September 2016, 17:08:39
Hallo setstate,
funktioniert :-)
Allerdings noch nicht mit dem Plot als Farbverlauf (in FHEM: IOfill_gyr) sondern in rot.
Aber das ist sicher nur noch eine Kleinigkeit.

Gruß Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 15 September 2016, 17:08:58
Hallo eki,
bei chart fehlt die Möglichkeit der 24 Stunden Anzeige und die Statuszeile über dem Plot.
Auch den Farbverlauf (in FHEM: IOfill_gyr) bekomme ich nicht hin.
Und die Änderung alles Charts ist natürlich arbeit. Würd ich aber evtl. in Kauf nehmen wenn obiges funktioniert.
Schönen Tag noch.
Gruß Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oeiber am 16 September 2016, 00:21:35
Hallo zusammen,

mir ist aufgefallen, dass beim Select-Widget von FTUI 2.2 das Pfeil-Symbol außerhalb der Box wandert, sobald man Class w1x oder w2x verwendet.
Vielleicht mache ich auch was falsch....

Danke für Eure Hilfe!

LG
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 16 September 2016, 07:47:21
Zitat von: oeiber am 16 September 2016, 00:21:35
Hallo zusammen,

mir ist aufgefallen, dass beim Select-Widget von FTUI 2.2 das Pfeil-Symbol außerhalb der Box wandert, sobald man Class w1x oder w2x verwendet.
Vielleicht mache ich auch was falsch....

Danke für Eure Hilfe!

LG

Ich glaube, es hängt davon ab, in welchem Container das Widget selbst steckt. In ein Gridster <li> gepackt, funktioniert es.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: eki am 16 September 2016, 08:06:47
Zitat von: christian-ruh am 15 September 2016, 17:08:58
Hallo eki,
bei chart fehlt die Möglichkeit der 24 Stunden Anzeige und die Statuszeile über dem Plot.
Auch den Farbverlauf (in FHEM: IOfill_gyr) bekomme ich nicht hin.
Und die Änderung alles Charts ist natürlich arbeit. Würd ich aber evtl. in Kauf nehmen wenn obiges funktioniert.
Schönen Tag noch.
Gruß Christian

Hallo Christian,

das mit den 24 Stunden hatten wir ja schon mal in einem anderen Thread besprochen, das war für Dich ja OK. Zur Statuszeile (falls Du Überschriften mit Zusatzinfos wie Mittelwert etc. meinst) das geht auch schon (siehe data-title im Wiki). Nach dem Farbverlauf habe ich geschaut. Du muss nur folgende Zeile:


.ftui.l0fill_gyr { stroke:red; fill:url(#gr0_gyr); stroke-width:2px; fill-opacity:0.8 }
text.ftui.l0fill_gyr { stroke:none; fill:red; }


in ftui_chart.css einfügen, dann sollte es klappen (vorausgesetzt Du meinst l0fill_gyr und nicht IOfill_gyr).
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 16 September 2016, 14:26:50
Hi eki,
Du bist ja klasse! :)
So geht das. Das Wiki nochmal genau gelesen und data-title angepasst.
Zeilen ins css reinkopiert (ist das beim nächsten update wieder weg?)
Schaut schon fast so aus wie ich das haben möchte.
Vielen vielen Dank dafür.
Gruß Christian
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: phil82 am 16 September 2016, 19:13:10
Zitat von: setstate am 06 September 2016, 07:18:10
Problem der doppelten Widgets gefunden und geändert.

Ursache war: Der Content der Sub-Pages muss warten bis die Main-Frame geladen und initialisiert wurde. Ansonsten, wenn die Content-Widget auch sofort geladen werden, werden sie zweimal initialisiert. Einmal beim "initWidgets" der Hauptseite und dann nochmal beim "initWidgets", das nach dem Laden der Unterseite gerufen wird.

Besten Dank für die Korrektur. Funktioniert prima.
Hab erst jetzt gestehen, dass das korrigiert wurde.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Shadow3561 am 16 September 2016, 20:02:19
Moin,
Habe ein Problem mit meiner Abfall-Visualisierung.
Seit der Version 2.2 werden die Icons nicht mehr angezeigt und ich habe keine Ahnung wie ich das Problem lösen kann.
Vielleicht hat ja jemand von euch einen Rat.

Anbei ein Bild und der entsprechende Teil der Datei.

</li>
<li data-row="3" data-col="3" data-sizex="4" data-sizey="2">
  <header><div data-type="label" class="medium orange">Abfall</div></header>
        <div class="cell">
            <div class="left left-space small">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-square-o"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Papier"
                    data-off-color="blue"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Papier alarm done"
                    data-on-colors='["blue","blue","blue"]'
                    class="">
                </div>
                <div data-type="label" data-device="abfall_Papier" class="darker"></div>
            </div>
            <div class="left wider small">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-square-o"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Restabfall"
                    data-off-color="grey"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-trash","fa-trash warn","fa-trash warn blink"]'
                    data-fhem-cmd="setreading abfall_Restabfall alarm done"
                    data-on-colors='["grey","grey","grey"]'
                    class="">
                </div>
                <div data-type="label" data-device="abfall_Restabfall" class="darker"></div>
            </div>
            <div class="left wider small">
                <div
                    data-type="pagebutton"
                    data-background-icon="fa-sqare-o"
                    data-off-background-color="#7A7A7A"
                    data-on-background-color="#7A7A7A"
                    data-device="abfall_Leichtverpackungen"
                    data-off-color="yellow"
                    data-get="alarm"
                    data-get-on='["off","warn|done","blink"]'
                    data-icons='["fa-recycle","fa-recycle warn","fa-recycle warn blink"]'
                    data-fhem-cmd="setreading abfall_Leichtverpackungen alarm done"
                    data-on-colors='["yellow","yellow","yellow"]'
                    class="">
                </div>
                <div data-type="label" data-device="abfall_Leichtverpackungen" class="darker"></div>
            </div>
         
   
</li>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grafkox am 16 September 2016, 21:49:59
Zitat von: Shadow3561 am 16 September 2016, 20:02:19
Moin,
Habe ein Problem mit meiner Abfall-Visualisierung.
Seit der Version 2.2 werden die Icons nicht mehr angezeigt und ich habe keine Ahnung wie ich das Problem lösen kann.
Vielleicht hat ja jemand von euch einen Rat.


Problem hatte ich zunächst auch,  du musst in der index.html  die stylsheets wieder hinterlegen, die du vorher verwendet hast. Hier sind nach dem update nur eine geringe Anzahl hinterlegt.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Shadow3561 am 17 September 2016, 08:59:46
Danke für die Antwort.
In der Index.html ist alles noch wie beim alten.
Habe vorher ein Backup gemacht und dieses mit der neuen Index.html verglichen.
Es sind alle Stylesheets vorhanden.

Also ist dies leider auch nicht die Lösung für mein Problem
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: christian-ruh am 17 September 2016, 18:56:24
@eki, Thema chart.
Sieht mittlerweile schon sehr gut aus. Allerdins aktualisiert sich der Chart nicht.
Habe chart und svgplot testweise untereinander. svgplot ist immer aktuell, chart erst nach einem reload der Seite.
Egal ob longpoll content="1" oder "0" ist.
Ne Idee?
Und kann man das "Legend Cursor" ausblenden? Mit data-showlegend="false" geht das nicht.
Danke schon mal vorab für Infos.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Depechem am 18 September 2016, 12:20:26
Zitat von: christian-ruh am 17 September 2016, 18:56:24
@eki, Thema chart.
Sieht mittlerweile schon sehr gut aus.

Hi seit Vers. 2.2 läuft bei mir leider das Chart Widget nicht mehr.

In FTUI ist es so eingefügt:
<li data-row="1" data-col="2" data-sizex="9" data-sizey="2">
                  <header class="medium" >Außentemperatur</header>
                  <div class="fullsize"
                       data-type="chart"
                       data-height="220"
   data-width="1100"
   data-device="LaCrosse_1F"
   data-logdevice='["FileLog_Temperatur","FileLog_Luftfeuchte"]'
                       data-columnspec='["3:Temperatur:0:","3:Luftfeuchte:0:"]'
                       data-style='["ftui l2fill","ftui l4fill"]'
                       data-ptype='["lines","lines"]'
                       data-uaxis='["primary","secondary"]'
                       data-legend='["Temperatur","Luftfeuchte"]'
                       data-yunit="°C"
                       data-ytext="Temperatur"
                       data-minvalue="auto"
                       data-maxvalue="auto"
                       data-yunit_sec="%"
                       data-ytext_sec="Luftfeuchte"
                       data-yticks="auto"
                       data-minvalue_sec="0"
                       data-maxvalue_sec="auto"
                       data-daysago_start="2"
                       data-daysago_end="-1"
                       data-crosshair="true"
                       data-cursorgroup="1"
                       data-scrollgroup="1"
                       data-showlegend="true"
                       data-xticks="auto">
                  </div>
</li>


Meine index.html sieht so aus:

<title>FHEM-Tablet-UI</title>
<meta name="gridster_disable" content="1"> <!-- verhindert, dass man die Gridster-Tiles drag'n'droppen kann -->
<meta name="toast" content="0"> <!-- Toast messages deaktivieren  -->
<meta name="fhemweb_url" content="http://192.168.2.109:8083/fhem">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <meta name="widget_base_width" content="120">
        <meta name="widget_base_height" content="127">
<meta name="widget_margin" content="3">
        <meta name="mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="longpoll" content="1">
<meta name="debug" content="0"> <!-- 1=output to console;0=no output -->

        <link rel="stylesheet" href="./lib/jquery.gridster.min.css" />
        <link rel="stylesheet" href="./css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="./lib/font-awesome.min.css" />
<link rel="stylesheet" href="./lib/openautomation.css" />
<link rel="stylesheet" href="./lib/fhemSVG.css" />
        <link rel="stylesheet" href="./lib/jquery.toast.min.css" />
        <link rel="stylesheet" href="./lib/powerange.min.css" />

        <link rel="stylesheet" href="./css/fhem-tablet-ui_eigener.css" />

        <script type="text/javascript" src="./pgm2/jquery.min.js" defer></script>
        <script type="text/javascript" src="./pgm2/jquery-ui.min.js" defer></script>
        <script type="text/javascript" src="./lib/jquery.knob.mod.min.js" defer></script>
        <script type="text/javascript" src="./lib/jquery.toast.min.js" defer></script>
        <script type="text/javascript" src="./lib/jquery.circlemenu.js" defer></script>
        <script type="text/javascript" src="./lib/powerange.min.js" defer></script>
        <script type="text/javascript" src="./lib/jquery.gridster.min.js" defer></script>
        <script type="text/javascript" src="./lib/fa-multi-button.min.js" defer></script>
<script type="text/javascript" src="./js/fhem-tablet-ui.js" defer></script>


FTUI läuft über einen Apache des Raspberry, aber selbst direkt über den Webserver von fhem funktioniert das Chart Widget nicht mehr.
Habt ihr eine Idee wo der Fehler liegen kann?
Die svg_style.css im Ordner pgm2 ist vorhanden und die aktuellen Updates sind gemacht.

Ich hoffe ihr könnt mir helfen.
Vielen Dank im voraus.
Gruß Thomas


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 19 September 2016, 21:07:19
Servus,
ich hätte mal eine Anfrage bei dem link Widget. Ich nutze dies für meine mobile Seite und habe mich gefragt, ob man diesem ein Warn hinzufügen könnte.
So würde man direkt in den Menü schon Dinge sehen. ZB offene Fenster, oder vorhandene Updates, oder was man auch immer in Zahlen ausdrücken will^^
Im Anhang mal ein Bild, wo man vielleicht ich gerne zusätzliche Infos hätte, statt nur der Menüs. Oder meinst du, es würde das Menü dadurch nur langsamer machen?

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: eki am 20 September 2016, 08:08:32
Zitat von: Depechem am 18 September 2016, 12:20:26
Hi seit Vers. 2.2 läuft bei mir leider das Chart Widget nicht mehr.

In FTUI ist es so eingefügt:...


nimm mal die Zeile mit data-device=... heraus. Die ist nicht notwendig und bringt in der neuen Version eventuell das update durcheinander (ist noch eine Baustelle, an der ich dran bin).
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Depechem am 20 September 2016, 14:49:59
Zitat von: eki am 20 September 2016, 08:08:32
nimm mal die Zeile mit data-device=... heraus. Die ist nicht notwendig und bringt in der neuen Version eventuell das update durcheinander (ist noch eine Baustelle, an der ich dran bin).

Super das hilft mir schonmal. Es läuft wieder
Dank dir
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 23 September 2016, 09:58:23
Hallo zusammen,

ich habe mal eine Grundsatzfrage:
Wenn ich mir mittels Label Werte anzeigen lasse, besteht die Möglichkeit mit diesen Werten eine Berechnung durchzuführen?

Konkret:
Ich lasse mir meinen aktuellen und monatlichen Stromverbrauch anzeigen. "data-get: ....." Den Wert (monatlich) möchte in nun in eine Vaiable schreiben um mit dieser eine weitere Berechnung (JavaScript) durchführen. Das Ergebniss der Varaible soll dann wiederrum ausgegeben werden.


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: gloob am 23 September 2016, 18:29:46
Hat jemand eine Idee, warum meine Push-Buttons nach dem Umstellen auf den Master-Zweig nicht mehr sichtbar sind?

<li class="semitransparent" data-row="8" data-col="2" data-sizex="3" data-sizey="4">
<div class="container top-space">
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-step-backward" data-set-on="Previous" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-stop" data-set-on="Stop" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-play" data-set-on="Play" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-step-forward" data-set-on="Next" class="normal"></div>
</div> 
<div class="cell">
<div data-type="volume" data-device="Sonos_Wohnzimmer" data-get="Volume" data-set="Volume" data-min="0" data-max="30" data-tickstep="10" data-unit="%" class="top-space normal"></div>
</div>
</li> 

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: benz_freak am 24 September 2016, 07:50:38
Zitat von: gloob am 23 September 2016, 18:29:46
Hat jemand eine Idee, warum meine Push-Buttons nach dem Umstellen auf den Master-Zweig nicht mehr sichtbar sind?

<li class="semitransparent" data-row="8" data-col="2" data-sizex="3" data-sizey="4">
<div class="container top-space">
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-step-backward" data-set-on="Previous" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-stop" data-set-on="Stop" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-play" data-set-on="Play" class="normal"></div>
<div data-type="push" data-device="Sonos_Wohnzimmer" data-icon="fa-step-forward" data-set-on="Next" class="normal"></div>
</div> 
<div class="cell">
<div data-type="volume" data-device="Sonos_Wohnzimmer" data-get="Volume" data-set="Volume" data-min="0" data-max="30" data-tickstep="10" data-unit="%" class="top-space normal"></div>
</div>
</li> 


Hallo Gloob,
Schau mal hier https://forum.fhem.de/index.php/topic,48106.msg489118.html#msg489118
das war bei mir das Problem
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 24 September 2016, 15:05:12
Zitat von: bjoernbo am 23 September 2016, 09:58:23
Hallo zusammen,

ich habe mal eine Grundsatzfrage:
Wenn ich mir mittels Label Werte anzeigen lasse, besteht die Möglichkeit mit diesen Werten eine Berechnung durchzuführen?

Konkret:
Ich lasse mir meinen aktuellen und monatlichen Stromverbrauch anzeigen. "data-get: ....." Den Wert (monatlich) möchte in nun in eine Vaiable schreiben um mit dieser eine weitere Berechnung (JavaScript) durchführen. Das Ergebniss der Varaible soll dann wiederrum ausgegeben werden.

Alle FHEM Werte, die durch ein Widget geholt werden, sind im ftui.deviceStates Object verfügbar.
Ggf. kann man auch ein label mit class="hide" verstecken, um nur die Werte nur zu holen, aber nicht anzuzeigen.

Im JS kann man dann alles für eigene Verwendungen benutzen


var vol = ftui.deviceStates['AvReceiver'].volume.val;
$('#myVolume').html( vol * 10 );
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grml am 30 September 2016, 13:44:40
Hi,
ich möchte mich gleich vorab für meine Noob-Frage entschuldigen...

Ich habe mal etwas mit Version 1.irgendwas herumgespielt, habe aber noch nichts Produktives und auch kaum Erfahrung.
Heute wollte ich daran weitermachen und kam auf den Thread hier und das Update auf 2.2. Das habe ich nun auch gemacht.

Bevor ich jetzt ohne Sinn und Verstand loslege - funktioniert die "neue" Version grundlegend anders? Oder ist im Prinzip alles mehr oder weniger gleich wie in Version 1.x? Ich habe zwar gelesen, dass "alte" Setups weiterhin funktionieren, das muss ja aber nicht heißen, dass das weiter die bevorzugte Art ist seine Seiten zusammen zu stellen ;-)

Kann ich weitermachen wie unter 1.x? Gibt es bestimmte Dokus/Tutorials zur neuen Version?
HTML/CSS ist glücklicherweise weniger das Problem ;-)
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 30 September 2016, 13:53:02
Zitat von: Grml am 30 September 2016, 13:44:40
Kann ich weitermachen wie unter 1.x? Gibt es bestimmte Dokus/Tutorials zur neuen Version?

Servus,
es hat sich nicht so viel geändert und du kannst nahe zu genauso weitermachen.

Doku/Tutorial würde ich als erstes das hier empfehlen:
https://github.com/knowthelist/fhem-tablet-ui (https://github.com/knowthelist/fhem-tablet-ui)

Dort ist alles beschrieben, teilweise mit Beispielen.
Zusätzlich dazu würde ich mir die examples anschauen ;)

Beste Grüße
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: oeiber am 30 September 2016, 15:06:36
Hallo,

ich nutze FTUI 2.2 mit "index_nav_fixed_mobil".
Ich füge dann die Seite um Home-Screen meines iPhones hinzu.
Allerdings speichert dies wohl den Status der Seite nicht. Sprich bei jedem Aufruf der Webapp fängt das iPhone an, die Seite komplett neu zu laden und man landet immer auf der Startseite anstatt der Seite die man zuletzt offen hatte.

Wisst ihr eine Möglichkeit, wie man den Status der Seite speichern kann?

Danke!

LG
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 30 September 2016, 16:06:22
moin,
ich würde gerne den button des dimmer diwget auf die selbe größe machen wie die des switch widgets. wenn die beiden nebeneinander stehen und beide "small" als class haben ist der button des dimmers immernoch normal groß. geht das ?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 30 September 2016, 17:10:32
Das fehlte in der css/fhem-tablet-ui.css ab Zeile 948 noch ein

[data-type="dimmer"].small

Füge ich noch hinzu, aber dann passtdas nicht mehr richtig mit den Strichen. Muss ich mir nochmal ansehen ...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 30 September 2016, 18:43:44
Zitat von: setstate am 17 März 2016, 10:40:13
Achtung: Seit dem 06.09.2016 ist diese Version komplett in den Hauptzweig gemerged

heisst dass eigentlich das ich dne aval-folder nciht mehr brauche weil es quasi die tui v1 in www/tablet/ nicht mehr gibt da durch v2.2 ersetzt?

und danke für den dimmer
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 01 Oktober 2016, 17:24:17
Hallo zusammen,

am 11 September 2016 https://forum.fhem.de/index.php/topic,50945.msg489899.html#msg489899 (https://forum.fhem.de/index.php/topic,50945.msg489899.html#msg489899) habe ich geschrieben, dass die Uhrzeit bei mir nicht angezeigt wird. Nach etlichen hin und her habe ich eine Lösung gefunden.

In der Datei "/opt/fhem/FHEM/controls.txt" hatte ich zusätzliche Quellen eingetragen wie:
https://raw.githubusercontent.com/nesges/Widgets-for-fhem-tablet-ui/master/controls_widgets-for-fhem-tablet-ui.txt
https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/eval/controls_fhemtabletui_eval.txt

Diese habe ich entfernt und FHEM aktualisiert. Brachte leider keinen Erfolg. Erst nachdem ich den  Ordner "/opt/fhem/www/tablet" gelöscht (vorher gesichert) und dann erneut FHEM aktualisiert habe, wurde plötzlich die Uhrzeit angezeigt.  :) :) :)

Der Inhalt der Datei "/opt/fhem/FHEM/controls.txt" besteht nur noch aus den folgenden Zeilen:
http://fhem.de/fhemupdate/controls_fhem.txt
https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt

Evtl. hat jemand auch so ein Problem, ist hier nur für die Doku.

Im Wiki http://www.fhemwiki.de/wiki/FHEM_Tablet_UI (http://www.fhemwiki.de/wiki/FHEM_Tablet_UI) ist der Abschnitt "Weitere Widgets" beschrieben. Müsste dieser nicht angepasst werden, da die Widgets von nesges nicht mehr in der aktuellen Version der TabletUI unterstützt werden? Falls ja, kann ich das gerne übernehmen.
@setstate, kannst du das bestätigen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Mikka am 01 Oktober 2016, 17:30:38
Nachdem die Uhrzeit und Datum nun angezeigt werden, müssen diese nur noch positioniert werden.

Mit dem bsp. Code von setstate

                <div class="absolute bottom bottom-space-2x">
                   <div data-type="clock" data-format="H:i" class="large"></div>
                   <div data-type="clock" data-format="d.n.Y" class="small"></div>
                </div>

wird die Uhr und das Datum links unten in der Seite angezeigt. Soweit so gut, danke an setstate für disen Code.

Nun wollte ich das die Uhrzeit und das Datum im fixed header angezeigt werden. Den Code habe ich geändert in die folgenden Zeilen:

<div class="absolute top top-space-2x">
           <div data-type="clock" data-format="H:i" class="large"></div>
           <div data-type="clock" data-format="d.n.Y" class="small"></div>
</div>


Das Ergebnis lässt ist aber nicht so wie ich erwartet habe. Hat da jemand einen Tipp für mich was ich noch ändern muss damit das Datum auch im header drin ist?

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grimm80 am 04 Oktober 2016, 17:05:29
Hi Leute,

ich bin gerade drüber mal alles auf 2.2 umzustellen.
Jetzt ist mir aufgefallen das beim Thermostat wenn ich die farbe (fgColor) anpassen will, die mittlere Ziffer (desired-temp) nicht mit gefärbt wird.
Dafür aber die ticks und auch valve und die kleine Zahl (measured-temp).
Wo kann ich das anpassen, oder ist das noch ein Bug?

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 04 Oktober 2016, 17:27:56
Zur Info: eval ist zur Zeit inaktiv. Master ist jetzt > 2.2 und ist aktuell.

Was willst du denn farblich ändern?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grimm80 am 04 Oktober 2016, 17:57:16
Im Anhang die beiden Bilder.
Das Bild mit der Endung Zentrale paßt aber das neue mit der Endung FTUI Demo sollte so anpassbar sein wie Zentrale.
Aber wenn ich es versuche ändert sich alles außer die große Zahl in der Mitte.

Das letzte Bild wäre dann mit der Änderung. Für das Beispiel denke ich eindeutig zur Nutzung aber zu grell...
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 04 Oktober 2016, 18:54:33

    data-fgcolor="#33dd33"
    data-inputcolor="#ffff44"


Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grimm80 am 04 Oktober 2016, 18:56:50
Danke...
Der Wald vor lauter Bäume  ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 04 Oktober 2016, 18:57:26
woran kann ich erkennen ob in meinem www/tablet die v2.2 ist?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 04 Oktober 2016, 19:05:06
Die Version steht in der js/fhem-tablet-ui.js ganz oben

* Version: 2.2.3

die Widgets beginnen mit

var Modul_xyz = function () {

In der 1.* sah das nich so aus


var widget_xyz = $.extend({}, widget_widget, {
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 04 Oktober 2016, 21:36:07
beim weather widget habe ich heute ein bild welches nicht angezeigt wird. laut pfad wird  http://srv00.fritz.box:8083/fhem/images/default/weather/undefined angezogen.
readings sind je fc3/fc4_condition   überwiegend wolkig  imageset ist kleinklima. offenbar fehlt im widget die übersetzung mostlycloudy " überwiegend wolkig" bzw wird dort
Zitat'\u00fcberwiegend wolkig' :     ':mostly cloudy',
gemacht, passt aber nicht. laut browser wird überwiegend wolkig übergeben.

wenn ich das so mit ins widget nehmen zeigt es das bild

Zitat'\u00fcberwiegend wolkig' :     ':mostly cloudy',
      'überwiegend wolkig' :          ':mostly cloudy',
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Cobra am 05 Oktober 2016, 10:20:00
Hallo zusammen,

ich steh derzeit etwas auf dem Schlauch wie ich es schaffe den Balken meines Headeres transparent zu bekommen.
In der alten Version klappte es ja mit:
<header class="headerTransparent">blabla</header>
nur scheinbar funktiniert das in der neuen Version nicht mehr.

Kann mir jemand nen Schubs in die richtige Richtung geben?

Gruß Cobra
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: bjoernbo am 05 Oktober 2016, 11:20:50
mal folgendes ausprobiert?

Zitat<header class="header" background-color: transparent; >blabla</header>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Cobra am 05 Oktober 2016, 11:28:37
Danke, werd ich heut abend gleich mal versuchen  :)

Gruß Cobra

Edit:
Hab es jetzt mit folgendem Code hinbekommen:
<header style="background-color:transparent">blabla</header>
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Grimm80 am 06 Oktober 2016, 18:27:12
Hi Leute,

mir ist aufgefallen, das mein Thermostat zwar alles anzeigt, aber den Wert den ich einstelle nicht übergibt.
Es ist von Homematic für die Heizung



<div data-type="thermostat"
data-device="WZ1_OG.Heizung_Clima"
data-valve="ValvePosition"
data-boost="boost"
data-off="off"
data-min="0"
data-max="30"
data-set="desired-temp"
data-inputcolor="#ffffff"
class="cell">
</div>

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 06 Oktober 2016, 18:35:41
Bitte eval Code nicht mehr benutzen. Ist jetzt alles in den Hauptzweig gemerged. Bugfixes gab es nur für den Hauptzweig
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: tante ju am 06 Oktober 2016, 23:19:11
Es scheint ein Problem mit circlemenu zu geben. Die errechneten Kreise passen nicht zu den Elementen. Einen Screenshot bekomme ich gerade nicht hin.

Hier ist der Source:
        <div data-type="circlemenu" class="cell circlemenu" data-direction="top-half">
                <ul class="menu">
                        <li><div data-type="symbol" data-device="TestDimmer"
                                data-icon="fa-lightbulb-o"
                                data-background-icon="fa-circle"
                                data-on-color="#282828"
                                data-off-color="#282828"
                                data-get-on="[1-9][0-9]*"
                                data-get-off="0"
                                ></div></li>
                        <li><div data-type="push" data-device="TestDimmer"
                                data-set-on="off"
                                data-icon="">0</div></li>
                        <li><div data-type="push" data-device="TestDimmer" data-set-on="5" data-icon="">5%</div></li>
                        <li><div data-type="push" data-device="TestDimmer" data-set-on="10" data-icon="">10%</div></li>
                        <li><div data-type="push" data-device="TestDimmer" data-set-on="25" data-icon="">25%</div></li>
                        <li><div data-type="push" data-device="TestDimmer" data-set-on="50" data-icon="">50%</div></li>
                        <li><div data-type="push" data-device="TestDimmer" data-set-on="100" data-icon="">100%</div></li>
                </ul>
        </div>

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 07 Oktober 2016, 20:24:39
Ein Problem gibt es nicht, es will bestimmt nur nicht auf Anhieb, wie du magst

Ich würde etwas mehr Platz dawischen lassen: data-circle-radius="100"


  <div data-type="circlemenu" data-circle-radius="100" data-direction="top-half" class="keepopen">
          <ul>
                  <li><div data-type="symbol" data-device="TestDimmer"
                          data-icon="fa-lightbulb-o"
                          data-background-icon="fa-circle"
                          data-on-color="#282828"
                          data-off-color="#282828"
                          data-get-on="[1-9][0-9]*"
                          data-get-off="0"
                          ></div></li>
                  <li><div data-type="push" data-device="TestDimmer"
                          data-set-on="off"
                          data-icon=""><div>0</div></div></li>
                  <li><div data-type="push" data-device="TestDimmer" data-set-on="5" data-icon=""><div>5%</div></div></li>
                  <li><div data-type="push" data-device="TestDimmer" data-set-on="10" data-icon=""><div>10%</div></div></li>
                  <li><div data-type="push" data-device="TestDimmer" data-set-on="25" data-icon=""><div>25%</div></li>
                  <li><div data-type="push" data-device="TestDimmer" data-set-on="50" data-icon=""><div>50%</div></div></li>
                  <li><div data-type="push" data-device="TestDimmer" data-set-on="100" data-icon=""><div>100%</div></div></li>
          </ul>
  </div>


Die Prozentangaben sind dann zu groß für den Platz. Das muss dann kleiner werden

CSS Zusatz: (werde ich hinzufügen)

[data-type="push"] > div {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 60%;
}
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: tante ju am 07 Oktober 2016, 23:02:45
Zitat von: setstate am 07 Oktober 2016, 20:24:39
Ein Problem gibt es nicht, es will bestimmt nur nicht auf Anhieb, wie du magst

Nix mit "auf Anhieb". Das lief seit Monaten mit der vorherigen Version. Ist mir jetzt erst mit der 2.2 aufgefallen.

Zitat von: setstate am 07 Oktober 2016, 20:24:39
Ich würde etwas mehr Platz dawischen lassen: data-circle-radius="100"

Hat nix gebracht.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: tante ju am 08 Oktober 2016, 14:45:24
Zitat von: tante ju am 07 Oktober 2016, 23:02:45
Nix mit "auf Anhieb". Das lief seit Monaten mit der vorherigen Version. Ist mir jetzt erst mit der 2.2 aufgefallen.

Hat nix gebracht.

So, fat finger Problem behoben. Hier der Screenshot, wie es aussieht.
Das sieht nach einem Rechenfehler ab Kreis 3 aus. Oder?

Titel: Antw:Evaluierungsversion 2.2
Beitrag von: setstate am 08 Oktober 2016, 14:58:00
Eher negativer Einfluss von einer CSS Eigenschaft.

Bei mir sieht das aus, wie auf dem Bild zwei Einträge zuvor.
Nimm mal eine leere Seite, ohne eigene VSS Dateien, aktuelle Installtion aus dem Masterzweig und einmal mein Code und einmal dein Code nebeneinander. Dürfte vom Bogen gleich aussehen nur die %Zahlen bei dir etwas dicker/größer.
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 08 Oktober 2016, 18:42:46
gibts eigentlich eine möglichkeit bestimmte widgets vom update auszuschließen?
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: Andy89 am 08 Oktober 2016, 18:57:05
@setstate: hast du dir mal angeschaut, ob man dem Link-Widget ein Warn hinzufügen könnte?
ich selbst blick nicht durch, wie ich dem Link-Widget Warn hinzufügen könnte. Das würde mir und wahrscheinlich auch paar anderen, die die mobilen Seiten nutzen, sehr gefallen =) wäre auf jeden cool  :) :)

Danke schonmal!

Beste Grüße und noch ein schönes Restwochenende,
Andy
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: dadoc am 11 Oktober 2016, 19:19:09
Hi,
Nachdem ich mich lange gescheut hatte (weil mit 1.5x bei mir alles rund und ohne Probleme lief), habe ich heute das Update gewagt. TabletUI läuft bei mir über Apache.
Soweit läuft auch alles noch, was allerdings nicht mehr funktioniert ist die "Webapp" auf dem iPad (d.h. die per 'Zum Home-Bildschirm hinzufügen' erzeugte App). Alles bleibt stehen bei "Longpoll started", Hontergrundbild und (leeres) per Include eingebundenes Menü werden geladen, und das war's. Trotz Neuerstellung. Auf dem Desktop und im iPad-Safari klappt alles.
Gibt es da - evtl. Awegen der Apache-Nutzung - vielleicht noch etwas Besonderes zu beachten?
Grüße
Martin
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: chris1284 am 11 Oktober 2016, 19:50:40
Zitat von: chris1284 am 08 Oktober 2016, 18:42:46
gibts eigentlich eine möglichkeit bestimmte widgets vom update auszuschließen?

ja, wenn man das repo im update mit drin hat einfach exclude_from_update nutzen...  ;D
Titel: Antw:Evaluierungsversion 2.2
Beitrag von: dadoc am 11 Oktober 2016, 22:37:56
Hi,
Was bei mir nach der Umstellung auf 2.2 unter iOS nicht mehr zu gehen scheint ist ein Link-Widget als "Auslöser" für ein Popup zu verwenden.
<div class="container">
<div data-type="popup" data-height="425px" data-width="525px" data-draggable="false">
        <div data-type="link" class="left round"
             data-width="40"
             data-height="40"
             data-color="orange"
             data-icon="fa-info"
             data-border-color="orange"
             >
        </div>
        <div class="dialog">
                 ...

etwa öffnet kein Fenster mehr. Ebenfalls alle anderen Popups, die ich bislang über eine Link öffnete. Popups sind in den iPad Settings zugelassen.

Auf dem Desktop/Safari geht es nach wie vor.

Bug, Feature oder Fehler meinerseits, der mit v. 1.5 nicht auffiel?
Grüße
Martin