FTUI - keine Datenaktualisierung mehr nach letztem Update

Begonnen von ToM_ToM, 27 September 2017, 11:11:44

Vorheriges Thema - Nächstes Thema

ToM_ToM

Hallo Zusammen,

irgendwie werden meine Daten nach dem letzten Update nicht mehr aktualisiert. Vor Kurzem hatte schon mal ein User das Problem, aber ich kann den Beitrag leider nicht mehr finden.
Interessanterweise kann ich den Cache leeren und bekomme auf jedem Gerät nach dem Reload, andere Daten angezeigt.
Hat sich da irgendwas geändert? Muss ich meiner index.html irgendeinen neuen Inhalt hinzufügen?

<!DOCTYPE html>
<html>


<head>
<!--
         /* FHEM tablet ui */
         /*
         * Just another dashboard for FHEM
         *
         * Version: 1.3.5
         * 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/
         */
        -->
<title>FHEM-Tablet-UI</title>
<link rel="icon" href="favicon_Mannheim.ico" type="image/x-icon" />

<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="139">
<!-- <meta name="widget_margin" content="1"> -->
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">

<meta name="longpoll" content="1">
<meta name="longpoll_type" content="websocket">
<!-- 1=longpoll;0=shortpoll every 30sec -->

<!--
<meta name="request_cache" content="100">
-->

<!-- CACHE CONTROL -->
<!-- <meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'> -->
<!-- /CACHE CONTROL -->

<meta name="debug" content="2">
<!-- 1=output to console;0=no output -->
<meta name='gridster_disable' content='1'>

<!--
<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" />
-->
<!-- define your personal style here, it wont be overwritten  -->
<link rel="stylesheet" href="/fhem/tablet/css/fhem-tablet-ui-user.css" />

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

<!-- <script type="text/javascript" src="../js/subtype-defaults.js"></script> -->
    <!--<script type="text/javascript" src="/fhem/www/tablet/js/fhem-tablet-ui.js"></script>-->

<!-- <script type="text/javascript" src="../js/colors.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/pgm2/webviewcontrol.js"></script>
<script type="text/javascript">
var wvcDevices = {'223355': 'androidTablet'};
var wvcUserCssFile="webviewcontrol.css"
</script>
<!-- End for WebViewControl -->



<!-- Anfang Styles und Javascript für die Scrolltexte in der Sonosplayer-Ansicht -->
<style>
.flowanimation {
position: relative;
white-space: nowrap;
display: inline-block;
animation: floatText 8s infinite alternate ease-in-out;
}

@keyframes floatText {
from {
left: 0px;
}

to {
left: calc(355px - 100%);
}
}

.mycenteredtext {
position: relative;
white-space: nowrap;
display: inline-block;
left: calc(355px / 2 - 50%);
}
</style>

<script type="text/javascript">
function checkFlowAnimation(elemName) {
if ($(elemName).innerWidth() >= 355) {
$(elemName).addClass('flowanimation');
} else {
$(elemName).addClass('mycenteredtext');
}
}
</script>
<!-- Ende Styles und Javascript für die Scrolltexte in der Sonosplayer-Ansicht -->

<!-- Script für den Touch Sound -->
<!--<script type="text/javascript" src="/fhem/tablet/js/play_touch_sound.js"></script>-->

<script type="text/javascript">
function playTouchSound() {
var audio = new Audio('/fhem/tablet/sounds/touchSound.mp3');
audio.play();
}
</script>


</head>
<body>



<!-- available class: container,left,right,cell,narrow,darker,big,bigger,small,thin,large,wider -->
<!-- available data-type: symbol,dimmer,homestatus,label,push,slider,switch,thermostat,volume,weather -->
<div class="gridster ready">
<ul>
<li data-row="6" data-col="7" data-sizex="4" data-sizey="1" data-template="menu.html">
</li>
</ul>
</div>

</body>

</html>


VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

#1
Nach langem hin und her testen habe ich herausgefunden dass manchmal ein Error angezeigt wird, dass das "widget_famultibutton" einen Error fabriziert.
Das wurde auch vor kurzem aktualisiert. Evtl. hängt es damit zusammen.

Edit: Okay, das war es anscheinend nicht...

Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Was mich stark wundert...
trotz Leerung des Cache zieht der sich immer wieder Daten in die Anzeige, die mal vor ein paar Wochen aktuell waren. In FHEM sind die Daten aber alle aktuell. Hat das FTUI ein eigenes Cache-System integriert?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

setstate

Ja, local Cache gibt es: localStorage.getItem('deviceStates')

Hast du deinen HTML Code schon mal durch einen Syntax-Checker gejagt, vielleicht gibt es ja Fehler?

