FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: misux am 17 April 2018, 21:05:21

Titel: (ERLEDIGT) DOIF nur im Bestimmten Zeitraum? Zwischen 1.Advent und 07.01
Beitrag 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?
Titel: Antw:DOIF nur im Bestimmten Zeitraum? Zwischen 1.Advent und 07.01
Beitrag von: CoolTux am 17 April 2018, 21:11:37
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;
}
Titel: Antw:DOIF nur im Bestimmten Zeitraum? Zwischen 1.Advent und 07.01
Beitrag von: Damian am 17 April 2018, 21:11:55
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
Titel: Antw:DOIF nur im Bestimmten Zeitraum? Zwischen 1.Advent und 07.01
Beitrag von: misux am 18 April 2018, 10:14:38
 :-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!