Problem mit Kalenderwoche

Begonnen von dt2510, 30 Januar 2017, 16:28:25

Vorheriges Thema - Nächstes Thema

dt2510

Ich verwende folgenden Code um die Kalenderwoche zu ermitteln

my ($sec,$min,$hour,$dayn,$month,$year,$wday,$yday,$isdst) = localtime(time);
my $donthisweek = $yday+5-$wday;
my $donfirst = ($donthisweek % 7) + 1;
my $kw = floor(($donthisweek - $donfirst)/7);
$kw += ($wday == 0) ? 0:1;


Bis Ende letzten Jahres hat das soweit funktioniert. Allerdings hat der Jahreswechsel mit KW0 begonnen (aktuell bin ich KW4 statt 5).
Wie kann ich das Problem am einfachsten lösen ?

Laserhelge

Hab's auch gerade mal ausprobiert und bekomme die "19" angezeigt, obwohl wir bereits die KW 20 haben. Meine Perl-Kenntnisse reichen leider nicht um das zu fixen.

Gibt's vielleicht einen Profi der sich das Problem annehmen kann?

Danke und viele Grüße

Klaus
FHEM auf Raspberry 4 / CUL / KNX / Loxone Miniserver

Damian

Falls du DOIF benutzen solltest, kannst du dort in der Bedingung die Variable $week abfragen. Sie beinhaltet aktuell den Wert 20.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fiedel

Hier gibt es noch eine Lösung, die endlich alle Fallstricke der autarken KW- Bestimmung innerhalb FHEM erschlagen sollte.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423