Hallo zusammen,
nach der Umstellung auf die Winterzeit geht fhem eine Stunde nach - also so, als ob die Uhr nicht um eine, sondern um zwei Stunden umgestellt wurde. Das Problem tritt allerdings schon in Perl offenbar auf:
Nämlich in fhem wird ausgegeben:
{localtime(time)}
Mon Oct 31 10:03:53 2016
Auf Unix-Ebene kommt heraus:
admin@Diskstation:~$ date
Mon Oct 31 11:03:59 CET 2016
Ich habe fhem aktuelle Version auf DSM 6.0.2 DS215j. Perl von opkg
NTP-Server auf der Diskstation ist aktiviert. Auch intensives Googlen hat nichts gebracht. Und meine Frau war nicht begeistert, heute morgen in eine kalte Küche zu kommen .. :(
Weiß einer, was das sein kann?
Ich denke das es was mit der Diskstation zu tun hat, bei mir Fhem auf Raspi wurde die Zeit richtig umgestellt, sieht man auch schön auf ein paar SVGs. Nur Twilight hat einen Tag später umgestellt...
Zitat von: guhu am 31 Oktober 2016, 11:07:34
...NTP-Server auf der Diskstation ist aktiviert...
NTP an sich kennt keine Sommer-/Winterzeitumstellung.
Das erfolgt über die Zeitzonen-/Sommerzeiteinstellung im Device.
Ich gehe mal davon aus, dass Dein FHEM 1:1 die Zeit nimmt, die Deine Diskstation-Umgebung nutzt.
was gibt denn ein "date" im log wenn du es auf der fhem kommandozeile eingibst?
gruss
andre
Danke für die Antworten.
Wie oben geschrieben: FHEM nimmt die Zeit, die Perl liefert (siehe localtime oben). Und die Diskstation liefert eben eine Stunde später (was korrekt ist). Siehe die Ausgabe dazu auch oben.
Ist mir absolut unverständlich.
Ein bißchen weiter bin ich nun, aber noch nicht bei der Lösung ..
admin@Diskstation:~$ perl -MPOSIX -le 'print scalar tzname'
GMT
admin@Diskstation:~$ date
Tue Nov 1 09:08:14 CET 2016
Also Perl hat als Zeitzone nunmehr GMT, obwohl der Rechner korrekt CET hat. Wo saugt sich Perl das nur her??
:(
deswegen hatte ich oben nach der ausgabe von "date" gefragt.
jeder prozess kann eine eigene zeitzonen konfiguration haben. schau mal im fhem start script nach. und setze dort die richtige. es gab schon mal einen thread dazu.
gruss
andre
Ja, date hatte ich ja oben angegeben. Danke für den Tip.
So, habe die Lösung. Aus irgend einem Grund hat der User root die falsche Zeitzone seit Samstag gehabt, also schon vor der Zeitumstellung.
Habe nunmehr das Startskript von fhem erweitert um:
export TZ=CET-1CEST,M3.5.0,M10.5.0/3
Damit geht es nun. Woher root die falsche Zeitzone hat, keine Ahnung. /etc/TZ ist richtig und im .profile von root steht nichts drin.
nein. hattest du nicht :)
ich hatte nach "date" aus der fhem kommandozeile gefragt. nicht nach data auf der shell. bei ersterem wird das date kommando mit dem environment des fhem prozesses ausgeführt und die unterschiedliche zeitzone ist zu sehen.
gruss
andre
ok, ein date in fhem gibt unknown command, auch mit den diversen Klammern und im Log nichts.
Deshalb hatte ich ja in fhem {localtime(time)} ausgeben lassen. Danke, GuHu
die " gehören zum kommando. dammit wird in fhem ein shell kommando gekennzeichnet.
Alles klar. dann geht's :)