zurück zur Startseite

zurück zur Übersicht der Heimautomatisierung

21. Der Wecker (Stand 09.11.2018)

Es gibt für uns beide getrennte Wecker, auch wenn wir immer in einem Zimmer unter einer Decke kuscheln. Zudem gibt es unterschiedliche Weckzeiten für Montag bis Freitag, für Samstag und für Sonn- und Feiertag. Das macht in Summe 6 Weckzeiten, die im 10-Minutenraster eingestellt weerden können.

Durch berühren der "Pfeiltasten" wird die Weckzeit verändert, die Programmierung dazu ist 12 Mal wie folgt erforderlich:

uj_j2_frueher:on {
   my $actual = Value("uj_j2zeit");
   my $hhhhh;
   my $mmmmm;
   my $acthh;
   my $actmm;
   if ($actual eq "OFF"){
      fhem("set uj_j2zeit 05:30")
   } else {
      $actual =~ /([\d].)(:)([\d].)/;
      $hhhhh = $1;
      $mmmmm = $3 - 10;
      if ($mmmmm < 0) {$mmmmm += 60; $hhhhh -=1}
      if ($hhhhh < 0) {$hhhhh +=24}
      $acthh = sprintf("%02d", $hhhhh);
      $actmm = sprintf("%02d", $mmmmm);
      $actual = $acthh.":".$actmm;
      fhem("set uj_j2zeit $actual")
   }
   fhem ("set uj_j2_frueher off; set uj_j2aktiv ja")
}

Mit der Weckertaste ganz oben kann der Wecker auch ganz abgeschaltet werden. Das Wecken erfolgt über ein DOIF mit folgender Definition:

([[uj_j3zeit]] and [uj_wecktag3] eq "ja" and [?uj_j3aktiv] eq "ja"
and [?uj_statusjuergen] eq "asleep")
   (set uj_jweckerein ja, defmod uj_jweckerreset at +01:00:00 set uj_jweckerein nein)
DOELSEIF ([[uj_j2zeit]|6] and [?uj_j2aktiv] eq "ja" and [?uj_statusjuergen] eq "asleep")
   (set uj_jweckerein ja, defmod uj_jweckerreset at +01:00:00 set uj_jweckerein nein)
DOELSEIF ([[uj_j1zeit]|12345] and [?uj_j1aktiv] eq "ja" and [?uj_statusjuergen] eq "asleep")
   (set uj_jweckerein ja, defmod uj_jweckerreset at +01:00:00 set uj_jweckerein nein)
DOELSEIF ([uj_jweckerein] eq "nein")
   ()

Wenn wir nicht aufstehen, schaltet sich der Wecker nach 1 Stunde wieder aus.

weiter zu: 22. Der Kalender