FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Heiner am 27 Juli 2014, 21:38:55

Titel: tagesdauer
Beitrag von: Heiner am 27 Juli 2014, 21:38:55
Hallo, wie kann ich aus sunset und sunrise die Tagesdauer berechnen?

{Sunset -sunrise} geht leider nicht
Titel: Antw:tagesdauer
Beitrag von: franky08 am 27 Juli 2014, 22:28:25
Hallo, guck mal hier:
http://forum.fhem.de/index.php/topic,23912.0.html

Da ist für die myUtils was dabei um die Zeiten umzurechnen. Damit kannst du dann Subtrahieren.

VG
Frank
Titel: Antw:tagesdauer
Beitrag von: betateilchen am 27 Juli 2014, 22:38:20
Das geht auch einfacher.

Definiere Dir zwei wiederholende at, eines für sunrise und eines für sunset


define at_sunrise *{sunrise("REAL")} {}
define at_sunset *{sunset("REAL")} {}


Beide devices werden automatisch aktualisiert und tragen in ihren INTERNALS den Wert TRIGGERTIME. Diese beiden Werte kannst Du per InternalVal() abfragen und einfach voneinander abziehen. Es handelt sich um Timestamps, die Sekunden darstellen. Die Differenz bekommst Du dann auch in Sekunden zurück.
Titel: Antw:tagesdauer
Beitrag von: justme1968 am 27 Juli 2014, 23:17:26
und dann denk dran das es vom zeitpunkt an dem du die berechnung machst ob die die differenz zwischen sonnen auf und sonnen untergang bekommst oder die zwischen untergang und aufgang. at verschiebt den zeitpunkt auf den nächsten tag wenn der zeitpunkt schon vorbei ist.

ob das also wirklich einfacher ist ist ansichtssache.

gruss
  andre
Titel: Antw:tagesdauer
Beitrag von: betateilchen am 28 Juli 2014, 09:40:45
Hallo Andre, Du hast zwar irgendwo Recht mit Deinen Aussagen, aber offenbar die gestellte Aufgabe nicht verstanden ;)
Titel: Antw:tagesdauer
Beitrag von: justme1968 am 28 Juli 2014, 09:55:22
ich denke eigentlich schon. :)

aber selbst wenn du es besser versanden hast ist es nicht mit einfach voneinander abziehen getan ohne die randbedingungen zu berücksichtigen. so ist es bestenfalls unvollständig und eigentlich falsch.
Titel: Antw:tagesdauer
Beitrag von: cwagner am 30 Juli 2014, 08:04:58
Für den Fall, dass jemand das Beispiel ausprobieren möchte: Es fehlt jeweils im Define der Modulname "at". Es muss also heißen:
define at_sunset *{sunrise("REAL")} {}
define at_sunrise at *{sunrise("REAL")} {}



Grüße

Christian