differenz von zwei Uhrzeiten in Minuten ermitteln

961 views
Skip to first unread message

amdamdes

unread,
Oct 25, 2012, 7:41:57 AM10/25/12
to fhem-...@googlegroups.com
Hallo, 

vielleicht hat jemand eine Idee für mich. Ich möchte ermitteln wie viele Minuten zwischen dem zweimaligen Auslösen des Bewegungmelders gelegen haben. 

Ich dachte mir eine Dummy-Variable zu erzeugen, in der die momentane Uhrzeit beim Auslösen des Bewegungsmelder gespeichert wird. Wenn dieser das nächste Mal auslöst, soll er den Wert in der Dummy mit der aktuellen Uhrzeit vergleichen und die Differenz in Minuten ermitteln können. 

Theoretisch also: my $differenz = 21:36:05 - 21:30:46

So wie oben funktioniert es jedoch nicht. Kann man Uhrzeiten irgendwie in mathematische Formeln einbauen?

Besten Dank!
Richard


strauch

unread,
Oct 25, 2012, 9:26:38 AM10/25/12
to fhem-...@googlegroups.com
Ich weiß nicht wie gut ich helfen kann. Aber ein Linux zählt ja die Sekunden seit 1970 und wenn du die Zeit nimmst, hast du nicht das Problem mit den 24h, 60min etc. Ich meine mit der Variable time() oder so ähnlich kann man die in Perl abrufen, dann könntest du wirklich stumpf die Zeit subtrahieren noch durch 60 teilen und du hast Minuten statt Sekunden und dann nur noch runden....

Vielleicht bringt dich das weiter.

amdamdes

unread,
Oct 25, 2012, 10:38:17 AM10/25/12
to fhem-...@googlegroups.com
KLASSE!   Besten Dank!

amdamdes

unread,
Oct 25, 2012, 11:05:36 AM10/25/12
to fhem-...@googlegroups.com
funktioniert! für Interessierte, hier mein Code:

my $lasttrigger = Value("wz_lastbmtrigger");;my $timenow =  time();;fhem("set wz_lastbmtrigger $timenow");;my $difference = "0";$difference=$timenow - $lasttrigger;;

if ($difference < 180){
if(ReadingsVal ("wz_heizung","measured-temp", 22) < 21){fhem("set wz_heizung desired-temp 21")}};;
}

Dadurch verhindere ich, dass sich die Heizung einschaltet, nur weil ich kurz was im Wohnzimmer hole. (alle 2 Minuten löst er maximal aus). Wenn er also binnen 4 Minuten zwei Mal eine Bewegung registriert, dann bin ich länger im Wohnzimmer und die Heizung soll angehen. 

Danke nochmals!
Richard
Reply all
Reply to author
Forward
0 new messages