NEWS
Refresh des Browsers nötig um Bild anzuzeigen.
-
Hallo,
ich hätte da mal wieder was auf dem Herzen.
Und signalisiere ich mir über einen Fensterkontakt, ob Post im Briefkasten ist.
Wenn ja dann signalisiere ich das mit einem Bild, hier mal das Widget:
[{"tpl":"tplJquiBool","data":{"oid":"hm-rega.0.3964","visibility-cond":"==","visibility-val":1,"html_true":"","html_false":"","visibility-oid":"hm-rega.0.3964"},"style":{"left":"1089px","top":"530px","width":"90px","height":"91px","background":"none","border-width":"0px","border-style":"none"},"widgetSet":"jqui"}]
Wenn man ein Tablet nicht im Standby ist wird das Bild auch korrekt angezeigt.
Wenn das Tablet im Standby ist, wenn der FK was meldet, das Tablet dann aus dem Standby erwacht, wird nur 'Post da' angezeigt.
Ein Refresh des Browsers zeigt dann auch das Bild an.
Habt ihr auch diese Probleme? Könnte man das über eine refresh-automatik (alle x sekunden ) lösen ?
Gruß
navino
-
Moin,
bei mir ist das ebenfalls, es scheint aber Browserabhängig zu sein.
Auf meinem GalaxyTab3 funktioniert bei mir als einzigster Browser Firefox vernünftig. Das Tablet geht auch anscheinend nur in den Halbschlaf, da ich es über HomeMediaPlay24 via WLAN wieder aufwecken kann (unter DashUI ging bei mir Boat am besten). Nur im Firefox kann ich nach aufwecken des Tablets VIS bedienen.
Jedoch sind bei mir nach dem Aufwecken bei einigen Widgets die Bilder, sowie die Hintergrundbilder in den Views nicht mehr zu sehen. Nach einem Browserrefresh geht wieder alles.
Eine Lösung habe ich noch nicht gefunden, da ein Refesh mir zu lange dauert, bis die View wieder geladen ist.
Gruss Marco
-
Hallo,
ich habe ein ähnliches Problem. Damit das Browser Fenster sich selbständig erneuert habe ich einen Metatag in ein HTML Basic Widget gesetzt, das den Browser jede Stunde erneuert. Evtl. lasse ich das per Skript noch starten, wenn das iPad aufgeweckt wurde.
[{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"0","html":"\n\n\n\n","name":"Reload","comment":"alle 3600s, jede Stunde"},"style":{"left":"3px","top":"724px","width":"71px","height":"22px","z-index":"100","color":""},"widgetSet":"basic"}]
Gruß
Pix
EDIT: Ich sehe gerade, dass der Inhalt nicht mit exportiert wurde
[[Refresh]](javascript:history.go(0);)
-
@pix:Hallo,
ich habe ein ähnliches Problem. Damit das Browser Fenster sich selbständig erneuert habe ich einen Metatag in ein HTML Basic Widget gesetzt, das den Browser jede Stunde erneuert. Evtl. lasse ich das per Skript noch starten, wenn das iPad aufgeweckt wurde. `
Das mit dem refresh ist schon mal eine gute Idee. Wäre ja cool wenn man das so einbauen kann, das wenn sich was geändert hat, das dann der refresh gemacht wird.
Was eigentlich noch fehlt um mit iobroker richtig glücklich zu werden, ist eine App die die URL vom ioBroker anzeigt.
Dann hätte man nicht diesen Browser-probleme und auch eine Vollansicht.
Gruß
navino
-
Was eigentlich noch fehlt um mit iobroker richtig glücklich zu werden, ist eine App die die URL vom ioBroker anzeigt. `
Bin mir nicht sicher, dich richtig zu verstehen. http://forum.iobroker.org/viewtopic.php?f=30&t=1070&hilit=+wie+macht#p8486 wird ja auf eine App hingewiesen, die dann im Vollbildmodus auf Android läuft. Die hatte ich Dir mal gezeigt.Meinst Du das - oder doch was ganz anderes?
<u>Übrigens:</u>
Ich habe auch diese Probleme mit dem Refresh. Muss mal gleich Pix's Vorschlag ausprobieren.
So long,
Fitti
144_avatare.png -
…und der fehlende refresh ist definitiv debr Android version und/oder der Browserversion geschuldet. Ich habe den eindruck, Je neuer das ganze, desto mehr Probleme. Anscheinend wird hier immer mehr auf stromsparen optimiert.
Gesendet von meinem LIFETAB_S785X mit Tapatalk
-
Was eigentlich noch fehlt um mit iobroker richtig glücklich zu werden, ist eine App die die URL vom ioBroker anzeigt. `
Bin mir nicht sicher, dich richtig zu verstehen. http://forum.iobroker.org/viewtopic.php?f=30&t=1070&hilit=+wie+macht#p8486 wird ja auf eine App hingewiesen, die dann im Vollbildmodus auf Android läuft. Die hatte ich Dir mal gezeigt.Meinst Du das - oder doch was ganz anderes? `
Ja genau das meine ich. Die App bleibt allerdings bei mir hängen. Ich habe auch den Eindruck, das es dort keine Weiterentwicklung mehr gibt und die Sache schon ein wenig älter ist.
Aber genau das wäre wahrscheinlich eine gute Lösung. Bin ja Java-Entwickler und könnte das eignetlich mal versuchen, habe allerdings zur Zeit noch genug mit ioBroker und VIS zu lernen.
(Dafür noch mal ein großes Lob an Euch für die Unterstützung, macht richtig Spaß das ganze)
Der refresh über eine ganze Seite (Vorschlag von pix) kann doch nur eine Notlösung sein, Das ganze dauert zu lange, und wann triggert man das an, eigentlich dann wenn man erkennen könnte,
wenn sich was geändert hat.
Für solche Refresh-Geschichten für Teile einer Seite ist ja eigentlich ajax da, wie das aber mit ioBroker umzusetzen wäre es dann noch die große Frage.
Gruß
navino
-
Ja genau das meine ich. Die App bleibt allerdings bei mir hängen. Ich habe auch den Eindruck, das es dort keine Weiterentwicklung mehr gibt und die Sache schon ein wenig älter ist. `
Die läuft bei mir glücklicherweise stabil.Habe nicht die spur einer IDee, wie diese app funktioniert. Ich nehme aber an, dass diese keinen eigenen Webbrowser mitbringt. Eher, dass diese den StandardBrowser im Vollbild aufruft.
Oder was meinst Du?
Du wärst natürlich der Held wenn Du auf Android da noch was schaffen würdest… :mrgreen:
So long,
Fitti
-
Die läuft bei mir glücklicherweise stabil. `
und du hast aber auch Aktualisierungsprobleme damit?Habe nicht die spur einer IDee, wie diese app funktioniert. Ich nehme aber an, dass diese keinen eigenen Webbrowser mitbringt. Eher, dass diese den StandardBrowser im Vollbild aufruft.
Oder was meinst Du? `
Ich denke ohne das genau zu wissen, das der interne Browser bzw. die engine für das interpretieren von HTML benutzt wird. Auf meinem Nexus5 habe ich letzte Zeit öfters update für die WebViewControl bekommen.
@Fitti:Du wärst natürlich der Held wenn Du auf Android da noch was schaffen würdest… :mrgreen: `
Ich will eigenlich nur eine coole Haussteuerung, nicht der Held sein
Gruß
navino
-
Die läuft bei mir glücklicherweise stabil.
und du hast aber auch Aktualisierungsprobleme damit?
Leider ja. Ich habe diese aber auch mit dem normalen Browser unter Android 5.0.1.
Mit dem Dolphin Browser kommt nur noch quark raus.
Ehrlich gesagt - ich sehe gar keine andere Möglichkeit.
Ich denke also, das das Refresh-Thema evtl. auch in ioBroker zu suchen ist.
Pix's Lösung geht auc nicht bei mir. Refreshed nicht alle 60 minuten. Schade. Aber ich kann Problemlos durch den Link jetzt manuell refreshen.
Aber noch einmal zur Verdeutlichung: Ich habe nur Probleme mit HTML Widgets, die auf einen bestimmten Refreshintervall selber refreshen sollen. Z. B. alle 20 Sekunden von der Kamera ein Bild abholen.
Icons, Filter usw. gehen alle.
Fitti
-
Aber ich kann Problemlos durch den Link jetzt manuell refreshen. `
Du kannst das auch mit Bordmitteln (Control interface) machen. Hier ein Widget, das auf klick alle offenen VIS-Views aktualisiert (auch die im Edit-Modus)[{"tpl":"tplBasicState","data":{"oid":"vis.0.control.command","visibility-cond":"==","visibility-val":1,"value":"{\"instance\": \"FFFFFFFF\", \"command\": \"refresh\"}","html":"[Reload]"},"style":{"left":"353px","top":"724px","width":"65px","height":"22px"},"widgetSet":"basic"}]
Das kann man natürlich auch in einen Cronjob im Script packen oder an eine Aktion hängen (siehe oben, Post im Briefkasten)
Gruß
Pix
-
Hallo,
habe jetzt noch mal einige Tests gemacht, aber um es vorweg zu nehmen, ich verstehe momentan gerade nichts.
Auf dem Tablet verwende ich momentan den Firefox.
Ich habe mein Tablet für Testzwecke so eingestellt, das das Display nach 15 Sekunden ausgeschaltet wird (Was da noch alles passiert, weiß ich nicht).
Wenn ich kurz später den FK betätige, dann das Tablet anmache, ist das Bild da.
Wenn ich das Tablet aber nach 15 Minuten anmache, ist das Bild nicht da, kommt dann aber nach einiger Zeit(momentan habe ich gar kein refresh eingebaut)
Da mein Tablet nicht das allerschnellste ist, und der Refresh echt einige Zeit in Anspruch nimmt, würde ein kompletter refresh meiner Meinung am meißten Sinn machen, wenn das Display eingeschaltet wird.
Ich schalte das Tablet über einen Bewegungsmelder und einer Homematic-Zwischenschalter ein.
Gruß
navino
-
Ich schalte das Tablet über einen Bewegungsmelder und einer Homematic-Zwischenschalter ein. `
Ist bei mir eine stromlose Statusanzeige, aber das ist egal.// Refresh: wenn keine Instanz angegeben, dann auf allen Browsern function reload_views(instanz) { if (!instanz) instanz = "FFFFFFFF"; setState("vis.0.control.command", '{"instance": "' + instanz + '", "command": "refresh"}'); log('Vis Views im Browser ' + instanz + ' per control.command aktualisiert'); } // Aktor überwachen on("hm-rpc.0.ZWISCHENSTECKERSERIENNUMMER.1.STATE", function(obj) { // Wenn Schaltaktor true if (obj.newState.val) { setTimeout(function (){ reload_views("FFFFFFFF"); // alle Browser, später nur Wandtablet log('Aktor eingeschaltet, Vis-View wird aktualisiert'); }, 5000); // 5s Verzögerung, damit das Gerät auch eingeschaltet ist, wenn der Reload Befehl kommt. } });
Nicht wundern, dass ich das in zwei Funktionen gepackt habe. DIe obere ist eine globale Funktion, also eigentlich ein eigenes Skript. Die untere ist eine von mehreren Szenarien, die zum Refresh führen.
Gruß
Pix
-
@pix:Nicht wundern, dass ich das in zwei Funktionen gepackt habe. DIe obere ist eine globale Funktion, also eigentlich ein eigenes Skript. Die untere ist eine von mehreren Szenarien, die zum Refresh führen. `
Momentan habe ich noch keine Java-Scripte verwendet. Kannst du mir noch sagen, wie ich in meine View einbaue?
BInschon ganz gespannt das zu Testen.
Gruß
navino
6305_lueftung_hm1.png
6305_lueftung_hm2.png
6305_lueftung_hm3.png -
Momentan habe ich noch keine Java-Scripte verwendet. ` Das wusste ich nicht.
@navino:Kannst du mir noch sagen, wie ich in meine View einbaue ` Du legst ein neues Skript an im Javascript Adapter (bitte in die Doku schauen, wenn du Hilfe brauchst). Dann kopierst du den obigen Code in das Skript, änderst die Zeile 9 und passt die HM-Seriennummer deines Aktors (der das Tablet schaltet) an. Dann Skript speichern und aktivieren. Wenn der Aktor nun auf true geht, werden alle Views in allen Browsern neu geladen. In VIS brauchst du vorerst gar nichts zu tun.
Gruß
Pix
-
@pix:Du legst ein neues Skript an im Javascript Adapter (bitte in die Doku schauen, wenn du Hilfe brauchst). Dann kopierst du den obigen Code in das Skript, änderst die Zeile 9 und passt die HM-Seriennummer deines Aktors (der das Tablet schaltet) an. Dann Skript speichern und aktivieren. Wenn der Aktor nun auf true geht, werden alle Views in allen Browsern neu geladen. In VIS brauchst du vorerst gar nichts zu tun. `
Also der Apapter ist installiert und aktiviert und ein Script habe ich angelegt. Irgendwas mache ich noch falsch… Zwei Fragen zu dem Script:
on("hm-rpc.0.TabletSteckdose:1.STATE", function(obj) { // Wenn Schaltaktor true if (obj.newState.val) { setTimeout(function (){ reload_views("FFFFFFFF"); // alle Browser, später nur Wandtablet log('Aktor eingeschaltet, Vis-View wird aktualisiert'); }, 5000); // 5s Verzögerung, damit das Gerät auch eingeschaltet ist, wenn der Reload Befehl kommt. }else{ log('Aktor ausgeschaltet, Vis-View wird aktualisiert'); } });
Mein Aktor der Zwischenstecker heißt in der Homematic CCU, so habe ich das auch im script geändert, ist das richtig ?
In der Zeile:
if (obj.newState.val) {
wird doch hier nach true abgefragt (also ist der Schalter eingeschaltet) , oder ?
Ich schalte ja über den Bewegungsmelder die Steckdose aus, damit das Tablet an geht.
Muß ich das hier dan abändern?
Gruß
navino
639_tabletsteckdose.jpg -
@pix:Du legst ein neues Skript an im Javascript Adapter (bitte in die Doku schauen, wenn du Hilfe brauchst). Dann kopierst du den obigen Code in das Skript, änderst die Zeile 9 und passt die HM-Seriennummer deines Aktors (der das Tablet schaltet) an. Dann Skript speichern und aktivieren. Wenn der Aktor nun auf true geht, werden alle Views in allen Browsern neu geladen. In VIS brauchst du vorerst gar nichts zu tun. `
Hallo Pix,
mein erstes Script will nicht laufen, woran könnte das liegen?? Ich habe das if geändert, da ich den Aktor ausschalte (ist das richtig??)
Gruß
navino
639_script.jpg -
Ich habe das if geändert, da ich den Aktor ausschalte (ist das richtig??) `
Ich glaube, an dieser Stelle (Zeile 10) ist die Abkürzung nicht so gut (in Verbindung mit newState.val).Versuche mal lieber:
if (obj.newState.val =="false" || obj.newState.val === false) { setTimeout(function (){ reload_views("FFFFFFFF"); // alle Browser, später nur Wandtablet log('Aktor eingeschaltet, Vis-View wird aktualisiert'); }, 5000); // 5s Verzögerung, damit das Gerät auch eingeschaltet ist, wenn der Reload Befehl kommt. } else ...
Gruß
Pix
-
Hallo,
der refresh klappt leider nicht, auch die Ausgabe steht nicht im log.
Was kann denn jetzt noch falsch sein?
Gruß
navino
639_eins.jpg
639_zwei.jpg
2094_photo5366069798628337898.jpg -
Warum steht bei dir ":" in dem ID? Ich habe z.B. kein Objekt mit ":".
Versuche mal:
on("hm-rpc.0.LEQ1068415.1.STATE", function (obj) { console.log(obj.newState.val); });