FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: mi.ke am 03 November 2015, 09:15:54

Titel: Advent / Weihnachtszeit
Beitrag von: mi.ke am 03 November 2015, 09:15:54
Tach.

Es gibt zwar schon Lösungen hierfür, aber ich dachte mir, da es ein anderer Weg ist, stell ich's mal zur Verfügung.

Also, Ihr braucht ein at für den Tageswechsel (Vermutlich schon vorhanden)

define Tageswechsel_at at *00:00:01 . . .

einen dummy für die Ausgabe

define Weihnachtszeit dummy

und ein notify zur "Berechnung"


define Weihnachtszeit_n notify Tageswechsel_at {
my $count = ReadingsVal("Weihnachtszeit","count",0);
if ($wday == 0 && ($month == 11 && $mday > 26)||($month == 12 && $mday <= 3)) {fhem("setreading Weihnachtszeit count 1;set Weihnachtszeit 1;attr Weihnachtszeit stateFormat state . Advent")};

if ($wday == 0 && $count > 0 && $count <=4 && $month == 12) {$count = $count + 1}; {fhem("setreading Weihnachtszeit count $count;set Weihnachtszeit $count")};

if ($count == 4 && $month == 1 && $mday > 6) {fhem("deletereading Weihnachtszeit .*;deleteattr Weihnachtszeit stateFormat")};
}



Erläuterung:
erstes WENN : Der 1.Advent ist immer Sonntags und immer nach dem 26.November und vor dem 4.Dezember.
zweites WENN: Die restliche Adventtage (bei 5 habt Ihr Weihnachten verpennt)
drittes WENN: zurücksetzen

Wer es brauchen kann, bitte schön.

Cheers

mi.ke
Titel: Antw:Advent / Weihnachtszeit
Beitrag von: betateilchen am 03 November 2015, 23:04:18
Zitat von: mi.ke am 03 November 2015, 09:15:54
Erläuterung:
erstes WENN : Der 1.Advent ist immer Sonntags und immer nach dem 26.November und vor dem 4.Dezember.
zweites WENN: Die restliche Adventtage (bei 5 habt Ihr Weihnachten verpennt)
drittes WENN: zurücksetzen


8)