Autor Thema: [gelöst - Workaround] Keine Aktualisierung der Anzeige - fronthem vs. Smartvisu  (Gelesen 506 mal)

Offline msome

  • New Member
  • *
  • Beiträge: 48
Hallo zusammen,

vielleicht kennt jemand auch das folgende Problem und kann mir einen Tipp geben wie das Problem vermieden werden kann.

Bei mir läuft gerade Smartvisu 2.9.2 mit fronthem v21 und im Prinzip funktioniert's echt gut.
Aber völlig unregelmäßig werden die Elemente auf Smartvisu nicht mehr aktualisiert.
Heute hab ich die Situation endlich mal auf dem Tablet erwischt bevor jemand aktualisiert (Seite neu geladen) hat.
Der Chrome-Inspect über den PC zeigt, dass der FHEM Treiber in Smartvisu meint die Verbindung steht io.socket.readyState = 1
aber FHEM sagt, der Client wäre disconnected. Siehe Screenshot im Anhang wo man FHEM-Fronthem und Javascript-Konsole vom Smartvisu auf'm Tablet sieht.

Irgendeine Idee woran dies liegen könnte?
Es ist scheinbar keine Timeout-Erkennung im SmartVisu Treiber implementiert - was jedoch auch schwierig ist
bei einem Event-basierten System wo man nie weiß ob gerade nix passiert oder gerade ein Problem besteht.

Danke,
Matthias
« Letzte Änderung: 02 Januar 2021, 11:29:32 von msome »
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMLAN, HMUARTLGW, HMUSB-2, JeeLink, ModBus, RS232
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, Stromzähler SDM630M, Buderus KM271, ESP8266 basierter Kram, immer mehr Hue Lampen & Steckdosen

Offline ReviloEgros

  • New Member
  • *
  • Beiträge: 21
Hallo,

ich habe ziemlich oft das selbe Problem, und auch noch keine wirkliche Lösung gefunden. Um dem vorzubeugen bzw. entgegenzuwirken habe ich einmal ein Watchdog auf das fronthem Device. Wenn es für mindestens 10 Sekunden disconnected ist, wird automatisch smartVISU auf dem Tablet neu geladen. Ich hatte es vorher mit Notify probiert, aber nach jedem Seitenwechsel in smartVISU geht er kurz auf disconnected. Da hatte er nach jedem Wechsel dann neu geladen und ich war wieder auf der Startseite. Doof! :D Aber auch hier hatte ich ab und an das Problem, das dieser disconnect unbemerkt blieb. Nun frage ich per AT jede Minute den status ab, und lade ggf. neu. Bisher fahre ich damit ganz gut. Achja, bei einem FHEM neustart lade ich smartVISU auch neu.

defmod fronthem_192.168.188.20WD watchdog fronthem_192.168.188.20:disconnected 00:00:10 fronthem_192.168.188.20:connected set LenovoTab restart
attr fronthem_192.168.188.20WD autoRestart 1
attr fronthem_192.168.188.20WD regexp1WontReactivate 1

defmod check_smartvisu at +*00:01:00\
{\
if (ReadingsVal('fronthem_192.168.188.20', 'state', '') eq "disconnected")\
{\
fhem "set LenovoTab restart";;\
}\
}
attr check_smartvisu alignTime 00:00

defmod INITIALIZED notify global:INITIALIZED {\
fhem "set LenovoTab restart";;\
}
« Letzte Änderung: 29 Dezember 2020, 14:11:00 von ReviloEgros »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline GammaTwin

  • Jr. Member
  • **
  • Beiträge: 85
automatisch smartVISU auf dem Tablet neu geladen
set LenovoTab restart

Klingt interessant. Was für ein Device ist das "LenovoTab"? Lädst Du aus FHEM heraus die smartVISU neu?

Offline msome

  • New Member
  • *
  • Beiträge: 48
Vielen Dank.

Ich muss es mir mal genauer ansehen, bei mir wäre das Tablet ein AMAD device - daher könnte ich schon mit
"set svTablet system reboot" das Tablet neu starten - ehrlich gesagt ist das schon sehr mit Kanonen auf Spatzen geschossen.

Wenn ich am Wochenende mal Zeit habe werde ich mir mal ansehen, ob ich es über AMAD - Automagic schaffe,
dass Chrome die aktuelle Seite einfach einen "reload" macht. Wäre wohl die einfachste Methode.

Aber ich hab mir alternative überlegt den io_fhem umzuschreiben dass er ein Timeout-Monitoring macht.
Dazu bräuchte ich ja nur ein Event das alle 10sec von FHEM an SV senden - wenn es ausbleibt, dann würde ich die Verbindung resetten, d.h. die aktuelle Verbindung schließen, den aktuellen Reconnect stoppen und startReconnectTimer auslösen. Damit wäre auch gleich das Retry-Handling "for free" implementiert.

Mal sehen, irgendwas muss ich tun. Der aktuelle Zustand ist unhaltbar. Besser keine Daten als falsche Daten.

Vielen Dank für den Tipp mit dem Watchdog.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMLAN, HMUARTLGW, HMUSB-2, JeeLink, ModBus, RS232
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, Stromzähler SDM630M, Buderus KM271, ESP8266 basierter Kram, immer mehr Hue Lampen & Steckdosen

