[GELÖST!]Wie Uhrzeit SOFORT anzeigen? (clock widget)

Begonnen von DocCyber, 22 Mai 2016, 12:32:59

Vorheriges Thema - Nächstes Thema

DocCyber

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?
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Sany

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!
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

DocCyber

das hatte ich zuvor so gemacht.
Aber dann wird das Ereignis doch trotzdem jede Sekunde ausgelöst...
Was ist dann der Sinn des Intervalls?
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

setstate

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();

Sany

#4
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
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....