FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ulli am 28 Dezember 2014, 23:55:20

Titel: Verbleibende Zeit Berechnen
Beitrag von: ulli am 28 Dezember 2014, 23:55:20
Ich benötige kurz eure Unterstützung in der Berechnung der verbleibenden Zeit.
Das Modul Heating_Control besitzt ein Reading Namens "nextUpdate" und hat z.b. folgenden Wert "29.12.2014 06:30:00"
Wie kann ich nun die verbleibende Zeit zu dieses Reading in Std berechnen?

Vielen Dank im Voraus!
Titel: Antw:Verbleibende Zeit Berechnen
Beitrag von: Hans Franz am 29 Dezember 2014, 03:17:43
Hallo,
Ich habe mir dafür so etwas gebastelt:
sub time_till_update($){
my ($mydatetime) = ReadingsVal("@_","nextUpdate","");
my ($mydate,$mytime) = split(" ",$mydatetime);
my ($myday,$mymonth,$myyear) = split(/\./,$mydate);
my ($myhour,$myminute,$mysecond) = split(/:/,$mytime);
my $dt2 = DateTime->new(
                       year   => $myyear,
                       month  => $mymonth,
                       day    => $myday,
                       hour   => $myhour,
                       minute => $myminute,
                       second => $mysecond
                     );
my $dt1 = DateTime->now;
$dt1->set_time_zone( 'Europe/Berlin' );
my $duration = $dt1->subtract_datetime($dt2);
return $duration->hours().' Stunden '.$duration->minutes().' Minuten';
}


Aufruf mit:
{time_till_update(<device>)}

Evtl. geht es auch einfacher.

Gruß
Hans
Titel: Antw:Verbleibende Zeit Berechnen
Beitrag von: ulli am 29 Dezember 2014, 18:21:33
Hat funktioniert. Spitze Danke!