Zeitproblem: Alle Zeiten werde um eine Stunde zu spät angelegt

Begonnen von Zrrronggg!, 12 April 2016, 01:36:20

Vorheriges Thema - Nächstes Thema

franky08

Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

rudolfkoenig

fhem> { mktime(0,1,0,13,3,116,3,103,1) }
fhem> { mktime(0,1,23,12,3,116,2,102,1) }

Zrrronggg!

fhem> { mktime(0,1,0,13,3,116,3,103,1) }
1460498460
fhem> { mktime(0,1,23,12,3,116,2,102,1) }
1460494860
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

ZitatVlt. wirst du hier fündig: http://www.perl-community.de/bat/poard/thread/15824
Der Inhalt des Threads is leider klar jenseits meiner Fähigkeiten.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Prof. Dr. Peter Henning

Ist doch gar nicht kompliziert.

Es geht nur darum, dass eine der Timezone-Variablen auf CET statt CEST eingestellt ist - also keine Sommerzeit kennt.

LG

pah

Zrrronggg!

Zitatdass eine der Timezone-Variablen auf CET statt CEST eingestellt ist - also keine Sommerzeit kennt.
1. Woran erkenn ich das? oder anders: Wieviele Stellen hat so ein LINUX wo das eingestellt werden muss?
2. Wieso sind dann alle sonstigen Zeiten richtig?
3. Wo stelle ich das ein
4. Wieso hat das System in den letzten Jahren die Sommerzeit automatisch übernommen und diesmal nicht?
Oder anders: die die Kiste benutzt NTP -   (Okay, das ist die grosse Frage ich weiss.)

Da es sich um eine Bufallo-Linkstation handelt, hat die eigentlich eine Oberfläche wo man das alles einstellen kann und da steht natürlich alles richtig
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

rudolfkoenig

NTP sorgt "nur" fuer die genaue UTC-Uhrzeit. Das systemweite Offset steht ueblicherweise in /etc/localtime, was je nach Distribution ein Link nach /usr/share/zoneinfo/XX/YY ist (Beispiel fuer XX/YY ist Europe/Berlin), oder eine Kopie dieser (binaeren) Datei. Fuer einzelne Prozesse kann man den Offset durch die Umgebungsvariable TZ setzen, wie man das Systemweit setzt, ist je nach Distribution unterschiedlich. Das alles ist aber eigentlich kein Thema fuer dieses Forum.

Ich schaffe mit einem "falsch" gesetzten TZ (z.Bsp. GMT-1, da CET/MET, laut wiki beide gueltig, die Sommerzeit liefern) keine Abweichung zwischen localtime und mktime, d.h. die in der Log angezeigte Uhrzeit und die per at definierte passen zusammen.

Ich will noch rauskriegen, ob ich beim mktime Aufruf noch was machen kann. Laut "man mktime"
ZitatThe value specified in the tm_isdst field informs mktime()  whether  or
       not  daylight  saving  time (DST) is in effect for the time supplied in
       the tm structure: a positive value means DST is in effect;  zero  means
       that  DST  is  not  in effect; and a negative value means that mktime()
       should (use timezone information and system databases  to)  attempt  to
       determine whether DST is in effect at the specified time.
Kannst du bitte folgendes probieren:
Zitatfhem> { mktime(0,1,0,13,3,116,0,0,-1) }
fhem> { mktime(0,1,0,13,3,116,0,0, 1) }
fhem> { mktime(0,1,0,13,3,116,0,0, 0) }
Falls bei dir die erste Variante 1460498460 anzeigt, dann stelle ich FHEM um.
Sonst bleibt es bei dir das Problem irgendwo im OS zu suchen.

Zrrronggg!

#22
Hi Rudolf,

fhem> { mktime(0,1,0,13,3,116,0,0,-1) }
1460498460
fhem> { mktime(0,1,0,13,3,116,0,0, 1) }
1460498460
fhem> { mktime(0,1,0,13,3,116,0,0, 0) }
1460502060


D.H. beide Methoden liefern das selbe Ergebnis,.

ZitatIch schaffe mit einem "falsch" gesetzten TZ (z.Bsp. GMT-1, da CET/MET, laut wiki beide gueltig, die Sommerzeit liefern) keine Abweichung zwischen localtime und mktime, d.h. die in der Log angezeigte Uhrzeit und die per at definierte passen zusammen.
Das habe ich quais umgekehrt probiert, nämlich das Problem damit zu lösen. Was aber nicht geklappt hat, es passten immer die Zeiten nicht zusammen.


ZitatNTP sorgt "nur" fuer die genaue UTC-Uhrzeit. Das systemweite Offset steht ueblicherweise in /etc/localtime, was je nach Distribution ein Link nach /usr/share/zoneinfo/XX/YY ist (Beispiel fuer XX/YY ist Europe/Berlin), oder eine Kopie dieser (binaeren) Datei. Fuer einzelne Prozesse kann man den Offset durch die Umgebungsvariable TZ setzen, wie man das Systemweit setzt, ist je nach Distribution unterschiedlich. Das alles ist aber eigentlich kein Thema fuer dieses Forum.

Ja, ich habe mich auch ausprobiert und symlinks auf diverse XX/YY gesetzt (habe mir vorher angesehen, was die Linkstation da alles hat). Das hat aber keinen erkennbaren Erfolg. localtime durch eine richtige Kopie ersetzen habe ich noch nicht gemacht.

Das das alles auf dem Level keine Thema für dieses Forum ist, ist mir klar.

Zitatand a negative value means that mktime()
       should (use timezone information and system databases  to)  attempt  to
       determine whether DST is in effect at the specified time.
Ich dachte eine Zeitlang, da könnte der Hase im Pfeffer liegen: Da das OS schon was älter ist, gehen die system databases ebentuell nur bis 2015 oder so. Diese Auffassung vertrat eine Kollege von mir, als ich ihm das Problem schilderte.
Aber wenn
[code]fhem> { mktime(0,1,0,13,3,116,0,0,-1) }
1460498460
fhem> { mktime(0,1,0,13,3,116,0,0, 1) }
1460498460

kann das ja auch nicht sein oder?

Ich werde jedenfalls kaum in der Lage sein, den Fehler im OS zu finden, dazu hab ich einfach nicht genug LINUX Kenntnsisse. Eher werd ich meine config so umschreiben, dass sie selbst weiss wann Sommerzeit ist und dann alle "at" um eine Stunde vorverschiebt.

Ist natürlich ne Grusellösung.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

rudolfkoenig

Ich habe 90_at.pm so geaendert, dass mktime explizit mit -1 aufgerufen wird.
Das sollte default sein, ist bei deinem Perl oder POSIX Modul wohl nicht der Fall.

Zrrronggg!

Okay, mal sehen.

Warum das bei mir nicht so ist ... Tja, keine Ahnung.
Das lief bisher eigentlich und
Ich hab nichts verändert (TM)
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

franky08

War heute früh im update
90_at.pm                 11273 2016-04-17 18:16:12Z rudolfkoenig

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Zrrronggg!

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL