[gelöst] 2 unterschiedliche Uhrzeiten in FhemWeb Browser-Tabs seit Winterzeit

Begonnen von Jamo, 08 Dezember 2018, 22:55:19

Vorheriges Thema - Nächstes Thema

Jamo

Ich habe seit der Umstellung auf Winterzeit den Effekt, das die Bahnhofs-Uhr in FHEM WEB mal richtig, mal falsch, und komischerweise auch unterschiedlich um eine Stunde versetzt gleichzeitig in verschiedenen Browser-Tabs angezeigt wird (siehe Bild). Das ganze ist unabhängig davon, ob ich die FHEM Web Instanz auf dem Heim-PC, oder vom Handy aus aufrufe.

Rufe ich 'date' auf dem Raspi B+ (Stretch, ganz aktuell und aktualisiert) auf, wird aber immer die richtige Zeit unter Linux auf dem Raspi angezeigt. Ich habe schon viel gegoogled, aber nichts gefunden was das Problem löst. Ich denke es liegt an der Zeile 251 in dem angehängten station-clock.js, wo die Zeit mit // get current time
var time    = new Date();
aufgerufen wird, aber die Zeitzone nicht mit übergeben wird. Aber ich habe keine Ahnung, was ich da aendern muss. Ich habe schon viele Sachen gegoogled, aber das java erschliesst sich mir nicht.

Hat jemand eine Idee/Lösung?

Die Bahnhofsuhr ist aus https://forum.fhem.de/index.php/topic,53286.45.html
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

KernSani

Hi,

am Besten wendest du dich an den Autor der Uhr... Die entsprechenden Forumsthreads sind ja in dem von dir angegebenen Post bereits enthalten.

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

amenomade

ZitatRufe ich 'date' auf dem Raspi B+ (Stretch, ganz aktuell und aktualisiert) auf, wird aber immer die richtige Zeit
Das bringt ja nichts, da die Zeit vom Browser via js gelesen wird, und nicht die Zeit des Raspis. Es sei denn, dein Browser läuft auf dem Raspi.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jamo

Ja, ich wollte ja auch nur mitteilen, das die Zeit auf dem Raspi ok ist, aber im Browser eben nicht. Mir war nicht klar woher der Browser seine Zeit holt.
Hast Du eine Idee wie ich das komische Verhalten behebe?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

amenomade

Es sollte die System-Zeit des Rechners lesen. Da müsste man mit F12 Tools debuggen, um zu wissen was passiert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jamo

Ich beobachte das ja sowohl auf dem Browser am PC als auch auf dem Safari Browser am Handy, am Rechner kann es ja dann nicht liegen. Ich verstehe nicht, wo das Java Ccript seine Zeit herholt.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Ellert


amenomade

Das hängt vielleicht nicht an die Zeit, sondern an irgendwelche andere Variable. Die einzige Möglichkeit ist:
- mit F12 die Tools im Browser aktivieren
- auf Debug Reiter gehen,
-  fhem Seite laden, dann in dem clock.js reingehen, ein paar Haltepunkte setzen, die Fhem Seite neu laden und die Variablen schauen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jamo

So, ist geloest, nach langem Suchen habe ich die folgenden Zeilen durch Einfügen von UTC geändert, damit gehts jetzt.
// get current time
      var time    = new Date();
      var millis  = time.getMilliseconds() / 1000.0;
      var seconds = time.getSeconds();
      var minutes = time.getMinutes();
      var hours   = time.getHours() + this.hourOffset;


// get current time
      var time    = new Date();
      var millis  = time.getUTCMilliseconds() / 1000.0;
      var seconds = time.getUTCSeconds();
      var minutes = time.getUTCMinutes();
      var hours   = time.getUTCHours() + this.hourOffset;
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack