FHEMWEB - Seit update gestern: icons verschwinden nach Bildschirmaufbau

Begonnen von UliM, 19 Juni 2013, 15:01:54

Vorheriges Thema - Nächstes Thema

UliM

Hi,
Seit update gestern hab ich bei aktiviertem longpoll den Effekt, dass icons zB aus einem weblink htmlCode der Form <img src="/fhem/icons/......png"> nur kurz während des Bildschirmaufbaus zu sehen sind und dann wieder verschwinden.
Sobald ich longpoll deaktiviere, bleiben die icons da.

Mein vorheriges update liegt ca 1 Woche zurück, da hat die Anzeige auch mit longpoll noch funktioniert.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Kann es nicht nachvollziehen, brauche mehr details (== fhem.cfg, moeglichst abgespeckt).

UliM

Hi,
ui, mit nem einfachen img funktioniert's auch, sorry.

Der Effekt tritt auf mit sowas hier:

define test_img weblink htmlCode htmlCode <div class="remotecontrol" id="rc_itunes"><table border="2" rules="none"><tr>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes play')"><img src="/fhem/icons/remotecontrol/black_btn_PLAY"></a></td>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes pause')"><img src="/fhem/icons/remotecontrol/black_btn_PAUSE"></a></td>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes prev')"><img src="/fhem/icons/remotecontrol/black_btn_REWIND"></a></td>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes next')"><img src="/fhem/icons/remotecontrol/black_btn_FF"></a></td>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes louder')"><img src="/fhem/icons/remotecontrol/black_btn_VOLUP"></a></td>
<td><a onClick="FW_cmd('/fhem?XHR=1&cmd.rc_itunes=set rc_itunes quieter')"><img src="/fhem/icons/remotecontrol/black_btn_VOLDOWN"></a></td>
</tr>
</table></div>

attr test_img room test
attr WEB longpoll 1

Bei Aufruf des Raums test erscheinen die icons nur kurz und verschwinden wieder.
Im Detailscreen werden sie weiterhin angezeigt. Jedoch erscheinen dort mehrere \ vorweg. Im Detailscreen des weblink sieht man auch hash{LINK}, dort erscheinen backslashes, die es in hash->{DEF} nicht gibt.

Es scheint, dass alle \n im DEF umgesetzt werden zu \ in LINK.
Entferne ich alle Zeilenumbrüche aus der DEF funktioniert's.
Workaround wäre also, keine \n an die DEF zu übergeben - dann wird aber der erzeugte html-Code äußerst unübersichtlich.

Wie geschrieben, vor dem gestrigen update hat das auch mit Zeilenumbrüchen noch funktioniert.

Ist das behebbar?

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Kann  es immer noch nicht nachvollziehen. Ich sehe 6 Knoepfe einer Fernbedienung, allerdings passiert nichts, wenn ich sie druecke.  Auch generierte events aendern nichts daran. Mit aktuellen Firefox/Chrome/Safari. Refresh hilft auch nicht :)

klaus.schauer

Zusätzlich wird bei mir die Meldung "Connection lost, reconnecting in 5 seconds..." in einem schwarzen Feld in der linken oberen Ecke der Fhem-Webseite eingeblendet.

rudolfkoenig

Bitte nicht Thread-Hijacking betreiben.

"Connection lost" wird angezeigt, wenn der Backend nicht erreichbar ist, und longpoll aktiviert ist. Letzteres ist neuerdings default.

UliM

Zitat von: rudolfkoenig schrieb am Do, 20 Juni 2013 09:46Kann  es immer noch nicht nachvollziehen.
Hallo Rudi,
jepp - mein Fehler.
Ich habe versucht, ein möglichst einfaches Beipiel zu liefern. Meine Beispiele gehen aber am eigtl. Problem vorbei.
Im o.g. Beispiel entstanden die backslahes dadruch, dass ich den htmlcode in FHEMWEB in die weblink-Definition eingefügt habe.

.....
Nachdem ich eben die Testschritte mit dem neuen Modul zusammengestellt hatte, stelle ich nun fest, dass es nach update heute wieder funktioniert - auch mit longpoll werden die "Tasten" wieder dauerhaft angezeigt.

