Modul Astro: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „{{ Infobox Modul |ModPurpose=Das Modul stellt astronomische Daten zur Verfügung (etwa Sonnenauf- und Untergänge) |ModType=h <!-- |ModCategory= (noch?) nicht…“)
 
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
==Definition==
==Definition==
Das Astro-Device wird definiert durch  
Das Astro-Device wird definiert durch  
  define Astro Astro
  define <name> Astro
Es verwendet verschiedene Attribute zur Bestimmung der Beobachterdefinition, die im ''global''-Device von FHEM abgelegt sein sollten:
Es verwendet verschiedene Attribute zur Bestimmung der Beobachterdefinition, die im ''global''-Device von FHEM abgelegt sein sollten:
   attr global longitude &lt;value&gt;  
   attr global longitude &lt;value&gt;  
   attr global latitude &lt;value&gt;  
   attr global latitude &lt;value&gt;  
   attr global altitude &lt;value&gt;
   attr global altitude &lt;value&gt;
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 Attributdefinitionen dieser Namen vorhanden sind
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


=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 &lt;name&gt; json [&lt;reading&gt;]
get &lt;name&gt; json [&lt;reading&gt;] YYYY-MM-DD
get &lt;name&gt; json [&lt;reading&gt;] 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 &lt;name&gt; text [&lt;reading&gt;]
get &lt;name&gt; text [&lt;reading&gt;] YYYY-MM-DD
get &lt;name&gt; text [&lt;reading&gt;] 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 &lt;name&gt; version
zeigt die aktuelle Modulversion an.


         It is not necessary to define an Astro device to use the data provided by this module<br/>
         It is not necessary to define an Astro device to use the data provided by this module<br/>
Zeile 30: Zeile 43:
         to acquire the sunrise on Christmas Eve 2019</li>
         to acquire the sunrise on Christmas Eve 2019</li>
         </ul>
         </ul>
        <a name="Astroget"></a>
==Attribute==    
        <h4>Get</h4>
  attr lt;name&gt; &lt;interval&gt;00
        Attention: Get-calls are NOT written into the readings of the device ! Readings change only through periodic updates !<br/>
Update-Interval in seconds. Default sind 3600 Sekunden, ein Wert 0 verhindert das periodische Update
        <ul>
 
            <li><a name="astro_json"></a>
                <code>get &lt;name&gt; json [&lt;reading&gt;]</code><br/>
                <code>get &lt;name&gt; json [&lt;reading&gt;] YYYY-MM-DD</code><br/>
                <code>get &lt;name&gt; json [&lt;reading&gt;] YYYY-MM-DD HH:MM:[SS]</code>
                <br />returns the complete set or an individual reading of astronomical data either for the current time, or for a day and time given in the argument.</li>
            <li><a name="astro_text"></a>
                <code>get &lt;name&gt; text [&lt;reading&gt;]</code><br/>
                <code>get &lt;name&gt; text [&lt;reading&gt;] YYYY-MM-DD</code><br/>
                <code>get &lt;name&gt; text [&lt;reading&gt;] YYYY-MM-DD HH:MM:[SS]</code>
                <br />returns the complete set or an individual reading of astronomical data either for the current time, or for a day and time given in the argument.</li>           
            <li><a name="astro_version"></a>
                <code>get &lt;name&gt; version</code>
                <br />Display the version of the module</li>           
        </ul>
        <a name="Astroattr"></a>
        <h4>Attributes</h4>
        <ul>
            <li><a name="astro_interval">
                <code>&lt;interval&gt;</code>
                <br />Update interval in seconds. The default is 3600 seconds, a value of 0 disables the automatic update. </li>
                  <li>Some definitions determining the observer position:<br/>
         <code>attr  &lt;name&gt;  longitude &lt;value&gt;</code><br/>
         <code>attr  &lt;name&gt;  longitude &lt;value&gt;</code><br/>
         <code>attr  &lt;name&gt;  latitude &lt;value&gt;</code><br/>
         <code>attr  &lt;name&gt;  latitude &lt;value&gt;</code><br/>

Version vom 15. September 2018, 12:16 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

Das Astro-Device wird definiert durch

define <name> Astro

Es 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

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.

       It is not necessary to define an Astro device to use the data provided by this module
To use its data in any other module, you just need to put require "95_Astro.pm";
at the start of your own code, and then may call, for example, the function
Astro_Get( SOME_HASH_REFERENCE,"dummy","text", "SunRise","2019-12-24");

to acquire the sunrise on Christmas Eve 2019

Attribute

 attr lt;name> <interval>00

Update-Interval in seconds. Default sind 3600 Sekunden, ein Wert 0 verhindert das periodische Update

       attr  <name>  longitude <value>
attr <name> latitude <value>
attr <name> altitude <value> (in m above sea level)
attr <name> horizon <value> custom horizon angle in degrees, default 0
These definitions take precedence over global attribute settings.
  • Standard attributes <a href="#alias">alias</a>, <a href="#comment">comment</a>, <a href="#event-on-update-reading">event-on-update-reading</a>, <a href="#event-on-change-reading">event-on-change-reading</a>, <a href="#room" >room</a>, <a href="#eventMap">eventMap</a>, <a href="#loglevel">loglevel</a>, <a href="#webCmd">webCmd</a>
  • Verwendung ohne Astro-Device

    Die Funktion [code]Astro_Get[/code] bekommt im ersten Argument eine hash-Referenz übergeben. Und holt sich die Attribute aus diesem hash - das muss also kein hash eines Astro-Devices sein.

    Es müsste also folgendes gehen:

    1.) Ein beliebiges Device (sagen wir mit Namen "Bla") bekommt ein User Attribute mit Namen "horizon", dessen Wert der gewünschte Horizontwinkel ist.

    2.) Der Funktionsaufruf müsste dann lauten

    Code: [Auswählen]

    {Astro_Get($defs{"Bla"},"Bla","text", "CustomTwilightEvening")}


    und den Sonnenuntergang für diesen Horizontwinkel liefern.