FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Hi2Helmi am 12 Oktober 2018, 22:32:26

Titel: Sonnenscheindauer berechnen
Beitrag von: Hi2Helmi am 12 Oktober 2018, 22:32:26
Hallo,
ich würde gerne die Sonnenscheindauer in Stunden für den aktuellen Tag berechnen.
Ich habe noch nie mit Zeiten gerechnet und weiß nicht genau wie ich es machen soll.

ich habe folgende Werte:

astro:SunRise 07:39 (Sonnenaufgang)
astro:SunSet 18:37 (Sonnenuntergang)
proplanta:fc0_sun 75 (relative Sonnenscheindauer heute in % (zwischen Sonnenauf- und -untergang))


Die Formel wäre (SunSet-SunRise)*(fc0_sun/100) das Ergebniss wäre 8:13

Die Sonne scheint also 8 Stunden und 13 Minuten.

Bin für jeden Tip dankbar.
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Ellert am 12 Oktober 2018, 23:47:22
https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Hi2Helmi am 13 Oktober 2018, 18:04:42
Cool, Danke.
Ich dachte nicht, das es dafür eine Wiki Seite gibt, sonst hätte ich danach gesucht.
Versuche mein Glück damit und werde berichten für Interessierte.
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Hi2Helmi am 13 Oktober 2018, 21:21:33
Irgendwie steh ich auf dem Schlauch, aber wie kriege ich aus dem Reading SunRise einen Zeitstempel hin?
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: amenomade am 13 Oktober 2018, 21:44:04
Mit time_str2num(reading)
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Damian am 13 Oktober 2018, 22:13:00
Weil die Frage gefühlt jeden zweiten Tag hier erscheint:

defmod di_dauer DOIF {if ([00:05]) {use Date::Parse;set_State(POSIX::strftime("%H:%M:%S",localtime(str2time(::sunset_abs())-str2time(::sunrise_abs()))))}}

Die Dauer erscheint kurz nach Mitternacht im Status des Moduls :)

Edit: Definition korrigiert
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Damian am 14 Oktober 2018, 12:49:07
Zitat von: Damian am 13 Oktober 2018, 22:13:00
Weil die Frage gefühlt jeden zweiten Tag hier erscheint:

defmod di_dauer DOIF {if ([00:05]) {use Date::Parse;set_State(POSIX::strftime("%H:%M:%S",localtime(str2time(::sunset_abs())-str2time(::sunrise_abs()))))}}

Die Dauer erscheint kurz nach Mitternacht im Status des Moduls :)

Edit: Definition korrigiert

und so muss man nicht bis Mitternacht warten :)

defmod di_dauer DOIF init {[00:05];use Date::Parse;set_State(POSIX::strftime("%H:%M:%S",localtime(str2time(::sunset_abs())-str2time(::sunrise_abs()))))}
Titel: Antw:Sonnenscheindauer berechnen
Beitrag von: Hi2Helmi am 10 November 2018, 17:08:07
Cool Danke, habe ich gerade erst gesehen. War anderweitig beschäftigt.