Da muss ich mich wohl für umsonst aufgewirbelten Staub entschuldigen. Immerhin wurde mir der longpoll-Tasten-weg-Effekt auch von einem anderen Tester bestätigt....  ;-)

Also sorry und nen schönen Tag,
Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

UweH

Hallo,

ich muss das Thema leider noch mal ausgraben, ich habe seit dem letzten Update genau das Gleiche Problem, hab es aber erst gestern gemerkt...weil, tritt bei mir nur auf dem Handy unter Port 8084 auf. Also Buttons sind nur kurz beim Laden/Refreshen der Seite zu sehen und verschwinden dann, gleichzeitig sehe ich "Connection lost..." bei jedem Buttondruck/Refreshen (das aber auch auf Port 8083). Zusätzlich rödelt auf dem iPhone in der oberen Statusleiste ständig das "Warten" Kreissegment-Symbol.
Ich habe die neue FHEMWEB Revision 3261 ausgetauscht gegen Version 3257, damit funktioniert wieder alles wie bisher.

Kann ich noch irgendwelche Daten liefern?

rudolfkoenig

Das meiste (alles?) ist dem longpoll default-Aenderung geschuldet, und man kann es damit auch abstellen (attr WEB longpoll 0)

- ich behaupte erstmal, dass das Verschwinden der Icons einem Bug im Safari@iOS geschuldet ist, und ein Neustart von Safari (ich meine NEUSTART, nicht verstecken, und wiederholen), das Problem erstmal behebt. Wenn mir jemand konkret sagt, welche Aenderungen in FHEMWEB das Problem beheben, dann werde ich ueber eine Loesung nachdenken.

- Connection Lost bei jedem Klick ist normal, ich werde mal schauen, was man dagegen tun kann, stoert mich auch etwas. Man gewoehnt sich aber schnell dran :)

- Warten-Symbol ist auch normal: das Frontend wartet ja auf FHEM Nachrichten. Irgendwer hat mal erwaehnt, wie man das vermeidet, ich finde es aber nicht mehr: koennte jemand von euch den Hinweis wieder ausgraben? Bin aber unsicher, ob man das nicht so lassen sollte, wenigstens weiss man, was Sache ist.

UweH

ZitatDas meiste (alles?) ist dem longpoll default-Aenderung geschuldet, und man kann es damit auch abstellen (attr WEB longpoll 0)
- Hab ich getestet, weil hier gelesen: nein. Gleicher Effekt
Zitat- ich behaupte erstmal, dass das Verschwinden der Icons einem Bug im Safari@iOS geschuldet ist, und ein Neustart von Safari (ich meine NEUSTART, nicht verstecken, und wiederholen), das Problem erstmal behebt.
- Meine Beobachtung ist eine andere. Mehrfach getestet. Alte Version von FHEMWEB: alles ok. Neue Version: bei Port 8084 Buttons wech, auf 8083 ok (auch nach Safari Neustart). Habe ich auch auf unterschiedlichen Systemen getestet. Jedesmal der beschriebene Effekt.
Zitat- Connection Lost bei jedem Klick ist normal, ich werde mal schauen, was man dagegen tun kann, stoert mich auch etwas. Man gewoehnt sich aber schnell dran :)
- "Connection Lost..." stört in der Tat nicht weiter, tritt aber (jedenfall bei mir sowohl auf 8083 als auch 8084) nur bei Version 3261 auf
Zitat- Warten-Symbol ist auch normal: das Frontend wartet ja auf FHEM Nachrichten.
- Ist aber auch nur bei Version 3261 so... :o
Bei zwei getesteten Vorgänger-Versionen ist das Lade-Symbol nach dem vollständigen Laden der Seite weg, bei 3261 rödelt das Symbol ununterbrochen.

Vielleicht kann diese Problematik noch jemand bestätigen, damit ich hier nicht als Volltrottel dastehe :/

UliM

Hi,
hast Du longpoll auch auf der Webinstanz für 8084 deaktiviert?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

wing350

Zitat von: UweH schrieb am Di, 02 Juli 2013 11:35Hallo,

