FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: DocCyber am 22 Mai 2016, 12:32:59

Titel: [GELÖST!]Wie Uhrzeit SOFORT anzeigen? (clock widget)
Beitrag von: DocCyber am 22 Mai 2016, 12:32:59
Hallo Forum!

Wenn ich im Clock-Widget keine Sekunden anzeigen möchte, dann geht das so:
<div data-type="clock" data-format="H:i" data-interval="60000"></div>

Allerdings wird die Zeit erst angezeigt, nachdem die erste Minute (60000ms) verstrichen ist.
Gibt es eine Möglichkeit, die Zeit sofort anzuzeigen?
Titel: Antw:Wie Uhrzeit SOFORT anzeigen? (clock widget)
Beitrag von: Sany am 22 Mai 2016, 12:48:33
du kannst entweder data-interval auf 1000 setzen oder den Eintrag ganz weglassen (default = 1000 lt. wiki).
Hab ich bei mir so und läuft wie gewünscht.

Viel Erfolg!
Titel: Antw:Wie Uhrzeit SOFORT anzeigen? (clock widget)
Beitrag von: DocCyber am 22 Mai 2016, 14:01:49
das hatte ich zuvor so gemacht.
Aber dann wird das Ereignis doch trotzdem jede Sekunde ausgelöst...
Was ist dann der Sinn des Intervalls?
Titel: Antw:Wie Uhrzeit SOFORT anzeigen? (clock widget)
Beitrag von: setstate am 23 Mai 2016, 10:31:31
Das ist eine Unsauberheit im Click Widget. Der erste Refresh sollte sofort beim Init passieren und nicht erst nach Ablauf des Intervalls.
Hinter das
            setInterval(f, $(this).data('interval'));


Müsste noch ein f();
Titel: Antw:Wie Uhrzeit SOFORT anzeigen? (clock widget)
Beitrag von: Sany am 23 Mai 2016, 10:46:00
Hallo DocCyber,

ich kenne den Mechanismus, wie die Uhr funkioniert, leider nicht. Ich vermute aber, sie wird beim Aufruf der Seite gelesen (von fhem oder vom Rechner, auf dem der Browser läuft??) und läuft dann im Browser. Das Intervall bestimmt dann nur, wie oft die Anzeige mit der aktuellen Zeit überschrieben wird. Deshalb funktioniert die 60000 auch nicht, da die Zeitanzeige erst nach dieser Minute aktualisiert wird, und diese Minute ja irgendwann anfängt. Die Zeitanzeige wäre also immer nur +- 1/2 Minute genau. Läßt man den Parameter weg, wird jede Sekunde aktualisiert, und die Minutenanzeige wechselt dann auch richtig. Egal ob Sekunden angezeigt werden oder nicht.
Wie gesagt, das ist nur wie ich es mir vorstelle.

EDIT: setstate hat das gerade erklärt. Es ist mir aber noch nicht klar, ob dann der Minutenwechsel dann auch zur Sekunde 0 stattfindet oder einfach alle 60 sec. Mal ausprobieren.


EDIT2: eben ausprobiert: bei Intervall 60000 wird einfach nur alle 60 sec die Anzeige aktualisiert. Unabhängig von den Sekunden. Somit muss das Intervall wohl auf 1 sec eingestellt sein, um eine genaue Anzeige zu haben, auch wenn die Sekunden nicht angezeigt werden
Weiterhin ausprobiert: es wird die Zeit des Rechners genommen, auf dem der Browser läuft! Das kann ja schon mal eine andere Zeit sein, als der fhem-Rechner....


Sany