FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: StephanFHEM am 13 April 2019, 19:08:45

Titel: GELÖST: TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 13 April 2019, 19:08:45
Hallo,

in meinem Menü per Pagebutton hab ich immer noch das Problem, dass Menüpunkte mit Warnings (zB Anzahl offener Fenster) als aktiv gezeigt werden obwohl ein anderer Punkt aktiv ist. Es werden dann quasi 2 Punkte aktiv angezeigt. Wenn ich auf den falsch gezeigten Punkt klicke und danach wieder auf einen anderen dann stimmt die Anzeige wieder. Ist das ein Bug oder hab ich etwas im Code falsch gemacht? Es wäre schön, wenn da mal jemand drauf schauen könnte. Anbei ein Auszug aus meinem Menü


<div data-type="pagebutton" data-url="#home.html" data-load="#home" data-active-pattern="(.*index.html||.*#home.html)" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-home" data-background-icon="fa-square" class="prefetch medium default"></div>

<div data-type="pagebutton" data-url="#heating.html" data-load="#heating" data-active-pattern=".*#heating.html" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="oa-sani_heating" data-background-icon="fa-square" class="prefetch medium"></div>

<div data-type="pagebutton" data-url="#battery.html" data-load="#battery" data-active-pattern=".*#battery.html" data-device="Fehler_Check.DOIF" data-get="FehlerAnzahl" data-warn="FehlerAnzahl" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-battery-full" data-background-icon="fa-square" class="nocache prefetch medium"></div>

<div data-type="pagebutton" data-url="#safety.html" data-load="#safety" data-active-pattern=".*#safety.html" data-device="Fehler_Check.DOIF" data-get="SafetyAnzahl" data-warn="SafetyAnzahl" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="ftui-window" data-background-icon="fa-square" class="prefetch medium"></div>


Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 25 April 2019, 21:41:56
hat keiner eine Idee oder ähnliche Installation? Es nervt etwas, dass ständig mehrere Menüpunkte als Aktiv gezeigt werden...
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 11 Juli 2019, 15:44:33
leider habe ich das o.g. Problem immer noch nicht lösen können und mir fällt auch einfach kein Fehler im Code auf. Manchmal funktioniert es und manchmal nicht. Wenn ich dann mehrfach auf andere Menü-Seiten wechsel und wieder zurück ist es irgenwann wieder richtig. Ab und zu kann ich die Seiten die als Aktiv gezeigt werden aber nicht Aktiv sind auch gar nicht mehr auswählen.

Es wäre wirklich prima, wenn jemand mal über meinen Code schauen könnte ob ich etwas falsch gemacht habe. Oder ob es sich um einen Bug in der Software handelt.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 21 April 2020, 20:12:52
gibt es hierzu inzwischen eine Lösung? Langsam nervt es, dass zum Beispiel der Menü-Punkt Fenster ab und zu als aktiv gezeigt wird weil eine Anzahl Fenster >0 offen ist..... das zwei Menüs als aktiv gezeigt werden ist mir als Form-Fehler fast egal aber man kann dann nicht in das Menü Fenster wechseln weil dieses ja nach Meinung von TabletUI bereits aktiviert ist....
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 01 Juni 2020, 22:07:20
Falls das hier jemand liest wäre ich echt dankbar für etwas Hilfe. Ich komme da einfach nicht weiter. Ich hab schon viel probiert und der Code sieht für mich gut aus. Zudem ist der Fehler nicht permanent da sondern nur ab und zu. D.h., das grundsätzlich alles funktioniert. Ich hab den Fehler übrigens auch auf mehreren Tablets, liegt also auch eher nicht am Endgerät.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: amenomade am 02 Juni 2020, 02:03:02
Hast Du irgendwelche javascript Funktionen dazu gebastelt, z.B. um die Seite automatisch zu wechseln o.ä.?

Deine gesamte index.html Seite wäre interessant.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 02 Juni 2020, 16:30:33
Hab keine automatischen Seitenwechsel drin. Schicke dir die Index heute Abend
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 02 Juni 2020, 21:40:10
hier die index (ich habe uninteressante Teile raus genommen weil es sonst einfach zu lang geworden wäre)
Das Problem tritt immer nur auf wenn ein "warn" auf den Pagebuttons angezeigt wird. Bei mir also bei den beiden Menüpunkten Safety (Anzahl offene Fenster) und Battery (Anzahl Funk/Batteriefehler). Der Fehler tritt aber nicht immer auf und manchmal ist durch einfaches umschalten des Menüs der Fehler weg. Manchmal bleibt das zusätzliche Menü aber auch aktiviert und lässt sich dann auch nicht mehr aufrufen. Aber alles nicht wirklich reproduzierbar.


