fhemweb.js weiterhin problematisch, kein refresh

Begonnen von fhem-challenge, 03 Februar 2015, 11:00:42

Vorheriges Thema - Nächstes Thema

rudolfkoenig

@wibi_: Verstehe ich richtig, in manchen FHEMWEB-Raeumen hast du das Problem, in anderen nicht?
Mit FS20 hat das sicher nichts zu tun, hoechstens mit einem gemeinsam mit den FS20 Geraeten angezeigten Geraet (Dashboard/readingsProxy/etc), oder einem konfigurierten Widget (slider/etc). Allerdings wuerde man in der JS-Konsole dann Fehler sehen.

fhem-challenge

Zitat von: wibi_ am 04 Februar 2015, 09:58:54
Schade, dann gehöre ich zu der anderen Hälfte...
Aber jetzt weiß ich wenigstens woran es liegt und brauche mir nicht mehr den "Wolf zu suchen".

Zumindest kann ich das Problem für Win7 mit FF & IE bestätigen. Auch bei mir fehlen die Rcvd: Zeilen für den jeweils betreffenden room.
Mal eine blöde Frage: Kann es sein, dass das mit FS20 zusammenhängt? Zumindest bei denen habe ich das Problem (zB: ST4), während ich das bei HM bisher nicht beobachtet habe...

Gruß

Nicht gleich aufgeben, es kann! sein, muss aber nicht. Es heisst hier nicht, dass die Netzwerkkonfiguation "falsch" sein muss (viel Spielraum gibt's hier ohnehin nicht).

Mit FS20 hängt's aus meiner Sicht nicht zusammen. Ich verwende zum Tast ja die fme.cfg.demo, obwohl natürlich in der demo.cfg  FS20 Devices definiert sind.
Der Effekt trifft aber auch bei reinen DummyDevices auf.

Es ist nach wie vor nach dem FHEMWEB.js Umbau entstanden. Mit der "alten" fhemweb.js vom 9.1.2015 läuft's ja (wenngleich diese zu verwenden nicht mehr wirklich sinnvoll wäre).

LG

Andreas



fhem-challenge

#17
Wichtige Erkenntnis in dieser Problematik!

Subtiles Problem:

Das Problem mit dem fehlenden "refresh" und dem FHEMWEB.js Umbau hängt zumindest an einer Stelle ganz explizit mit etwaigen vorhandenen Antiviren/Malware/Scannern zusammen.

Konkretes Beispiel:

Beobachtung 1:

Ich habe auf einem Windows 7 Sophos AV laufen. Dieser blockiert hierbei die Rückverbindung zum Browser (seit FHEMWEB.js Umbau/Update). Dabei logt Sophos hier schlicht nichts (obwohl hier "verbose" auf maximal steht). Schalte ich hierbei den Webschutz in Sophos aus, klappt's auch mit dem "refresh". (siehe hierzu Bild attached)

Beobachtung 2:

Unter Windows 8.1 funktioniert alles mit Chrome, aber mit IE 11.0.9600 nicht!. Generell hatte ich hier zunächst (analog zum Sophos) den Windows Defender in Verdacht, der war's aber nicht, da auf dem gleichen System es ja mit Chrome funktioniert und ich überdies den Defender auch einmal komplett deaktiviert habe (on-access schutz).


Ergo:

1.) Jetzt müsste man klären, was den einen oder anderen AV Scanner dazu bewegt, fhem als Malware/o.Ä. anzusehen. Vermutlich ist es die (neue) fhemweb.js die einige AV Scanner dazu verleitet, das (oder Teile) zu blocken.

2.) Übrig bleibt auch noch das Problem, dass IE11 (auch vollkommen ohne AV-/Malware/Scanner) unter (zumindest bei Windows 7,Windows 8.1) aus ungeklärten Gründen motiviert ist, hier Einiges zu "blocken".

3.) Ich finde hier im Forum durchaus einige Threads (auch in diesem), mit vergleichbaren Problemen, wobei hier durchaus die Kombination aus (neuer fhemweb.js) & Browser & AV/Malware-Scanner den Kern des Problems darstellt.


LG

Andreas





rudolfkoenig

Hat longpoll in der alten Version von fhemweb.js funktioniert? Mit longpoll meine ich die automatische Aktualisierung des angezeigten Statusbildes, wenn das Element anderswo (z.Bsp. im anderen Browser) geschaltet wurde.

Wenn ja, dann ist dein AV Scanner auf das geaenderte Protokoll zw. Backend und Browser allergisch, das ist neuerdings JSON.

Elektrolurch

Hallo,

bei mir aktualisiert sich der Scrren nicht, wenn ich ein Objekt per modify ändere, z.B. readingsGroup oder das Attribut webCmd verändere.
Ist das so  gewollt?
Und wie kann ich einen refresh des entsprechenden Bereiches dann anstossen?

Elektrolurch
configDB und Windows befreite Zone!

fhem-challenge

Zitat von: rudolfkoenig am 04 Februar 2015, 12:02:26
Hat longpoll in der alten Version von fhemweb.js funktioniert? Mit longpoll meine ich die automatische Aktualisierung des angezeigten Statusbildes, wenn das Element anderswo (z.Bsp. im anderen Browser) geschaltet wurde.

Wenn ja, dann ist dein AV Scanner auf das geaenderte Protokoll zw. Backend und Browser allergisch, das ist neuerdings JSON.

