Modul Astro: Unterschied zwischen den Versionen
Zeile 15: | Zeile 15: | ||
==Definition== | ==Definition== | ||
Ein Astro-Device wird definiert durch | |||
define <name> Astro | define <name> Astro | ||
==Daten== | |||
Das Modul verwendet verschiedene Attribute zur Bestimmung der Beobachterdefinition, die im ''global''-Device von FHEM abgelegt sein sollten: | |||
attr global longitude <value> | attr global longitude <value> | ||
attr global latitude <value> | attr global latitude <value> | ||
attr global altitude <value> | attr global altitude <value> | ||
Die beiden ersten Angaben erfolgen in Dezimalgrad, die dritte Angabe ist die Höhe in Metern über dem Meeresspiegel. Globale Definitionen dieser Werte werden nur verwendet, wenn keine lokalen Attribute mit diesen Namen vorhanden sind (siehe unten). | Die beiden ersten Angaben erfolgen in Dezimalgrad, die dritte Angabe ist die Höhe in Metern über dem Meeresspiegel. Globale Definitionen dieser Werte werden nur verwendet, wenn keine lokalen Attribute mit diesen Namen vorhanden sind (siehe unten). | ||
Readings mit dem Präfix <i>Sun</i> beziehen sich auf die Sonne, solche mit dem Präfix <i>Moon</i> auf den Mond. | |||
*<i>Age</i> = Winkel (in Dezimalgrad) des Körpers auf seiner Bahn | |||
*<i>Az,Alt</i> = Azimuth und Höhe (in Dezimalgrad) des Körpers über dem Horizont | |||
*<i>Dec,Ra</i> = Deklination und Rektaszension (in HH:MM) der Position des Körpers | |||
*<i>Lat,Lon</i> = geografische Breite und Länge der Position des Körpers | |||
*<i>Diameter</i> = Virtueller Durchmesser des Körpers in Bogenminuten | |||
*<i>Distance,DistanceObserver</i> = Entfernung (in km) des Körpers zum Erdmittelpunkt oder zum Beobachter | |||
*<i>PhaseN,PhaseS</i> = Nummerischer Wert und Stringwert für die Phase des Körpers</li> | |||
*<i>Sign</i> = Tierkreiszeichen des Körpers auf seiner Bahn | |||
*<i>Rise,Transit,Set</i> = Zeiten (in HH:MM) für Aufgang, höchsten Punkt (Transit) und Untergang des Körpers | |||
Readings mit dem Präfix <i>Obs</i> beziehen sich auf den Beobachter | |||
Weitere Readings umfassen | |||
*<i>Date,Dayofyear</i> = Datum | |||
*<i>JD</i> = Julianisches Datum | |||
*<i>Season,SeasonN</i> = Stringwert und nummerischer Wert für die Jahreszeit | |||
*<i>Time,Timezone</i> raten Sie mal... | |||
*<i>IsDST</i> = 1 wenn Sommerzeit gilt, 0 sonst | |||
*<i>GMST,LMST</i> = Greenwich und Local Mean Sidereal Time (in HH:MM) | |||
=Bedienung= | =Bedienung= |
Version vom 15. September 2018, 19:07 Uhr
Astro | |
---|---|
Zweck / Funktion | |
Das Modul stellt astronomische Daten zur Verfügung (etwa Sonnenauf- und Untergänge) | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstuetzende Dienste |
Modulname | 95_Astro.pm |
Ersteller | Prof. Dr. Peter A. Henning |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Diese Seite beschreibt die Konfiguration und Verwendung des Moduls 95_Astro.pm.
Allgemeines
Das Modul 95_Astro.pm stellt astronomische Daten zur Verfügung (etwa Sonnenauf- und Untergänge).
Definition
Ein Astro-Device wird definiert durch
define <name> Astro
Daten
Das Modul verwendet verschiedene Attribute zur Bestimmung der Beobachterdefinition, die im global-Device von FHEM abgelegt sein sollten:
attr global longitude <value> attr global latitude <value> attr global altitude <value>
Die beiden ersten Angaben erfolgen in Dezimalgrad, die dritte Angabe ist die Höhe in Metern über dem Meeresspiegel. Globale Definitionen dieser Werte werden nur verwendet, wenn keine lokalen Attribute mit diesen Namen vorhanden sind (siehe unten).
Readings mit dem Präfix Sun beziehen sich auf die Sonne, solche mit dem Präfix Moon auf den Mond.
- Age = Winkel (in Dezimalgrad) des Körpers auf seiner Bahn
- Az,Alt = Azimuth und Höhe (in Dezimalgrad) des Körpers über dem Horizont
- Dec,Ra = Deklination und Rektaszension (in HH:MM) der Position des Körpers
- Lat,Lon = geografische Breite und Länge der Position des Körpers
- Diameter = Virtueller Durchmesser des Körpers in Bogenminuten
- Distance,DistanceObserver = Entfernung (in km) des Körpers zum Erdmittelpunkt oder zum Beobachter
- PhaseN,PhaseS = Nummerischer Wert und Stringwert für die Phase des Körpers
- Sign = Tierkreiszeichen des Körpers auf seiner Bahn
- Rise,Transit,Set = Zeiten (in HH:MM) für Aufgang, höchsten Punkt (Transit) und Untergang des Körpers
Readings mit dem Präfix Obs beziehen sich auf den Beobachter
Weitere Readings umfassen
- Date,Dayofyear = Datum
- JD = Julianisches Datum
- Season,SeasonN = Stringwert und nummerischer Wert für die Jahreszeit
- Time,Timezone raten Sie mal...
- IsDST = 1 wenn Sommerzeit gilt, 0 sonst
- GMST,LMST = Greenwich und Local Mean Sidereal Time (in HH:MM)
Bedienung
Get
Achtung: Die Ergebnisse von Get-Aufrufen werden nicht in die Readings geschrieben, sondern nur die Ergebnisse zyklischer Updates. Das dient dazu, schnell und ohne Readings spezielle Datenwerte (etwa für andere Zeiten oder Orte) zu generieren. Möglichkeiten für Aufrufe:
get <name> json [<reading>] get <name> json [<reading>] YYYY-MM-DD get <name> json [<reading>] YYYY-MM-DD HH:MM:[SS]
liefert JSON-Code für den kompletten Datensatz oder nur einen Datenwert der astronomischen Daten entweder für die gegenwärtige Zeit, oder für ein Datum und eine Zeit im Argument.
get <name> text [<reading>] get <name> text [<reading>] YYYY-MM-DD get <name> text [<reading>] YYYY-MM-DD HH:MM:[SS]
liefert Text für den kompletten Datensatz oder nur einen Datenwert der astronomischen Daten entweder für die gegenwärtige Zeit, oder für ein Datum und eine Zeit im Argument.
get <name> version
zeigt die aktuelle Modulversion an.
Attribute
attr <name> <interval>
Update-Interval in Sekunden. Default sind 3600 Sekunden, ein Wert 0 verhindert das periodische Update. Das Astro-Module verwendet verschiedene Attribute zur Bestimmung der Beobachterdefinition, die entweder im global-Device von FHEM abgelegt sein sollten (siehe oben), oder als lokale Attribute gespeichert sind:
attr <name> longitude <value> attr <name> latitude <value> attr <name> altitude <value>
Die beiden ersten Angaben erfolgen in Dezimalgrad, die dritte Angabe ist die Höhe in Metern über dem Meeresspiegel.
attr <name> horizon <value>
Nutzerdefinierter Horizontwinkel in Dezimalgrad, Defaulwert 0°
Verwendung ohne Astro-Device
Es ist nicht notwendig, für die gelegentliche Verwendung der astronomischen Daten ein Device zu definieren. Es muss lediglich das Modul geladen werden, z.B. durch den Perl-Code
require "95_Astro.pm";
Dann kann man z.B. durch den Code
my $somehash Astro_Get( $somehash,"somehash","text", "SunRise","2019-12-24");
den Sonnenuntergang an Heiligabend 2019 berechnen.
Die Funktion Astro_Get bekommt im ersten Argument eine hash-Referenz übergeben, die auch leer sein kann. Wenn sie aber nicht leer ist, versucht das Modul, sich die notwendigen Attribute aus diesem Hash zu holen (etwa geografische Länge und Beite). Es kann z.B. ein beliebiges Dummy-Device angelegt werden, sagen wir mit dem Namen "Blabla". Gibt man diesem als Attribut einen Horizontwinkel, oder andere Geodaten, kann man mit
Astro_Get( $defs{"Blabla"},"Blabla","text", "CustomTwilightEvening","2019-12-24");
den Sonnenuntergang für diesen Horizontwinkel erhalten. Natürlich geht auch
Astro_Get( $defs{"global"},"global","text", <reading>,<datum> );