FHEM Forum

FHEM => Frontends => Thema gestartet von: outhouse am 08 April 2013, 16:33:29

Titel: Browser-Refresh automatisieren
Beitrag von: outhouse am 08 April 2013, 16:33:29
Hallo Leute

Irgendwas will mir einfach nicht in den Kopf...

Also. Das Vorhaben: Mit Ein- bzw. Ausschalten des Dämmerungsschalters soll das Hintergrundimage (Tag / Nacht) auf dem Monitor ändern. Damit aber der Bildschirm nicht unendlich neu aufgebaut (refresht) wird, soll das entsprechende Attribut (nach kurzer Zeit) wieder gelöscht werden.

Attribut einschalten:

define RefreshOn notify VP_Daemmerung.* {{fhem ("attr WEBtablet refresh 10")};;  }

Funktioniert prächtig :-)

Attribut löschen:

define RefreshOff notify VP_Daemmerung.* {{fhem ("deleteattr WEBtablet refresh")}fhem "save";; }

Funktioniert genau so prächtig :-)

Attribut aber erst nach (z. B.) 1 Minute löschen:

define RefreshOff notify VP_Daemmerung.* {{fhem ("define RefreshOffTest at +00:01:00 deleteattr WEBtablet refresh")}fhem "save";; }

funktioniert ganz und gar nicht. Wie es scheint, hasst mich diese Formel.

Es werden mir von dem Teil gleich 3 Zeilen (3 x dieselbe )Fehlermeldungen um den Kopf geschlagen

define RefreshOffTest at +00:01:00 deleteattr WEBtablet refresh : RefreshOffTest already defined, delete it first

Wo könnte das Problem liegen?

Gruss

Chris
Titel: Aw: Browser-Refresh automatisieren
Beitrag von: rudolfkoenig am 08 April 2013, 16:51:17
Das Problem liegt in der Annahme, dass die erste Version funktioniert.

refresh 10 setzt eine Zeile in Header, die dem Browser sagt, dass nach 10 Sekunden ein refresh durchzufuehren ist. Falls refresh vorher nicht gesetzt war, und niemand eine neue Seite von fhem laedt, dann kommt diese Info beim Browser aber nie an.

Und das hier:
{{fhem ("deleteattr WEBtablet refresh")}fhem "save";; }
sollte man bitte als
{ fhem "deleteattr WEBtablet refresh";; fhem "save";; }
schreiben, damit Leute die perl kennen keine Kopfschmerzen kriegen. Oder gleich als
deleteattr WEBtablet refresh;;save


Wird aber deswegen noch nicht funktionieren :)
Titel: Aw: Browser-Refresh automatisieren
Beitrag von: outhouse am 08 April 2013, 17:54:08
Zitat von: rudolfkoenig schrieb am Mo, 08 April 2013 16:51damit Leute die perl kennen keine Kopfschmerzen kriegen.


Hallo

Die (Kopfschmerzen) kriege ich, wenn ich nur schon an perl denke :-)

Trotzdem. Danke für die Info. Hoffe, ich werde den Personen, die perl kennen, nicht zu viele Kopfschmerzen verursachen :-)

Gibt es denn irgend eine Möglichkeit, quasi den bzw. einen Link (href) "anzustossen"? So im Sinne: Wenn die Glocke zuschlägt, gehe auf den Link xy... (welcher ja auf das Nacht- bzw. Tagleben schon vorbereitet ist)

Gruss

Chris
Titel: Aw: Browser-Refresh automatisieren
Beitrag von: rudolfkoenig am 08 April 2013, 18:02:50
Wenn der Browser nicht zuhoert, dann kann man ihm auch nicht sagen, dass er ab jetzt zuhoeren soll.

Evtl. ist longpoll ein Ausweg, verursacht etwas weniger Datenaustausch.
Titel: Aw: Browser-Refresh automatisieren
Beitrag von: outhouse am 09 April 2013, 07:14:19
Hi

Longpoll ist schon aktiviert und läuft bei mir sehr gut. Es refresht aber lediglich die Icons; nicht das Hintergrundbild :-)

Naja. Vielleicht finde ich ja doch noch eine Lösung...

Chris
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: jody am 21 November 2013, 15:30:41
Hey outhouse,

hast du bereits eine lösung für dein Problem gefunden? Falls ja dann teile sie doch bitte mit uns.

Gruß Jody
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: Johannes am 21 November 2013, 21:16:29
Hallo,

Lässt sich das nicht einfach mit JavaScript mitteln lösen wie
window.setTimeout
Und
window.location / window.open

?
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: jody am 22 November 2013, 08:01:49
Hallo Johannes,

im Moment kann ich leider noch nichts mit deinem Tipp anfangen, ich bin aber gewillt mich mit dem Thema ausseinander zu setzen.
Kannst du mir ein Beispiel geben, wie man Java-Script mit/in fhem verwendet??

Im Prinzip würde es mir reichen, irgendeinen Befehl abzuschicken, der einen entfernten Browser refreshed (F5).

Danke

Gruß Jody
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: Johannes am 22 November 2013, 17:23:11
Im FHEM Ordner müsste es eine *.js Datei geben (fhem / fhemweb o.ä.), in die du dich "reinhängen" kannst. Es geht aber sicher auch eleganter, Rudolf könnte das sagen..

Im Prinzip kann man jedenfalls mit einem Befehl wie

window.setTimeout(function() {window.location.reload();}, 5000);

den Browser dazu bewegen, die Seite nach 5 Sekunden neu zu laden (5000ms = 5s).

Ob das für deinen Anwendungszweck reicht ist mir aber nicht ganz klar, da du von "entfernter" Browser sprichst...
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: Trebor5 am 10 Dezember 2014, 20:15:45
Hallo ,

wie heist die Datei genau ?

Ich rufe auf einem "Client Fhem" das RSS vom Hauptfhem auf und würde das gerne alle 10 minuten automatisch Aktualisieren.

Vielen Dank.
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: betateilchen am 10 Dezember 2014, 20:25:48
Zitat von: Trebor5 am 10 Dezember 2014, 20:15:45
Ich rufe auf einem "Client Fhem" das RSS vom Hauptfhem auf und würde das gerne alle 10 minuten automatisch Aktualisieren.

Mach doch einfach. Das Refresh kannst Du direkt im RSS definieren. Ein Blick in die commandref wird Dir offenbaren, dass es dafür extra ein Attribut namens "refresh" gibt.
Titel: Antw:Browser-Refresh automatisieren
Beitrag von: Trebor5 am 12 Dezember 2014, 17:02:03
Sorry ,

ich habe alles mögliche schon probiert und natürlich auch das refresh aus der commandref ausprobiert leider alles ohne Erfolg.

Kurz nochmal die Situation.

Raspberry 1 = Erzeugung des RSS ( Hier laufen auch alle Schalter usw. auf quasi die Hauptfhem inst. verbunden mit Rasp2 per Fhem2fhem)
Raspberry 2 = hinter einem Spiegel verbaut der nur das RSS aufruft und es alle z.B. 10 minuten aktualisieren soll.

Ich bekomme es einfach nicht hin egal wo ich etwas eintrage. Man gehen die Stunden ins Land.