(ERLEDIGT) DOIF nur im Bestimmten Zeitraum? Zwischen 1.Advent und 07.01

Begonnen von misux, 17 April 2018, 21:05:21

Vorheriges Thema - Nächstes Thema

misux

HI!

([Tageslicht_outdoor] eq "Nacht")
(set Hausnummernbeleuchtung on) (set Fensterbeleuchtung on)
DOELSEIF
([23:00]) (set Hausbeleuchtung on) (set Fensterbeleuchtung off)
DOELSEIF
([05:00]) (set Fensterbeleuchtung on) (set Hausbeleuchtung off)
DOELSE
(set Hausnummernbeleuchtung off) (set Fensterbeleuchtung off) (set Hausbeleuchtung off)


Ist es Möglich dem DOIF beizubringen das er zwischen dem 1.Advent und 07.01 anstatt der Fensterbeleuchtung eine Weihnachtsbeleuchtung on schalten soll?
Also zwischen dem 1.Advent und 07.01 soll die Fensterbeleuchtung off bleiben und dafür immer die Weihnachtsbeleuchtung on gehen...

Hmmm... ich weiss... es müsste ja irgendwie das richtige Datum errechnet werden wann der erste Advent ist... Aber ist sowas relativ einfach möglich?

CoolTux

Ich würde da eine kleine 99_myUtils schreiben und diese aufrufen und die Rückgabe auswerten.


sub adv() {

    ### Gibt 1 oder 0 zurück, je nachdem ob schon Advent ist (1. Adventsamstag bis 6. Januar).
   
    my ($Sekunde, $Minute, $Stunde, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(gettimeofday());
    my $adv=0;
   
    $Jahr+=1900;
   
    if($Monat<1) {
        if ($Monatstag<7) {         # ($Monatstag<7)
            $adv=1;
        }
    } else {
        my $time = str2time("$Jahr-12-25");
  my $wday = (localtime($time))[6];
  $wday = $wday ? $wday : 7;
  $time -= ($wday+21)*86400;
  $adv=1 if ($time<time)
    }
   
    return $adv;
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

Zitat von: misux am 17 April 2018, 21:05:21
HI!

([Tageslicht_outdoor] eq "Nacht")
(set Hausnummernbeleuchtung on) (set Fensterbeleuchtung on)
DOELSEIF
([23:00]) (set Hausbeleuchtung on) (set Fensterbeleuchtung off)
DOELSEIF
([05:00]) (set Fensterbeleuchtung on) (set Hausbeleuchtung off)
DOELSE
(set Hausnummernbeleuchtung off) (set Fensterbeleuchtung off) (set Hausbeleuchtung off)


Ist es Möglich dem DOIF beizubringen das er zwischen dem 1.Advent und 07.01 anstatt der Fensterbeleuchtung eine Weihnachtsbeleuchtung on schalten soll?
Also zwischen dem 1.Advent und 07.01 soll die Fensterbeleuchtung off bleiben und dafür immer die Weihnachtsbeleuchtung on gehen...

Hmmm... ich weiss... es müsste ja irgendwie das richtige Datum errechnet werden wann der erste Advent ist... Aber ist sowas relativ einfach möglich?

Einfach mal die FHEM-Suche bemühen: "Advent" -> https://forum.fhem.de/index.php/topic,42209.msg738996.html#msg738996
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux

 :-X
Krass vielen Dank!! Das ist genau das was ich brauche! Hab das ganze DOIF durchgelesen aber auf die Idee mal nach ADVENT zu suche bin ich nicht gekommen... ::)

Vielen Dank!