From 6ff7051ec6cc2c777c852f08ce94427e3af37bec Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Fri, 8 Dec 2017 22:12:59 +0000 Subject: [PATCH] 99_SUNRISE_EL.pm: Deutsche Dokumentation (Forum #80727) git-svn-id: https://svn.fhem.de/fhem/trunk@15571 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/99_SUNRISE_EL.pm | 327 +++++++++++++++++++++++++++++++++++++ 1 file changed, 327 insertions(+) diff --git a/fhem/FHEM/99_SUNRISE_EL.pm b/fhem/FHEM/99_SUNRISE_EL.pm index 47a6518db..83c16be10 100644 --- a/fhem/FHEM/99_SUNRISE_EL.pm +++ b/fhem/FHEM/99_SUNRISE_EL.pm @@ -526,4 +526,331 @@ isday =end html + +=begin html_DE + + +
+ +

SUNRISE_EL

+

+ SUNRISE_EL definiert eine Reihe von Perl-Subroutinen (z.B. zur Nutzung mit at): +

+ + + +

Breite, Länge und Höhenwinkel

+

+ Bevor du SUNRISE_EL verwendest, solltest du im global-Device die + Werte für latitude (geographische Breite) und longitude (geographische Länge) entsprechend + deines Standorts setzen. +

+
+

Exkurs: latitude & longitude ermitteln

+

+ Deine geopgragischen Koordinaten kannst du z.B. mit Google Maps bestimmen. + Dazu setzt du einen Punkt auf der Karte und findest dann im unteren Bereich der Karte die Angabe für beide Werte. + Der erste Wert ist die geographische Breite (latitude); der zweite Wert die geographische Länge + (longitude). +

+

+ Der Default-Wert ist 50.112, 8.686 (Frankfurt am Main). +

+
+

+ SUNRISE_EL geht von einem Höhenwinkel der Sonne bezogen zum Horizont, h, von -6° aus. Dieser Wert bedeutet, + dass die Sonne 6° unter dem Horizont steht und Lesen im Freien ohne künstliche Beleuchtung nicht + mehr möglich ist (civil twilight, bürgerliche Dämmerung). + SUNRISE_EL speichert diesen Wert in $defaultaltit. +

+

+ Siehe auch perldoc DateTime::Event::Sunrise für + weitere Hinweise. +

+ +

Befehlsreferenz

+
Parameter
+

+ Jede der folgenden Funktionen akzeptiert bis zu vier (bzw. fünf) Parameter in der angegebenen Reihenfolge: +

+
+
+ unix timestamp +
+
+

+ Ausschließlich sunrise_abs_dat() & sunset_abs_dat() + erwarten als ersten Parameter einen Unix-Timestamp (Unix-Epoche) in Sekunden, der ein Datum spezifiziert. Andere Subroutinen + erwarten diesen Parameter nicht! +

+
+
+ altitude +
+
+

+ Eine der folgenden Zeichenketten, die unterschiedliche Höhenwinkel h definieren und den Wert + von $defaultaltit verändern. +

+

+ Erlaubte Werte sind: +

+
    +
  • + REAL, h = 0°, +
  • +
  • + CIVIL, h = -6°, +
  • +
  • + NAUTIC, h = -12°, +
  • +
  • + ASTRONOMIC, h = -18°, +
  • +
  • + oder HORIZON=, gefolgt von einer positiven oder negativen Zahl ohn Gradzeichen, die einen Höhenwinkel + angibt. +
  • +
+
+
+ offset +
+
+

+ Offset in Sekunden, der zu dem Rückgabewert der Funktion addiert wird. +

+

+ isday() + ignoriert diesen Wert. +

+
+
+ min +
+
+ +

+ Einen Zeitstempel im Format hh:mm, vor dem keine Aktion ausgeführt werden soll. +

+

+ isday() wird (int) 0 zurückliefern, wenn min gesetzt + und der aktuelle Zeitstempel kleiner ist. +

+
+
+ max +
+
+

+ Einen Zeitstempel im Format hh:mm, nach dem keine Aktion ausgeführt werden soll. +

+

+ isday() wird (int) 0 zurückliefern, wenn max gesetzt + und der aktuelle Zeitstempel größer ist. +

+
+
+ +
Subroutinen
+
+ +
+

sunrise(), sunset()

+
+
+ liefern den absoluten Wert des nächsten Sonnenauf- bzw. -untergangs zurück, wobei 24 Stunden zu + diesem Wert addiert werden, + wenn der Zeitpunkt am nächsten Tag sein wird, im Format hh:mm:ss. +
+ +
+

sunrise_rel(), sunset_rel()

+
+
+ liefern die relative Zeit bis zum nächsten Sonnenauf- bzw. -untergang im Format + hh:mm:ss. +
+ +
+

sunrise_abs(), sunset_abs()

+
+
+ liefern den nächsten absoluten Zeitpunkt des nächsten Sonnenauf- bzw. -untergangs + ohne 24 Stunden + zu addieren im Format hh:mm:ss. +
+ +
+

sunrise_abs_dat(), sunset_abs()_dat

+
+
+ liefern den nächsten absoluten Zeitpunkt des nächsten Sonnenauf- bzw. -untergangs + ohne 24 Stunden zu addieren im Format hh:mm:ss zu einem als ersten Parameter angegebenen Datum. +
+ + +
+

isday()

+
+
+ liefert (int) 1 wenn Tag ist, (int) 0 wenn Nacht ist. +
+
+
Beispiele
+
+
+

+ sunrise("CIVIL"); +

+
+
+

+ Zeitpunkt des Sonnenaufgangs bei einem Höhenwinkel der Sonne von -6° unter dem Horizont (identisch zu sunrise()). +

+ +
+ +
+

+ sunset("HORIZON=-3"); +

+
+
+

+ Zeitpunkt des Sonnenuntergangs bei einem Höhenwinkel der Sonne von 3° unter dem Horizont + (zwischen REAL und CIVIL). +

+ +
+ +
+

+ sunset("HORIZON=1"); +

+
+
+

+ Zeitpunkt des Sonnenaufgangs bei einem Höhenwinkel der Sonne von 1° über dem Horizont. +

+
+ +
+

+ defmod a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on +

+
+
+

+ Schalte lamp1 an, sobald die Sonne unter den Horizont sinkt (h ≤ 0), jedoch nicht vor 18:00 und nicht nach 21:00. +

+
+ +
+

+ + my $date = time() + 7*86400;
+ sunrise_abs_dat($date); +
+

+
+
+

+ Berechne den Sonnenaufgang von heute + sieben Tage. +

+
+ +
+

+ + my $date = time() + 7*86400;
+ sunrise_abs_dat($date, "CIVIL"); +
+

+
+
+

+ Berechne den Sonnenaufgang von heute + sieben Tage mit einem Höhenwinkel h = -6°. +

+
+
+ +

Define

+
+ SUNRISE_EL kann nicht explizit als Device definiert werden, + sondern bietet die oben genannten Subroutinen. +
+ +

Set

+
+ SUNRISE_EL unterstützt set nicht. +
+ +

Get

+
+ SUNRISE_EL unterstützt get nicht. +
+ +

Attribute

+

+ Diese Attribute müssen im global-Device gesetzt werden! +

+
+
+

+ latitude +

+
+
+
+ Geographische Breite in Dezimalgrad in Form eines float, z.B 49.872471. +
+
+ Default-Wert ist 50.112. +
+
+ +
+

+ longitude +

+
+
+
+ Geographische Länge in Dezimalgrad in Form eines float, z.B 8.650991. +
+
+ Default-Wert ist 8.686. +
+
+ +
+

+ altitude +

+
+
+
+ Höhenwinkel h der Sonne bezogen auf den Horizont in Grad in Form einer Zahl ohne Gradzeichen. +
+
+ Default-Wert ist -6. +
+
+
+
+ +=end html_DE + =cut