FHEM Forum

FHEM => fhem-users => Thema gestartet von: UliM am 18 November 2012, 21:30:47

Titel: Rechnen mit timespecs
Beitrag von: UliM am 18 November 2012, 21:30:47
                                                 

Hi,
ich möchte gerade mit Zeiten rechnen - allerdings nicht mit time oder
ReadingsTimestamp.  time_str2num ist mir bekannt.


Mit timeslider setze ich einen neue Zeit auf einem dummy.  Value("dummy")
liefert also sowas wie "06:30"
Nun möchte ich zB eine halbe Stunde abziehen.
Value("dummy") -30*60 liefert nix sinnvolles.
time_str2num kann ich nicht nutzen, da der Startwert eben nicht
ReadingsTimestamp ist, sondern 06:30 (also ohne Datum)

Ich meine hier mal gesehen zu haben, dass man sowas machen kann wie
Value("dummy") - "00:30"

finde es aber nicht wieder.

Hat jemand eine Idee?

Gruß, Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Rechnen mit timespecs
Beitrag von: Guest am 18 November 2012, 23:02:48
Originally posted by: <email address deleted>

Aber Hallo , das klingt fuer mich nach einer Idee fuer eine Loesung  um die Heizung 30 min eher zu starten bevor der FB Wecker klingelt ! Das waere super.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Rechnen mit timespecs
Beitrag von: rudolfkoenig am 18 November 2012, 23:21:22
                                                   

> Hat jemand eine Idee?

Ja, perl-funktion dafuer bauen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Rechnen mit timespecs
Beitrag von: Guest am 18 November 2012, 23:45:40
Originally posted by: <email address deleted>

Hi,

ich versuche mich auch gerade daran. Mit dem folgenden Code kann ich eine
gegebene Uhrzeit um eine beliebige Anzahl von Minuten (Offset) addieren
oder subtrahieren.

z.B.: 23:30 -10Minuten => 23:20

Hier meine Lösung:

my $NextAlarmTime = "23:30";
my  $Poffset = -10;

# Zur Übernahme des Datums und der Zeit von heute:    
my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;

#  Nun umgekehrt die zu verändernde Stunde und Minute (z.B. Weckzeit)
einspielen. Steht bei mir in $NextAlarmTime als hh:mm:
my $NextAlarmTimeP =
mktime(0,substr($NextAlarmTime,3,2),substr($NextAlarmTime,0,2),$mday,$month,$year,$wday,$yday,$isdst);

# Die Zeitverschiebung berechnen. Steht bei mir in $Poffset (als Minuten):
my $NextAlarmTimePM = $NextAlarmTimeP + $Poffset * 60;

# Nun wieder zurück in Stunde und Minute etc. umändern:
my ($Psec,$Pmin,$Phour,$Pmday,$Pmonth,$Pyear,$Pwday,$Pyday,$Pisdst) =
localtime($NextAlarmTimePM);

# Jetzt noch in eine Uhrzeit konvertieren. Tag, Monat und Jahr müsste auch
richtig berechnet werden:
my $NextAlarmTimePHM = $Phour.':'.$Pmin;
# hier: 23:20

Ich hoffe, es hilft.
Bald will ich auch meine Lösung für die Übernahme der Weckzeit von der
FritzBox posten. Ich bin bald soweit :-)

LaLeLu

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Rechnen mit timespecs
Beitrag von: UliM am 19 November 2012, 20:38:53
                                                 

Hi,
seeehr schön, danke!
Hab's grad in ne Routine verpackt. Werd's noch etwas testen und dann hier
posten.

Mein Anwendungszweck:
- getriggered durch wakeupChange (timeslider)
- setzt wakeup eine viertel Stunde vor wakeup
- setzt den Heizbeginn auf 30 Minuten vor Zielzeit, plus 3 Minuten je
Minusgrad Aussentemperatur -> je kälter, desto früher wird hochgeheizt

So long,
Uli
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Rechnen mit timespecs
Beitrag von: Guest am 19 November 2012, 21:42:39
Originally posted by: <email address deleted>

Das hier hilft Dir vielleicht:

Weckzeit anzeigen und einstellen (FritzBox!Fon FHEM webpgm2 )

Am Sonntag, 18. November 2012 23:02:48 UTC+1 schrieb Andreas Schaller:
>
> Aber Hallo , das klingt fuer mich nach einer Idee fuer eine Loesung  um
> die Heizung 30 min eher zu starten bevor der FB Wecker klingelt ! Das waere
> super.


 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com