FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Kalendermodule => Thema gestartet von: zweiundzwanzig am 09 Oktober 2022, 13:42:09

Titel: Zeitzonenprobleme
Beitrag von: zweiundzwanzig am 09 Oktober 2022, 13:42:09
Ich nutze mehrere Calendar Module, die ein durch eine externe webanwendung generiertes ics file importieren.
Leider ist die definition der Zeiten dort so :
DTSTART;TZID=UTC:20221009T094500
DTEND;TZID=UTC:20221009T113000

also in UTC.

Wenn ich "get MyCalendar events format:full" mache werden die Zeiten nicht korrekt umgerechnet,Im Moment löse ich das mit onCreateEvent {$e->{end}= $e->{end}+7200 ;; $e->{start}= $e->{start}+7200 ;; $e->{alarm}= $e->{start}-7200}
Also addiere ich auf den Start und das Ende die 2 Sunden Differenz zwischen UTC und lokaler Sommerzeit (und generiere dann noch unabhängg davon eine Alarmzeit).

Das finde ich nicht elegant weil ich das am 30. Oktober auf 1 Stunde ändern muss und im März zurück.

Geht das eleganter? Habe ich etwas übersehen?
Titel: Antw:Zeitzonenprobleme
Beitrag von: betateilchen am 09 Oktober 2022, 14:42:49

onCreateEvent {
my $nt = time;
my @lt = localtime($nt);
my $offset= _calctz($nt,@lt)*HOURSECONDS;
$e->{alarm}= $e->{start}; # durch das Vorziehen erspart man sich die Subtraktion des vorher zu {start} addierten Offsets ;)
$e->{start}= $e->{start}+$offset;
$e->{end}= $e->{end}+$offset;
}