Sonnenscheindauer berechnen

Begonnen von Hi2Helmi, 12 Oktober 2018, 22:32:26

Vorheriges Thema - Nächstes Thema

Hi2Helmi

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.
MfG
Florian


Hi2Helmi

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.
MfG
Florian

Hi2Helmi

Irgendwie steh ich auf dem Schlauch, aber wie kriege ich aus dem Reading SunRise einen Zeitstempel hin?
MfG
Florian

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

#5
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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

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()))))}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Hi2Helmi

Cool Danke, habe ich gerade erst gesehen. War anderweitig beschäftigt.
MfG
Florian