<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="gridster_cols" content="11">
    <meta name="gridster_rows" content="7">
    <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="toast" content="0">
    <meta name="widget_margin" content="1">
    <meta name="longpoll" content="1">
    <meta name="longpoll_filter" content=".*">
    <meta name="longpoll_type" content="ajax">
    <meta name="longpoll_maxage" content="240">
    <meta name="shortpoll_interval" content="900">
    <meta name="debug" content="0">

    <!-- define your personal style here, it wont be overwritten  -->
    <script src="js/fhem-tablet-ui.min.js" defer></script>

<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="css/fhem-tablet-ui-user.css" />

    <title>FHEM-Tablet-UI</title>
<link rel="shortcut icon" href="/fhem/tablet/favicon2.ico" />
</head>
<body>
       
    <div class="gridster">
        <ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="6" class="bg-transparent">
<header class="bg-darkblue">Menü</header>
<div class="cell">
<div data-type="pagebutton" data-url="#home.html" data-load="#home" data-active-pattern="(.*index.html$||.*#home.html$)" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-home" data-background-icon="fa-square" class="prefetch medium default"></div>
<div data-type="pagebutton" data-url="#heating.html" data-load="#heating" data-active-pattern=".*#heating.html$" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="oa-sani_heating" data-background-icon="fa-square" class="prefetch medium"></div>
<div data-type="pagebutton" data-url="#light.html" data-load="#light" data-active-pattern="(.*#light.html$||.*#light_.*.html$)" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-bolt" data-background-icon="fa-square" class="prefetch medium"></div>
<div data-type="pagebutton" data-url="#rabbit.html" data-load="#rabbit" data-active-pattern=".*#rabbit.html$" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-paw" data-background-icon="fa-square" class="medium nocache"></div>
<div data-type="pagebutton" data-url="#music.html" data-load="#music" data-active-pattern=".*#music.html$" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-music" data-background-icon="fa-square" class="medium"></div>
<div data-type="pagebutton" data-url="#battery.html" data-load="#battery" data-active-pattern=".*#battery.html$" data-device="Fehler_Check.DOIF"
data-get="FehlerAnzahl" data-warn="FehlerAnzahl"
data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-battery-full" data-background-icon="fa-square" class="nocache prefetch medium"></div>
<div data-type="pagebutton" data-url="#safety.html" data-load="#safety" data-active-pattern=".*#safety.html$" data-device="Fehler_Check.DOIF"
data-get="SafetyAnzahl" data-warn="SafetyAnzahl"
data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="ftui-window" data-background-icon="fa-square" class="prefetch medium"></div>
<div data-type="pagebutton" data-url="#chart_empty.html" data-load="#chart" data-active-pattern=".*#chart_empty.html$" data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-bar-chart" data-background-icon="fa-square" class="medium"></div>


<div data-type="clock" data-format="H:i" class="white large"></div>

<div data-type="label" class="mini">&nbsp;</div>
<div class="container inline top-narrow-10">
<div data-type="symbol"
data-device="WandTablet_Fully"
data-get="Ladezustand"
data-states='["([0-9]|[1][0-9])","([2][0-5])","([2][6-9]|[3][0-9]|[4][0-9]|50)","([5][1-9]|[6][0-9]|[7][0-5])","([7][6-9]|[8][0-9]|[9][0-9]|100)","Laden"]'
data-icons='["fa-battery-0 fa-blink warn","fa-battery-1 warn","fa-battery-2","fa-battery-3","fa-battery-4","fa-plug warn"]'
data-warn="WandTablet_Fully:battery_level"
data-colors='["firebrick","firebrick","#aa6900","#6DE08E","#6DE08E","#6DE08E"]'
class="small" >
</div>
</div>
<div class="container inline">
<div data-type="push" data-device="WandTablet_Fully"
data-icon="fa-refresh"
data-background-icon=""
data-color="white"
data-set-on="clearCache; set WandTablet_Fully restart" class="small"></div>
</div>



</div>
</li>
<li data-row="3" data-col="2" data-sizex="10" data-sizey="4" class="bg-transparent">
<div class="page" id="home"></div>
<div class="page" id="heating"></div>
<div class="page" id="light"></div>
<div class="page" id="rabbit"></div>
<div class="page" id="music"></div>
<div class="page" id="battery"></div>
<div class="page" id="safety"></div>
<div class="page" id="chart"></div>
</li>

            <!-- Current Weather Start / RAUSGESCHNITTEN-->
            <li data-row="1" data-col="2" data-sizex="4" data-sizey="2" class="bg-darkblue-trans">

        </li>
            <!-- Current Weather End -->
                         

<!-- Yahoo Forecast Start/RAUSGESCHNITTEN -->
            <li data-row="1" data-col="6" data-sizex="6" data-sizey="2" class="bg-darkblue-trans">
            </li>
            <!-- Yahoo Forecast End -->

