FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: outhouse am 01 Februar 2014, 13:39:06

Titel: [Gelöst] Zeitberechnung, Minuten Addieren
Beitrag von: outhouse am 01 Februar 2014, 13:39:06
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
Titel: Antw:Zeitberechnung, Minuten Addieren
Beitrag von: outhouse am 02 Februar 2014, 07:46:21
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
Titel: Antw:Zeitberechnung, Minuten Addieren
Beitrag von: Puschel74 am 02 Februar 2014, 08:08:41
Hallo,

Problem gelöst?
Dann bitte auch den Beitrag als gelöst markieren.
Danke.

Grüße
Titel: Antw:Zeitberechnung, Minuten Addieren
Beitrag von: outhouse am 02 Februar 2014, 08:18:54
Hi Puschel74

Wo kann ich den Beitrag als gelöst markieren?

Chris
Titel: Antw:Zeitberechnung, Minuten Addieren
Beitrag von: Puschel74 am 02 Februar 2014, 08:52:16
allo,

auch hier kann die SuFu sinnvolle Beiträge liefern.

Ersten Beitrag bearbeiten und dem Titel ein (Gelöst) vorne dran.
Danke.

Grüße