Wenn du Debug > 0 gesetzt hast, muss man "Full Refresh ..." und "Longpoll ... started" Meldungen sehen. Wenn nicht, gab es einen Fehler -> siehe Webconsole.

ToM_ToM

#4
Hi setstate, ja, debugging habe ich immer aktiviert.

Ich bekomme auch die Toast-Nachrichten Longpoll (Websocket) started und Full Refresh done in ...
Was mich wundert ist, vor meinem Urlaub lief alles super. Dann kam ich nach einer Woche zurück, habe nur ein Update ausgeführt und plötzlich alte Daten.

Pi habe ich auch schon neu gestartet.

Edit: Habe alle Seiten die ich im September bearbeitet hatte, nochmal durch einen Syntax Checker gejagt. - Keine Fehler gefunden.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Hi setstate,

ich habe jetzt nochmal einiges getestet. Irgendwie werden die angezeigten Widgets stellenweise immer wieder mit alten Daten gefüllt.
Die SET - Befehle vom FTUI werden jedoch alle an FHEM übertragen.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

setstate


ToM_ToM

Nein, leider gar nicht.
Ich habe jetzt auch schon Stück für Stück die einzelnen Pages im Menü aukommentiert, falls da doch irgendwo ein Fehler von mir drin sein sollte, aber Daten werden trotzdem nicht aktualisiert. Bzw. haben sich jetzt mal 2 Labels aktualisiert und ab und an ein Thermostat-Widget.
Ich probiere das in Fully, Firefox und WebViewControl.

Gibt es noch ein genaueres Log als nur die Toast-Messages?
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

setstate

ja, man kann <meta name='debug' content='5'> stellen, dann ist er sehr gesprächig. Oder auf 2,3 oder 4

Log erscheint dann in der Webconsole

ToM_ToM

#9
Hm... ich habe Debug jetzt von 2 auf 5 gestellt, aber gesprächiger ist FTUI leider trotzdem nicht.
Ich vermute das Problem auch fast irgendwo eher auf FHEM-Seite. Irgendwie bekomme ich immer wieder diese alten Daten trotz Cache-Leerung.
Wenn ich einzelne Widgets rausnehme, sind die auch nach Reload verschwunden. Das funktioniert also. Nur die Daten mit denen die Widgets gefüllt werden, sind fast immer alt.

Edit: Ich habe den Browser Cache geleert und stelle dann trotzdem unterschiedliche Daten fest wenn ich FTUI neu mit Port 8083 und 8085 aufrufen.
Beide haben keine aktuellen Daten beim Thermostat, da das auf 6.0 Grad steht. Hatte es aber vor ca. einer Stunde mal von "off" auf "10" gestellt. und unter 8083 wird mir "10" angezeigt und unter 8085 wird mir "off" angezeigt. Und das trotz Leeren des Browser Cache. Das ist doch schon merkwürdig... oder?

Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Guten Morgen.

habe das Ganze heute nochmal mit dem IE getestet und dieser hat mir zumindest mal eine Error-Meldung ausgespuckt.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Ich bin jetzt Stück für Stück meine Kacheln durchgegangen und habe jede einzeln rausgeschmissen, reload gemacht, am Thermostat gedreht und geschaut ob Aktualisierungen kommen, wieder reingesetzt und nächste Kachel gelöscht usw...

Übeltäter gefunden:

<li data-row="4" data-col="1" data-sizex="3" data-sizey="2"><header>Abfahrtzeiten</header>
<div data-type="departure"
    data-device="VRN_SeckenheimRathaus"
      data-get="Seckenheim-Rathaus"
data-interval="0"
data-width="360"
data-height="260"
      class="alternate normal">
</div>
</li>


Allerdings habe ich das Depature Widget schon seit eig. ca. einem Jahr problemlos im Einsatz. Komisch dass es jetzt mein gesamtes FTUI außer Gefecht gesetzt hat.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Hey setstate,

was mir auch noch aufgefallen ist: Obwohl ich beim Depature Widget data-interval auf 0 stehen habe, wurden trotzdem permanent Daten aktualisiert.
Kann es sein dass da der Fehler versteckt ist und das Widget die anderen Aktualisierungen geblockt hat?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

setstate

ich habe trotzdem noch keine Idee, was bei dir lossein könnte?  :-\

viegener

Ich habe ein ganz ähnliches Problem - kein refresh mehr nach update auch nicht durch cache leeren zu erzwingen (sowohl firefox also auch chrome/fully) - allerdings funktioniert es einmalig nach refresh wenn ich debug auf 1 setze.
Allerdings ohne regelmässige aktualisierung nur bei full refresh werden alle Devices aufgefrischt

Auszug aus der Debug-Ausgabe