Nein, hatte damit auch nicht funktioniert (mit fhemweb.js <= 9.1.2015). Ich habs gerade einmal "nachgebaut" mit den alten Modulen. Lediglich das lokale "refresh" funktioniert, wenngleich natürlich nach (...in meinem Fall wg. attr WEB refresh 60) 60 Sekunden, der Status zwangsweise aktuell war/ist.

Offen ist noch der IE11 Effekt, der ohne lokale AV Scanner etc. nicht funktioniert. Hier habe ich schon alle möglichen Varianten am Browser eingestellt, von Sicherheitsstufe auf "gering" ... über vertrauenswürde Site (fhem), erlauben des Ausführen von beliebigen Scripts etc. etc.  hier habe ich nichts gefunden, was IE dazu bringt, die Seite zu "refreshen".








justme1968

@Elektrolurch: das ist ein ganz anderer effekt. attribut änderungen erzeugen zwar events aber es ändert sich kein reading das dann aktualisiert werden würde. eine readingGroup kann zur zeit auch nur teile (d.h. einzelne readings) aktualisieren nicht sich selbst komplett.

letzteres kommt bestimmt irgendwann. bis dahin kannst du nur mit dem code aus dem anderen thread ein refresh der ganzen seite anstossen. die rückfrage die hier bei dir kommt kann man bestimmt irgendwo abschalten. wann genau kommt die rückfrage?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wibi_

@rudolfkoenig: nein, ich habe in den Räumen FS20 und HM devices gemischt, und bei den FS20 gibt es keine Aktualisierung, bei den HM devices aber schon. Dürfte allerdings daran liegen, dass die HM devices nur Meldungen senden (KFM100, SC, RHS) und nicht über das Web geschaltet werden. Die von Dir angesprochenen Module etc. benutze ich (noch?) nicht.

PS: In der Browser Konsole bekomme ich immer den Fehler "Syntax Error: JSON.parse: unexpected character at line 1 column 1 of JSON data"  in fhemweb.js:line 323

Gruß
RPI4, RPI3, RPI2, CULV3_HM, CULV3_FS20, CULV3_RFR, ZWave, 1-Wire, ESPEasy, Signalduino

rudolfkoenig

Zitat"Syntax Error: JSON.parse: unexpected character at line 1 column 1 of JSON data"  in fhemweb.js:line 323
fhemweb.js nicht aktuell. Falls das Problem nach einem Update immr noch besteht, dann bitte die Asugaben aus der JS-Konsole hier anhaengen.

wibi_

#24
@rudolfkoenig:
danke für den Hinweis - hatte zwar erst letzte Woche einen Update gemacht, aber mit dem heutigen funktioniert es jetzt wieder. Allerdings ist jetzt oben links das FHEM-Logo weg (nur noch ein kleines Icon wie eine Weltkugel oder so). Aber das stört mich erstmal nicht.
Nach erneutem "Durchstarten" von FHEM ist auch das Logo wieder da.

Danke für die schnelle Hilfe und ein vielen Dank an alle, die sich hier für FHEM engagieren. Ist ein absolut tolles System!
Gruß
RPI4, RPI3, RPI2, CULV3_HM, CULV3_FS20, CULV3_RFR, ZWave, 1-Wire, ESPEasy, Signalduino

XBuschman

Hallo,
ich möchte kurz die Angaben zum modify bestätigen.

Zitat... bei mir aktualisiert sich der Scrren nicht, wenn ich ein Objekt per modify ändere, ...

Ich nutze auch das modify um 2 at defines zu verändern. Vor dem großen Update, hat das Longpoll noch funktioniert. Die Anzeige hat sich nach dem Ändern des Wertes direkt im Frontend geändert. Das funktioniert jetzt nicht mehr.

Gruß,
X

rudolfkoenig

Zitat2 at defines zu verändern
Das ist mir zu ungenau, und ich fange nicht an zu Raten

Zitathat das Longpoll funktioniert
Hat wirklich longpoll funktioniert, oder wurde die Seite neu geladen?

Jewo

#27
Hallo zusammen,

auch bei mir funktioniert das refresh nicht mehr.
Das DashBoard baut sich nicht mehr richtig auf.
Es lädt zwar, bleibt dann aber wild zusammen gewürfelt stehen, die einzelnen Spalten
ordnen sich mehr an.
Auch die TABs werden nicht mehr angezeigt, es ist praktisch alles auf einer Seite.
Beim Klick auf eine Lampe schaltet diese zwar, das Icon bleibt dann aber auf "set_on" hängen.
Die Lampe lässt sich dann erst nach einem manuellen refresh wieder schalten, wobei bei
einem manuellen refresh das Icon dann auch von "set_on" auf "on" springt.


In der JS-Console kommen dabei folgende Fehler:

dasboard.js
TypeError: $ is not a function Zeile: 468

$(document).ready( function () {


fhemweb.js
TypeError: $ is not a function Zeile 40

  $("a[href]").each(function() { FW_replaceLink(this); })


fhemweb.js
TypeError: $ is not a function  Zeile 391

    $("embed").each(function() {


Ich hoffe, das ist überhaupt von Relevanz.. :)

Gruß
Jens


rudolfkoenig

Dieses Problem liegt nicht direkt in fhemweb.js, ich vermute veraltete Dashboard oder fronthem Dateien.
Funktioniert Dashboard im fhem.cfg.demo? Bei mir ja.

Jewo

Hmm..... ja, mit der fhem.cfg.demo funktioniert alles.
Das letzte Update ist von heute, mache ich alles täglich.

Jetzt, bleibt nur die Frage, was ist passiert ? :)