Twilight: Unterschied zwischen den Versionen
Krikan (Diskussion | Beiträge) K (Forenlink korrigiert) |
K (Definition aktualisiert und state hinzugefügt) |
||
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
|ModType=h | |ModType=h | ||
<!-- |ModCategory=?? --> | <!-- |ModCategory=?? --> | ||
<!-- |ModCmdRef= | <!-- |ModCmdRef={{Link2Forum|Topic=19922|LinkText=siehe Forum}} --> | ||
|ModTechName=59_Twilight.pm | |ModTechName=59_Twilight.pm | ||
|ModForumArea=Unterstützende Dienste/Wettermodule | |ModForumArea=Unterstützende Dienste/Wettermodule | ||
|ModOwner= | |ModOwner=Beta-User ({{Link2FU|9229|Forum}}/[[Benutzer Diskussion:Beta-User|Wiki]]) | ||
}} | }} | ||
[[Twilight]] ist ein Hilfsmodul, das für eine über Koordinaten spezifizierte Position diverse Dämmerungszustände, Zeiten und die Helligkeit berechnet und als Readings bereitstellt. Darüber hinaus werden auch, sofern spezifiziert, über die Yahoo Wetter-ID Wetterinformationen bereitgestellt bzw. in die Berechnungen mit einbezogen. | [[Twilight]] ist ein Hilfsmodul, das für eine über Koordinaten spezifizierte Position diverse Dämmerungszustände, Zeiten und die Helligkeit berechnet und als Readings bereitstellt. | ||
<!-- Darüber hinaus werden auch, sofern spezifiziert, über die Yahoo Wetter-ID Wetterinformationen bereitgestellt bzw. in die Berechnungen mit einbezogen. | |||
--> | |||
== Voraussetzungen == | == Voraussetzungen == | ||
Keine. | Keine. | ||
<br clear="all"> | |||
{{Randnotiz|RNTyp=r|RNText='''End of Live der Yahoo Weather API''' | |||
Da die Yahoo Weather API zum 03.01.2019 abgeschaltet wurde, kann '''Twilight''' aktuell keine Wetterdaten beziehen! | |||
Das Modul wird gerade (09/2020) an diese geänderten Bedingungen angepasst, die Diskussion über diese Anpassungen findet {{Link2Forum|Topic=114061|LinkText=in diesem Forenthread}} statt.}} | |||
== Anwendung == | == Anwendung == | ||
=== Define === | === Define === | ||
:<code>define <name> Twilight <latitude> <longitude> [<indoor_horizon> [< | :<code>define <name> Twilight [<latitude> <longitude> [<indoor_horizon> [<weatherDevice[:Reading]>]]]</code> | ||
Die Bedeutung der Parameter: | Die Bedeutung der Parameter: | ||
;latitude / longitude | ;latitude / longitude | ||
:Geokoordinaten, für die die Werte berechnet werden sollen | :Geokoordinaten, für die die Werte berechnet werden sollen. Falls diese nicht angegeben sind, werden die Werte aus ''global'' verwendet. Falls auch dort keine Angaben zu finden sind, wird wie in ''global'' als Position Frankfurt/Main verwendet. {{Randnotiz|RNTyp=y|RNText=Hinweis: der Rückgriff auf die Geodaten aus ''global'' ist das Verhalten seit 09/2020, seitdem hat Twilight auch keine Auswirkungen auf die dortigen Angaben!}} | ||
;indoor_horizon | ;indoor_horizon | ||
: | :Der Parameter '''indoor_horizon''' bestimmt einen virtuellen Horizont, der für die Berechnung der Dämmerung innerhalb von Räumen genutzt werden kann. Minimalwert ist -6 (ergibt gleichen Wert wie Zivile Dämmerung). Bei 0 fallen indoor- und realer Dämmerungswert zusammen. Werte größer 0 ergeben frühere Werte für den Abend bzw. spätere für den Morgen. | ||
; | ;<nowiki>weatherDevice:Reading</nowiki> | ||
: | :Der Parameter '''weatherDevice:Reading''' kann genutzt werden, um über ein anderes Device an den Bedeckungsgrad für die Berechnung von '''twilight_weather''' bereitzustellen. Das Reading sollte sich im Intervall zwischen 0 und 100 bewegen, z.B. das Reading '''c_clouds''' in einem '''openweathermap''' device, bei dem 0 heiteren und 100 bedeckten Himmel bedeuten. | ||
=== Attribute === | === Attribute === | ||
Zeile 53: | Zeile 61: | ||
:;6 | :;6 | ||
::"normales" Tageslicht | ::"normales" Tageslicht | ||
'''state''' | |||
:entspricht der aktuellen virtuellen "Tages-Phase" | |||
:(0 = nach Mitternacht, 1 = nach sr_astro, ...12 = nach ss_astro) | |||
{| class="wikitable" | |||
|+ | |||
!state | |||
!entspricht | |||
! | |||
|- | |||
|0 | |||
|'''sr_astro''' | |||
|Zeit des astronomitschen Sonnenaufgangs | |||
|- | |||
|1 | |||
|'''sr_naut''' | |||
|Zeit des nautischen Sonnenaufgangs | |||
|- | |||
|2 | |||
|'''sr_civil''' | |||
|Zeit des zivilen/bürgerlichen Sonnenaufgangs | |||
|- | |||
|3 | |||
|'''sr''' | |||
|Zeit des Sonnenaufgangs | |||
|- | |||
|4 | |||
|'''sr_indoor''' | |||
|Zeit des "indoor" Sonnenaufgangs | |||
|- | |||
|6 | |||
|'''sr_weather''' | |||
|"Zeit" des wetterabhängigen Sonnenaufgangs | |||
|- | |||
|7 | |||
|'''ss_weather''' | |||
|"Zeit" des wetterabhängigen Sonnenuntergangs | |||
|- | |||
|8 | |||
|'''ss_indoor''' | |||
|Zeit des "indoor" Sonnenuntergangs | |||
|- | |||
|9 | |||
|'''ss''' | |||
|Zeit des Sonnenuntergangs | |||
|- | |||
|10 | |||
|'''ss_civil''' | |||
|Zeit des zivilen/bürgerlichen Sonnenuntergangs | |||
|- | |||
|11 | |||
|'''ss_nautic''' | |||
|Zeit des nautischen Sonnenuntergangs | |||
|- | |||
|12 | |||
|'''ss_astro''' | |||
|Zeit des astro. Sonnenuntergangs | |||
|} | |||
: | |||
;azimuth | ;azimuth | ||
:Azimut; Horizontalwinkel des Sonnenstands (0°= | :Azimut; Horizontalwinkel des Sonnenstands (0°=Norden, 180°=Süden, usw.) | ||
;elevation | ;elevation | ||
:Höhe des Sonnenstands | :Höhe des Sonnenstands | ||
Zeile 74: | Zeile 140: | ||
=== Ausführliches Beispiel === | === Ausführliches Beispiel === | ||
[[Twilight Anwendungsbeispiel]] mit detaillierten Erläuterungen | [[Twilight Anwendungsbeispiel]] mit detaillierten Erläuterungen | ||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] |
Aktuelle Version vom 16. November 2022, 13:09 Uhr
Twilight | |
---|---|
Zweck / Funktion | |
Virtuelles Gerät zur Berechnung der Dämmerungszustände für eine gegebene Position | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstützende Dienste/Wettermodule |
Modulname | 59_Twilight.pm |
Ersteller | Beta-User (Forum /Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Twilight ist ein Hilfsmodul, das für eine über Koordinaten spezifizierte Position diverse Dämmerungszustände, Zeiten und die Helligkeit berechnet und als Readings bereitstellt.
Voraussetzungen
Keine.
Da die Yahoo Weather API zum 03.01.2019 abgeschaltet wurde, kann Twilight aktuell keine Wetterdaten beziehen!
Das Modul wird gerade (09/2020) an diese geänderten Bedingungen angepasst, die Diskussion über diese Anpassungen findet in diesem Forenthread statt.
Anwendung
Define
define <name> Twilight [<latitude> <longitude> [<indoor_horizon> [<weatherDevice[:Reading]>]]]
Die Bedeutung der Parameter:
- latitude / longitude
- Geokoordinaten, für die die Werte berechnet werden sollen. Falls diese nicht angegeben sind, werden die Werte aus global verwendet. Falls auch dort keine Angaben zu finden sind, wird wie in global als Position Frankfurt/Main verwendet.
- indoor_horizon
- Der Parameter indoor_horizon bestimmt einen virtuellen Horizont, der für die Berechnung der Dämmerung innerhalb von Räumen genutzt werden kann. Minimalwert ist -6 (ergibt gleichen Wert wie Zivile Dämmerung). Bei 0 fallen indoor- und realer Dämmerungswert zusammen. Werte größer 0 ergeben frühere Werte für den Abend bzw. spätere für den Morgen.
- weatherDevice:Reading
- Der Parameter weatherDevice:Reading kann genutzt werden, um über ein anderes Device an den Bedeckungsgrad für die Berechnung von twilight_weather bereitzustellen. Das Reading sollte sich im Intervall zwischen 0 und 100 bewegen, z.B. das Reading c_clouds in einem openweathermap device, bei dem 0 heiteren und 100 bedeckten Himmel bedeuten.
Attribute
Readings
Eine Auswahl der Readings, die das angelegte Twilight-Objekt enthält:
- sr*
- verschiedene Werte für den Sonnenaufgang ("sunrise"): astronomisch, bürgerlich, nautisch, ...
- ss*
- verschiedene Werte für den Sonnenuntergang ("sunset"): astronomisch, bürgerlich, nautisch, ...
- nextEvent
- Name des Ereignisses, das als nächstes eintreten wird (z. B. "ss_weather")
- nextEventTime
- Zeitpunkt, zu dem das (unter nextEvent benannte) nächste Ereignis eintreten wird
- light
- ein errechneter Helligkeitswert mit den folgenden möglichen Werten (zwischen 0 und 6):
- 0
- Völlige Dunkelheit; relativer Sonnenstand zum Horizont: -18°
- 1
- astronomische Dämmerung; relativer Sonnenstand zum Horizont: zwischen -12° und -18°
- 2
- nautische Dämmerung; relativer Sonnenstand zum Horizont: zwischen -6° und -12°
- 3
- bürgerliche Dämmerung; relativer Sonnenstand zum Horizont: zwischen 0° und -6°
- 4
- "indoor"-Dämmerung; Sonnenstand zwischen indoor_horizon (sofern der Wert ungleich Null ist) und 0°
- 5
- "Wetter"-Dämmerung; Sonnenstand zwischen indoor_horizon und einem virtuellen Wetter-Horizont (abhängig von der Angabe einer Weather_position)
- 6
- "normales" Tageslicht
state
- entspricht der aktuellen virtuellen "Tages-Phase"
- (0 = nach Mitternacht, 1 = nach sr_astro, ...12 = nach ss_astro)
state | entspricht | |
---|---|---|
0 | sr_astro | Zeit des astronomitschen Sonnenaufgangs |
1 | sr_naut | Zeit des nautischen Sonnenaufgangs |
2 | sr_civil | Zeit des zivilen/bürgerlichen Sonnenaufgangs |
3 | sr | Zeit des Sonnenaufgangs |
4 | sr_indoor | Zeit des "indoor" Sonnenaufgangs |
6 | sr_weather | "Zeit" des wetterabhängigen Sonnenaufgangs |
7 | ss_weather | "Zeit" des wetterabhängigen Sonnenuntergangs |
8 | ss_indoor | Zeit des "indoor" Sonnenuntergangs |
9 | ss | Zeit des Sonnenuntergangs |
10 | ss_civil | Zeit des zivilen/bürgerlichen Sonnenuntergangs |
11 | ss_nautic | Zeit des nautischen Sonnenuntergangs |
12 | ss_astro | Zeit des astro. Sonnenuntergangs |
- azimuth
- Azimut; Horizontalwinkel des Sonnenstands (0°=Norden, 180°=Süden, usw.)
- elevation
- Höhe des Sonnenstands
- twilight
- Dämmerungswert, errechnet aus der Höhe des Sonnenstands. Der Wert geht von 0% bis 100% bei einem Sonnenstand zwischen -12° und 6° (also während der Dämmerungsphase).
Funktionen
twilight($twilight, $reading, $min, $max)
Funktion im Modul, um bei der Dämmerungsberechnung Minimal-/Maximalwerte ("frühestens/spätestens") spezifizieren und das Ergebnis beispielsweise in einem at
weiterverarbeiten zu können.
Anwendungsbeispiel(e)
Kurzes Beispiel
Anwendung der Funktion twilight zur Zeitsteuerung:
define morgens at *{twilight("myTL","sr_indoor","7:30","9:00")} set Rollo on
Dieses at wird morgens zum Zeitpunkt sr_indoor des Twilight Objekts myTL - aber frühestens um 7:30 und spätestens um 9:00 Uhr - dem Gerät Rollo einen on-Befehl schicken. Das Objekt myTL muss natürlich vorher mit (beispielsweise)
define myTL Twilight 44.444444 8.888888 ...
definiert worden sein.
Ausführliches Beispiel
Twilight Anwendungsbeispiel mit detaillierten Erläuterungen