ich muss das Thema leider noch mal ausgraben, ich habe seit dem letzten Update genau das Gleiche Problem, hab es aber erst gestern gemerkt...weil, tritt bei mir nur auf dem Handy unter Port 8084 auf. Also Buttons sind nur kurz beim Laden/Refreshen der Seite zu sehen und verschwinden dann,

Habe das gleiche Problem mit devStateIcons in Opera auf Win7:
Seite schließen und neu aufrufen hilft, BrowserCache leeren ebenfalls oder manchmal auch "Strg-R" (neu laden, nicht über die Befehlsleiste, dann wird die Seite nur aus dem Cache geholt).
Reimer
FHEM auf Ubuntu VM/QNAP, FHEM-Native, CUL868, RFTRX433 und Jeelink auf RPi über ser2net an VM angebunden, PCA301/LaCrosse-Gateway (WLAN), FHTs, FS20-Aktoren, FBDECT, div. HM- und HMIP-Komponenten, Raspberrymatic VM auf QNAP, Signalduino für Somfy, optolink-WLAN für Viessmann, div. Shelly

justme1968

ich hab mir mal die mühe gemacht das verhalten das ich beim einbauen der neuen remotecontroll in das xbmc modul bemerkt habe mit ein paar dummys reproduzierbar zu machen. im code unten werden zwei dummys angelegt und jeweils das devStateIcon gesetzt. das eine mal nur ein button, das andere mal das ganze in einer tabelle.

ohne aktiviertes longpoll werden beide normal angezeigt:

(siehe Anhang / see attachement)

das icon beim test1 ist meiner meinung nach zu weit rechts. aber ich denke das ist ein anderes problem.

mit longpoll ist der seitenaufbau zuerst korrekt. danach aber wird  (z.b. wenn sich der state durch drücken auf einen der buttons ändert) durch den refresh das icon von test1 verdoppelt und bei test2 verschwinden die buttons und nur der rahmen der tabelle bleibt als kleiner kreis erhalten.

(siehe Anhang / see attachement)

wenn man hier in test2html die \n weg lässt verschwinden die buttons nicht.

gruss
  andre


define test1 dummy
attr test1 devStateIcon {"<div class=\"remotecontrol\"><td class=\"rc_button\"><a onClick=\"FW_cmd('/fhem?XHR=1&cmd.test1=set test1 play')\"><img src=\"/fhem/icons/remotecontrol/black_btn_PLAY\"></a></td> </div>"}
attr test1 room test
define test2 dummy
attr test2 devStateIcon {test2html()}
attr test2 room test


sub
test2html()
{
  my $html;
  $html .= "<div class=\"remotecontrol\"><table class=\"rc_body\"><tr>\n";
  $html .= "<td class=\"rc_button\"><a onClick=\"FW_cmd('/fhem?XHR=1&cmd.test2=set test2 play')\"><img src=\"/fhem/icons/remotecontrol/black_btn_PLAY\"></a></td>\n";
  $html .= "<td class=\"rc_button\"><a onClick=\"FW_cmd('/fhem?XHR=1&cmd.test2=set test2 pause')\"><img src=\"/fhem/icons/remotecontrol/black_btn_PAUSE\"></a></td>\n";
  $html .= "</tr>\n";
  $html .= "</table></div>";
  return $html;
}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig

Dein Problem hat aber nichts mit den anderen hier geschilderten zu tun.

>  das icon beim test1 ist meiner meinung nach zu weit rechts.

Hat damit zu tun, dass du ein <td> zuruecklieferst, und damit der Browser eine neue Spalte aufmacht.


>  wenn man hier in test2html die \n weg lässt verschwinden die buttons nicht.

Klar, \n im Status verwirrt den Parser im fhemweb.js, da die einzelnen Nachrichten durch \n getrennt werden.
Ich habe jetzt vor dem Senden der Nachrichten an das .js die Zeilen von \n befreit und ein neues 01_FHEMWEB.pm eingecheckt.

Fuer die anderen bleibt mein alter Stand, siehe oben.

justme1968

ZitatHat damit zu tun, dass du ein <td> zuruecklieferst, und damit der Browser eine neue Spalte aufmacht.
du hast recht das deshalb das icon zu weit rechts steht. aber das sollte nicht der grund sein das es beim refresh verdoppelt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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