Offline ReviloEgros

  • New Member
  • *
  • Beiträge: 21
Klingt interessant. Was für ein Device ist das "LenovoTab"? Lädst Du aus FHEM heraus die smartVISU neu?

Das LenovoTab ist ein Tablet von Lenovo auf dem Fully als Browser läuft. Da das Tablet ziemlich langsam ist und nach einiger Zeit im betrieb auch Fully anfängt reichlich zu "stottern", starte ich die Fully App auf dem Tablet neu (Auch einmal in der Nacht um 3 Uhr). Es würde bei neueren und schnelleren Tablets wahrscheinlich auch reichen die URL in Fully neu zu laden, aber so bin ich das Problem auch erstmal los, bis ich mir ein neues Tablet zulege ;) Ich hatte es eine Zeitlang auch mit AMAD an FHEM angebunden, aber das wurde dem Tablet ziemlich schnell zu viel, und ich bekam oft die Meldung "The App stopped working again" auf dem Display. Deswegen habe ich AMAD wieder runter geschmissen und nutze nur noch Fully, was für meine Zwecke auch ausreichend ist.

Offline GammaTwin

  • Jr. Member
  • **
  • Beiträge: 85
und wie spielen Fully und "set LenovoTab restart" zusammen?

Offline ReviloEgros

  • New Member
  • *
  • Beiträge: 21
LenovoTab ist ein Device vom Type Fully.

defmod LenovoTab FULLY 192.168.188.20 passwort 60
attr LenovoTab event-on-change-reading state
attr LenovoTab group Tablet
attr LenovoTab icon fa_tablet
attr LenovoTab pingBeforeCmd 0
attr LenovoTab pollInterval 60
attr LenovoTab room 01_Wohnzimmer

Offline GammaTwin

  • Jr. Member
  • **
  • Beiträge: 85
Den Typ Fully kannte ich noch gar nicht - Danke

Offline msome

  • New Member
  • *
  • Beiträge: 48
Wollte nun mal das AMAD / Automagic update angehen und hab direkt im Automagic Forum gesehen, dass Automagic nicht mehr unterstützt / weiterentwickelt wird.

Damit hat sich's für mich auch erledigt, werde jetzt auch auf Fully umstellen - keine Lust, ein totes Pferd Automagic weiterzureiten.

Eine erste gute Erfahrung mit dem Fully-Support; damit ist schon mal ein Basis-Bonus vorhanden.  ;)
   ( Sie haben eine Mail-Anfrage von mir direkt, konkret und sehr schnell beantwortet. Top. )
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMLAN, HMUARTLGW, HMUSB-2, JeeLink, ModBus, RS232
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, Stromzähler SDM630M, Buderus KM271, ESP8266 basierter Kram, immer mehr Hue Lampen & Steckdosen

Offline msome

  • New Member
  • *
  • Beiträge: 48
Umstieg erfolgreich, somit ist zwar nicht klar warum die Verbindungsstati auseinanderlaufen aber zumindest ist jetzt ein Workaround vorhanden.

Danke @ReviloEgros, ich hab deine Definition vom Watchdog + AT + INIT so übernommen. Dreifach hält besser.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMLAN, HMUARTLGW, HMUSB-2, JeeLink, ModBus, RS232
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, Stromzähler SDM630M, Buderus KM271, ESP8266 basierter Kram, immer mehr Hue Lampen & Steckdosen

Offline ReviloEgros

  • New Member
  • *
  • Beiträge: 21
Danke @ReviloEgros, ich hab deine Definition vom Watchdog + AT + INIT so übernommen. Dreifach hält besser.

Ach keiner Rede wert. Nur hatte ich es auch schon ein paar mal, das FHEM mir gesagt hat das fronthem Device sei connected, hat aber trotzdem keine Daten bekommen. Ist zwar bisher echt selten vorgekommen, stört aber trotzdem. Nur dafür habe ich für mich noch keine Lösung gefunden.

Offline msome

  • New Member
  • *
  • Beiträge: 48
Hi, kann das Problem jetzt auch nachvollziehen.
Hatte jetzt heute die Situation dass die SV Seite in Fully komplett stand, auch der Sekundenzeiger der "lokalen" Uhr lief nicht mehr. Das Fronthem device war auf connected.
Das ist jetzt ein neues Problem, kannte ich vor Fully (da lief SV direkt in Chrome) noch nicht.
Mit Chrome lief die Uhr - läuft ja auch in Javascript - immer weiter, nur die Verbindung zu Fronthem wurde unterbrochen.

Aber zumindest ein bisserl besser - da der Sekundenzeiger sich nicht mehr rührt, weiß man zumindest direkt dass die Oberfläche auch wahrscheinlich alte Daten anzeigt.

Dann muss ich wohl doch noch irgendein Timer-Event in der Visu einbauen das zyklisch einen FHEM dummy
bedient (+1 oder sowas) um eine direkte Rückmeldung zu haben und ein offline der Visu erkennen zu können.

Oh Mann, kann nicht einfach was mal direkt funktionieren :-)...
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMLAN, HMUARTLGW, HMUSB-2, JeeLink, ModBus, RS232
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, Stromzähler SDM630M, Buderus KM271, ESP8266 basierter Kram, immer mehr Hue Lampen & Steckdosen