-------- start healthCheck --------------  fhem-tablet-ui.js:1456:13
now: Tue Oct 03 2017 18:30:02 GMT+0200 (W. Europe Standard Time)  fhem-tablet-ui.js:1457:13
FTUI version: 2.6.28  fhem-tablet-ui.js:1458:13
Longpoll: true  fhem-tablet-ui.js:1459:13
Longpoll type: websocket  fhem-tablet-ui.js:1460:13
Longpoll objects there: true  fhem-tablet-ui.js:1461:13
Longpoll current line: 10  fhem-tablet-ui.js:1463:13
Longpoll last event before: 5 second(s)  fhem-tablet-ui.js:1464:13
Longpoll last reading update before: 3 second(s)  fhem-tablet-ui.js:1465:13
Shortpoll interval: 900  fhem-tablet-ui.js:1466:13
Shortpoll last run before: 54 second(s)  fhem-tablet-ui.js:1467:13
FHEM dev/par count: 136  fhem-tablet-ui.js:1468:13
FTUI known devices count: 856  fhem-tablet-ui.js:1469:13
Page length: 103112  fhem-tablet-ui.js:1470:13
Widgets count: 205  fhem-tablet-ui.js:1471:13
--------- end healthCheck ---------------



Achso - HTML-Synatx ist korrekt / Devices sind auch korrekt --> wenn ich im debugger die Requests überprüfe scheint er nur sehr wenige devices von FHEM abzufragen (ca. 5-10) statt geschätzt 100
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Bin jetzt wieder zurück auf die 2.6.18 - Auch Umstellung auf websockets brachte keine Verbesserung und debug hilft nur bei Firefox - fully wird nicht upgedatet.

Also klingt erstmal nach Timingproblem beim Einsammeln der Devices fürs Update und bei Problemen wenn die Verbindung abbricht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ToM_ToM

Hey viegener,

nutzt du auch das Depature Widget?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

viegener

Zitat von: ToM_ToM am 04 Oktober 2017, 10:51:57
Hey viegener,

nutzt du auch das Depature Widget?

VG, Thomas

Ja, könnte das die Ursache sein?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

ToM_ToM

ZitatJa, könnte das die Ursache sein?

Ja, "könnte". Siehe meinen Post auf der ersten Seite. Ich habe wirklich tagelang den Fehler gesucht. Und als ich dann einzeln die Widget-Typen rausgeschmissen habe, kam bei mir heraus dass das Depature Widget das Problem verursacht hat.

Schmeiß es mal bei dir raus und teste dann. Evtl. ist bei dir das gleiche Problem. Somit hätten wir mal allgemein einen Punkt an dem man ansetzen könnte.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Fritz Muster

Zitat von: viegener am 04 Oktober 2017, 12:59:04
Ja, könnte das die Ursache sein?

Wenn ich bei mir das departure Widget aktiviere habe ich auch Probleme mit der Aktualisierung. Ohne departure läuft alles tippi toppi.

Grüße Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

viegener

OK, kann ich nachvollziehen, es gibt wohl im departure widget einen Konflikt mit dem normalen polling - habe im anderen Thread eine Korrektur hinterlassen:
https://forum.fhem.de/index.php/topic,48255.msg695458.html#msg695458
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Heiner33

#21
Hallo,

habe ein ähnliches Problem. Seit meinem letzten Tablet UI Update werden keine aktuellen Werte mehr aus FHEM ausgelesen bzw. sehr verzögert. Selbst ein Refresh via F5 zeigt nur "Full refresh done in 0.0s for 1 parameter" - waren zuvor immer mehrere hunderte Parameter und spätestens dann war alles aktuell in der Tablet UI.

Ich nutze allerdings nicht das neue Departure Modul.

Hat jemand noch eine Idee?

edit:
Ich konnte es mittlerweile dadurch beheben, dass ich in meinem WEB Device ein longpoll websocket Attribut angelegt habe. Bisher hat das longpoll nicht existiert und auch in meiner FTUI .html hatte und habe ich kein longpoll Meta-Attribut.

Hat sich da etwas geändert in den letzten Wochen/Monaten, dass jetzt das websockets benötigt wird?

ToM_ToM

ZitatBisher hat das longpoll nicht existiert und auch in meiner FTUI .html hatte und habe ich kein longpoll Meta-Attribut.

Wenn du longpoll im WEB auf Websocket geändert hast, musst du es auch als meta-Angabe in deinem FTUI hinzufügen.

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


VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Heiner33

Ich hatte ursprünglich weder das WEB Attribut noch das Meta-Tag. Das hat allerdings nicht mehr funktioniert seit dem Update. Wie gesagt, seit dem Setzen des longpoll websocket Attribut geht es aktuell wieder.