<!-- Abfallkalender Start / RAUSGESCHNITTEN-->
            <li data-row="7" data-col="1" data-sizex="4" data-sizey="1" class="bg-transparent">
            </li>
            <!-- Abfallkalender End -->

            <!-- Anwesenheit Start /RAUSGESCHNITTEN -->
            <li data-row="7" data-col="5" data-sizex="2" data-sizey="1" class="bg-transparent">
            </li>
            <!-- Anwesenheit End -->

<!-- Alarmleiste Start / RAUSGESCHNITTEN-->
<li data-row="7" data-col="7" data-sizex="3" data-sizey="1" class="bg-transparent">
            </li>
<!-- Alarmleiste End -->

<!-- Waschmaschine Start / RAUSGESCHNITTEN-->
            <li data-row="7" data-col="10" data-sizex="2" data-sizey="1" class="bg-transparent">
            </li>
<!-- Waschmaschine Ende -->


<!-- Hier geht automatisch ein POPUP auf wenn ein Timer gestellt wurde -->

<div class="top-space">
  <div data-type="popup" data-device="ECHO_xyz" data-get="tablet_anzeige" data-get-on="an" data-get-off="aus" data-height="280px" data-width="500px">
  <div></div>
<div class="dialog">
<header></header>
<h1>Timer in der Küche</h1>
<br>
<div data-type="label" class="great" data-device="ECHO_xyz" data-get="TimerRest" data-substitution="toDate().hhmmss()"></div>
<br>
<div data-type="link" class="round top-space-2x centered" data-width="130" data-height="50" data-color="white" data-background-color="green" data-icon="fa-check" onclick="$('.dialog-close').trigger('click');">Schließen</div>
</div>
  </div>
</div>


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


Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: amenomade am 03 Juni 2020, 00:43:30
Hmm. In erster Linie sehe ich nichts auffälliges.

Ich würde noch ein paar class nocache hinzufügen, insb bei den Seiten, die manchmal gleichzeitig als "active" markiert werden.
Welche genau werden gleichzeitig mit den "warn" Seiten als active markiert.

Ansonsten bleibt nur das debuggen, aber wenn es nicht einfach reproduzierbar ist... wird es schwierig.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 03 Juni 2020, 00:57:41
Tatsächlich alle. Wenn das auftritt, dann kann zwischen den anderen Seiten noch normal umgeschaltet werden. Der Button mit warn wird dann parallel immer weiter als aktiv gezeigt und wenn ich drauf klicke passiert nichts
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 27 August 2020, 22:14:47
auch wenn das Thema schon alt ist ist es leider immer noch aktuell. Ich kann aber inzwischen sagen, dass das Icon als aktiviert gezeigt wird sobald sich die Warn-Zahl verändert. Wenn die Seite zu dem Zeitpunkt nicht ausgewählt ist zeigt er zwei Seiten als aktiv an.
Beispiel: Das Menü Fenster zeigt im Menü-Button im Warn die Anzahl der offenen Fenster an. Wenn ich jetzt die Seite Licht auswähle und danach ein Fenster öffne werden Licht und Fenster-Menü als Aktiv angezeigt.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: amenomade am 28 August 2020, 19:25:31
Kannst Du vielleicht eine sehr kurze Seite bauen, mit nur 1-2 Subseiten und 1-2 Widgets, die das Problem reproduziert? Oder deine aktuelle nach und nach abbauen, bis die so schlank wie möglich ist, aber trotzdem das Problem darstellt.

Dann hier posten, ich werde testen.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 28 August 2020, 20:39:29
hab jetzt kurze Seiten gebaut die den Fehler im Moment nicht haben. Die original-Seiten aber auch gerade nicht. Ich lass das jetzt mal parallel etwas laufen um zu schauen ob der Fehler auftritt.
Titel: Antw:TabletUI: Pagebutton mit Warn werden sporadisch als aktiv gezeigt
Beitrag von: StephanFHEM am 14 September 2020, 17:38:42
der Fehler ist wieder aufgetreten und ich habe noch mal meinen ganzen Code geprüft und dabei ist mir ein Fehler aufgefallen.

in der Doku vom Widget heißt es
data-warn --> <device>:<reading> für den Inhalt des Warnhinweises

bei mir stand im Code
<div data-type="pagebutton" data-url="#battery.html" data-load="#battery" data-active-pattern=".*#battery.html"

data-device="Fehler_Check.DOIF"
data-get="FehlerAnzahl"
data-warn="FehlerAnzahl"

data-off-background-color="#191970" data-off-color="white" data-on-background-color="green" data-on-color="white" data-icon="fa-battery-full" data-background-icon="fa-square" class="nocache prefetch medium"></div>


Hab jetzt date-device und data-get rausgelöscht und data-warn geändert in "Fehler_Check.DOIF:FehlerAnzahl"

damit scheint es tatsächlich zu laufen und mein Problem gelöst zu sein! Der Thread kann also nach 1,5 Jahre geschlossen werden:-)