Wandtablet baut Verbindung zu FHEM nach Inaktivität nicht mehr auf

Begonnen von bruece-lee, 02 Februar 2019, 10:51:55

Vorheriges Thema - Nächstes Thema

bruece-lee

Hallo,

ich habe im Haus mehrere Andoid Wandtablets auf denen eine Tablet UI Übersichtsseite dargestellt wird. Aufgeweckt werden die Tablets über einen Homematic Bewegungsmelder in Kombination mit dem AMAD Modul. Diese Kombination hat längere Zeit gut und stabil funktioniert.

Seit einem FHEM Update im November bei dem auch Tablet UI Komponenten aktualisiert wurden, habe ich folgendes Problem: Wenn die Tablets längere Zeit inaktiv waren und dann aufgeweckt werden, aktualisiert sich die Tablet UI Seite nicht mehr automatisch. Ich habe in der index.html Datei folgende Zeilen unter Head gesetzt:


<meta name="web_device" content="WEB">
<meta name="longpoll" content="1">
<meta name="longpoll_type" content="websocket">
<meta name="longpoll_filter" content=".*">
<meta name="longpoll_maxage" content="240">
<meta name="shortpoll_interval" content="10">
<meta name="shortpoll_only_interval" content="30">
<script src="js/fhem-tablet-ui.js" defer></script>
<link rel="stylesheet" type="text/css" href="css/fhem-tablet-ui-user.css" />


Aktuell hilft nur, die Webseite komplett neu zu laden, damit sich die Elemente wieder aktualisieren. Auch nach längerer Wartezeit wird die Verbindung zu FHEM nicht mehr autoamtisch aufgebaut.

Kann mir jemand bei der Ursachenanalyse helfen? Kann es evtl. mit dem Update zu tun haben? Hat sich ansonsten etwas an Tablet UI geändert, weswegen vielleicht die longpoll Einstellungen angepasst werden müssen?

Viele Grüße,
Bruece-Lee

SirMarco

Hallo

Mir geht es leider genauso und habe noch keine Lösung gefunden. Was für ein Tablet hast du?

Teste es mit Huawei, Lenovo und Samsung. Habe schon alle Browser durch. Dachte immer websocket bleibt konstant aktiv solange das Gerät im Netwerk aktiv ist. Wird vielleicht das WLAN deaktiviert durch Energieeinstellungen?

Grüsse


sinus61

Gibt ja schon ein paar Threads zu solchen Themen.

Probier mal:
<meta name="longpoll_type" content="1">

Benutzt Du Fully? Wenn es vorher mal funktioniert hat kann es helfen die die Webview Komponente auf eine ältere Version zu downgraden, mehr dazu im Fully Thread.

bruece-lee

#3
Danke für die Tipps. Ich habe den meta tag eingestellt und werde berichten, ob es eine Änderung gibt. Ich nutze ein Samsung Galaxy Tab A (SM-T580).

Ich verwende tatsächlich fully und habe mir das Webview angeschaut. Im Playstore wird angezeigt, dass die installierte Version nicht kompatibel sei und demnach deaktiviert wurde. Demnach scheint wohl die Systemversion aktiv zu sein. Leider sehe ich aktuell keinen Weg, wie ich eine andere installieren kann.

Helmi55

Servus
da bist du nicht der Einzige. Entweder deaktivieren - dann kannst du auf Werksreset gehen (je nach System zwischen Version 50 und 65)
oder du hast di aktuelle 71er Version.
Habe z.B. eine 68 - mit der soll es funktionieren - aufs Tablet geladen, aber wenn ich dann im Dateimanger auf ausführen gehe, wird installiert aber gleichzeitig ein update auf die aktuelle
Version durchgeführt.
ICH finde keine Möglichkeit dieses Update zu unterbinden
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

sinus61

Zitat von: bruece-lee am 03 Februar 2019, 20:30:00
Ich verwende tatsächlich fully und habe mir das Webview angeschaut. Im Playstore wird angezeigt, dass die installierte Version nicht kompatibel sei und demnach deaktiviert wurde. Demnach scheint wohl die Systemversion aktiv zu sein. Leider sehe ich aktuell keinen Weg, wie ich eine andere installieren kann.

Was hast Du denn für eine Android Version? Wenn die Webview aus dem Playstore als nicht kompatibel angezeigt wird deutet das auf Android 7 oder 8, dort wird dann die eingebaute Webview von Chrome genutzt. Schau mal in Fully unter Device Info, da wird das bei Webview Provider angezeigt.

bruece-lee

#6
Ich habe Android Version 8.1.0 und Webview Version 72.0.3626.76. Kann ich damit noch irgendwas beeinflussen oder muss ich mit der Webkit Version leben, wie sie durch das OS vorgegeben ist?

Parameter:
<meta name="longpoll_type" content="1">
...bringt schon etwas an Verbesserung. Aktuelle Änderungen, z.B. bei einem Watchdog Element werden zuverlässig angezeigt. Andere Elemente, die durch FHEM länger keine Aktualisierung bekommen haben, zeigen aber häufig falsche Zustände. Greift in diesem Fall das shortpoll nicht mehr?

Greift der Parameter:

<meta name="shortpoll_interval" content="10">

...durch die Webview Version nicht mehr oder kann ich shortpoll für ein Gesamtupdate der Seite noch anders setzen?

sinus61

Ja, das kenne ich, habe ich bei einem neuem Tablet auch. Meine Lösung war das hier:
https://forum.fhem.de/index.php/topic,81732.msg882519.html#msg882519
Damit wird ein Shortpoll ausgelöst wenn sich der Screen einschaltet.

bruece-lee

sinus61, ich bin Dir unendlich dankbar für Deine Lösung! Endlich funktionieren meine Tablets seit Wochen wieder einwandfrei. Dein Tipp mit Paramter:

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

...in Kombination mit dem Skript zum fixen des shortpolls lösen alle aktuellen Probleme trotz Andoid 8 und den Webview Themen.

Ich habe lediglich noch eine Frage: Ich habe insgesamt 3 Tablets im Haus. Ich habe jetzt Dein Skript:

<div data-type="shortpoll" data-device="wz_tablet" data-get="screen"></div>

... einfach drei mal hintereinander in den body geschrieben und das data-device jeweils auf die einzelnen Tablets angepasst. Ist dies aus Deiner Sicht OK oder gibt es noch eine bessere Lösung?

sinus61

Gute Frage, darüber hatte ich nicht nachgedacht da ich das bisher nur auf einem Tablet benötige. In dem Fall wird wohl der Shortpoll auf allen Tablets ausgelöst, wenn auf einem der Screen angeht, allerdings nur wenn die anderen schon an sind, da sie es ja sonst nicht mitbekommen. Vom Prinzip her dürfte das ja aber nicht schaden, aber vielleicht kann man das noch optimieren.