Hallo,
habe für eine Rolladensteuerung nach Sonnenauf/untergang die folgenden Koordinaten eingegeben, was Berlin-Mitte ist:
attr global latitude 52.5243
attr global longitude 13.4105
Laut Google soll heute Sonnenaufgang 7:31 sein und Untergang 16:11. FHEM zeigt mir aber bei sunrise_abs() 6:54 an und als sunset_abs() 16:49, also den Sonnenaufgang 37 Minuten zu früh und Sonnenaufgang 37 Minuten zu spät. Auch die programmierten Zeiten (define RolladenRunter at *{sunset(0,"16:00","23:00")} set GPIO2 on-for-timer 60) liegen bei den von sunset_abs() angegebenen
In der Doku steht, dass FHEM ohne zusätzliche Parameter (Real,Civil...)die offiziellen Zeiten nimmt. Aber warum ist dann der Tag bei FHEM 74 Minuten länger?
Die lokale Uhrzeit ist laut Logfile auch genau wie sei sein soll.
Also wo liegt der Fehler???
Danke für Hinweise...
ZitatIn der Doku steht, dass FHEM ohne zusätzliche Parameter (Real,Civil...)die offiziellen Zeiten nimmt.
Nein, da steht:
ZitatThe default altitude ($defaultaltit in SUNRISE_EL.pm) defines the sunrise/sunset for Civil twilight (i.e. one can no longer read outside without artificial illumination), which differs from sunrise/sunset times found on different websites. See perldoc "DateTime::Event::Sunrise" for alternatives.
Was genau Google verwendet, wuesste ich aber auch gerne, vlt. hat wer Lust das rauszufinden, und hier zu erzaehlen.
Siehe auch http://www.timeanddate.de/astronomie/daemmerung-phasen
Also ich habe mal verschiedene Seiten befragt (z.B. http://www.sunrise-and-sunset.com/de/sun/deutschland/berlin) und alle zeigen +-1 Minute die 7:31 bzw. 16:11.
Wenn ich jetzt bei sunrise_abs/sunset_abs noch den Parameter REAL mit angebeben und komme jetzt näher auf 7:39 bzw. 16:04.
Die Angabe, dass FHEM die "offizielle Zeit" verwendet habe ich hier her: http://www.computerhilfen.de/info/smart-home-mit-fhem-intelligente-zeitschaltuhr.html
Zitat: "Mit den oben genannten Werten wird FHEM die Lampe dann genau zu der Zeit an- oder ausschalten, die als offizieller Sonnenauf- oder untergang definiert sind. Wem das aber zu früh oder zu spät ist, kann den Befehl erweitern: Dazu gibt FHEM die folgenden Werte mit: ,,REAL" gibt die Zeit des tatsächlichen Sonnenuntergangs wieder, ,,CIVIL" definiert eine Zeitspanne in der Dämmerung, bei der es schon recht dunkel ist"
ZitatDie Angabe, dass FHEM die "offizielle Zeit" verwendet habe ich hier her
Tja, dann sollte man auch da fragen, wieso der Autor auf diese Behauptung gekommen ist.
Als Doku gilt fuer mich ausschliesslich commandref.html, das ist naemlich vom Autor des Moduls.
Btw. fuer den Algorithmus fuehle ich mich trotzdem nicht zustaendig, das ist nur eine "Kopie" von DateTime::Event::Sunrise, da dieser vor 10 Jahren nur sehr aufwendig zu installieren war.
Erklärt diese Passage das Ganze (http://search.cpan.org/~jforget/DateTime-Event-Sunrise-0.0505/lib/DateTime/Event/Sunrise.pm#Sun_Height)?
Wenn ich {sunrise_abs("HORIZON=-0.833")} eingebe, dann kommt bei mir ziemlich genau die Zeit heraus die Google angibt.
REAL verwendet den mathematischen Horizont -> "HORIZON=0"
Gruß Otto
vielleicht kann ich zur Aufklärung beitragen, habe mich dieses Jahr intensiv damit beschäftigt. (und dabei den Sonnenstand "zu Fuß" berechnet)
Der gaaanz exakte Sonnenuntergang ist mathematisch relativ schwer zu erfassen, ist halt Astronomie und da wirkt alles auf alles. Deshalb benutzt man Näherungen. Die sind relativ genau, Größenordnung so +/- 30 Sekunden. Die Licht der Sonne wird zusätzlich in Horizontnähe gebeugt und die Sonne erscheint 0,6° höher als sie es ist. Macht auch nur Sekunden ... logisch. Die 0,833° nimmt man an weil man ja nicht platt auf dem Boden liegt. Meistens jedenfalls ;) Da sind aber alles "peanuts"
Die Differenz von 37 Minuten aus dem Fragepost hat eine andere Ursache, Zu diesem Zeitpunkt steht die Sonne 6° unter dem Horizont. Dort beginnt unter optimalen Bedingungen (per Definition: Zivile Dämmerung) der Bereich wo man "draußen" ohne künstliches Licht was sehen kann. (Lesen kann).
Im Beispiel von Otto stimmen die Zeiten überein weil "HORIZON" (mit "fast" 0) angegeben ist. Das default von sunrise_abs, also ohne Angabe von "HORIZON" liegt demnach dann wohl bei -6 ...
vg
joerg