Zeitdifferenz in Minuten berechnen?

Begonnen von chunter1, 08 November 2016, 14:11:48

Vorheriges Thema - Nächstes Thema

chunter1

Hi,

ich bräuchte Hilfe beim Errechnen der Zeitdifferenz in Minuten aus der aktuellen Uhrzeit und einem dummy.
Mit folgendem Code bekomme ich zwar die Differenz, allerdings nur in Stunden.


{substr(TimeNow(),11,5)-ReadingsVal("Schaltzeit","state",0)}


Danke
ch

Benni

Dafür kannst du die Funktion ReadingsAge benutzen:


ReadingsAge(<deviceName>,<readingName>,<defaultValue>)


Also in deinem Fall bspw. so:


ReadingsAge('Schaltzeit','state',0)

kumue

Zitat von: Benni am 08 November 2016, 14:24:06
Dafür kannst du die Funktion ReadingsAge benutzen:


ReadingsAge(<deviceName>,<readingName>,<defaultValue>)


Also in deinem Fall bspw. so:


ReadingsAge('Schaltzeit','state',0)


so wie ich chunter1 verstehe, will er Folgendes erreichen:

Ich lege jetzt einen Dummy an und gebe ihm den Wert/state 08:15
Die akt. Uhrzeit ist 14.15, somit die Differenz 6h = 480min.

Die Funktion ReadingsAge() gibt die Dauer in Sekunden seit der letzten Aktualisierung des Readings.
Würde dann nicht passen...

Vielleicht liege ich aber auch falsch...
Mal schauen, was chunter1 antwortet

chunter1

Zitat von: kumue am 08 November 2016, 14:43:22
so wie ich chunter1 verstehe, will er Folgendes erreichen:

Ich lege jetzt einen Dummy an und gebe ihm den Wert/state 08:15
Die akt. Uhrzeit ist 14.15, somit die Differenz 6h = 480min.

Die Funktion ReadingsAge() gibt die Dauer in Sekunden seit der letzten Aktualisierung des Readings.
Würde dann nicht passen...

Vielleicht liege ich aber auch falsch...
Mal schauen, was chunter1 antwortet

genau so hab ich es gemeint

chunter1

#4
Habs jetzt vorerst so implementiert.
Elegantere/korrekte Umsetzungen sind aber herzlich willkommen ;)


{my $diff=(substr(ReadingsVal("Schaltzeit","state",0),0,2)*60+substr(ReadingsVal("Schaltzeit","state",0),3,2))-(substr(TimeNow(),11,2)*60+substr(TimeNow(),14,2))}