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
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 :)
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
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.
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
Hey outhouse,
hast du bereits eine lösung für dein Problem gefunden? Falls ja dann teile sie doch bitte mit uns.
Gruß Jody
Hallo,
Lässt sich das nicht einfach mit JavaScript mitteln lösen wie
window.setTimeout
Und
window.location / window.open
?
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
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...
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.
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.
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.