Hallo
Ich möchte für das Modul 98_RandomTimer die Einschaltzeit täglich abhängig vom Dämmerungsschalter um ein paar Minuten (im Beispiel um 15 Minuten) verzögert einschalten
Der aktuelle Code des RT lautet zum Beispiel:
define ZufallsTimer_1 RandomTimer *17:36:00 ZufallsLampe 21:29:59 480
attr ZufallsTimer_1 disableCond (!isVerreist())
attr ZufallsTimer_1 group Ferien
attr ZufallsTimer_1 offCmd set @ off
attr ZufallsTimer_1 onCmd set @ on
attr ZufallsTimer_1 room Home
Die Einschaltzeit des RT (aktuell 17:36:00) soll mit der folgenden Notify täglich angepasst werden:
define ZufallslampeEin notify WZ_Daemmerung:on.* {\
my $hm = sprintf("%%02d:%%02d", $hour, $min);;\
my $mytime = $hm);;\
if ($mytime lt "21:29") {\
fhem("modify ZufallsTimer_1 *$mytime ZufallsLampe 21:29:59 480;; save")\
}\
}
Beim String $mytime habe ich schon diverse Additionen versucht: Beispielsweise: $hm + "00:15:00" oder $hm + 00:15:00 oder $hm + 900
Schalte ich den Code wie hier eingegeben (ohne Zeitaddition), wird der RT mit der Dämmerungszeit modifiziert. Sobald aber die $mytime geändert wird, erhalte ich Fehlermeldungen.
Frage: Wie muss ich $mytime programmieren, damit die Einschaltzeit des RT auf 15 Minuten nach Einschalten des Dämmerungsschalter geändert wird?
Gruss Chris
Hallo zusammen
Habe die Lösung mit Hilfe der 99_TimeUtils.pm http://forum.fhem.de/index.php/topic,14449.msg101224.html#msg101224 (http://forum.fhem.de/index.php/topic,14449.msg101224.html#msg101224) gefunden. Der Code lautet neu:
define ZufallslampeEin notify WZ_Daemmerung:on.* {\
my $res = true;;\
my $newtime = "";;\
my $hm = sprintf("%%02d:%%02d:%%02d", $hour, $min, $sec);;\
($res, $newtime) = TU_Get_Increment( $hm, "00:12:33" );;\
if( $res == false ) {\
Log 1, "Fehler";;\
}\
if ($newtime lt "21:30") {\
fhem("modify ZufallsTimer_1 *$newtime ZufallsLampe 21:29:59 480;; save")\
}\
}
Gruss
Chris
Hallo,
Problem gelöst?
Dann bitte auch den Beitrag als gelöst markieren.
Danke.
Grüße
Hi Puschel74
Wo kann ich den Beitrag als gelöst markieren?
Chris
allo,
auch hier kann die SuFu sinnvolle Beiträge liefern.
Ersten Beitrag bearbeiten und dem Titel ein (Gelöst) vorne dran.
Danke.
Grüße