Nach Umstellung auf Winterzeit falsche Zeit in FHEM

Begonnen von guhu, 31 Oktober 2016, 11:07:34

Vorheriges Thema - Nächstes Thema

guhu

 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?


FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

Jo

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...

Hollo

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.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

justme1968

was gibt denn ein "date" im log wenn du es auf der fhem kommandozeile eingibst?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

guhu

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.
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

guhu

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??

:(
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

justme1968

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

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

guhu

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.

FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

guhu

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
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

justme1968

die " gehören zum kommando. dammit wird in fhem ein shell kommando gekennzeichnet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

guhu

FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS