Beschreibung
Die Datei berechnet verschiedene Dämmerungswerte im Sonnenaufgang und -untergang und schreibt die Werte in Systemvariablen. Folgende Dämmerungen werden berechnet (siehe folgender Link auf die Zeitgleichung und den Parameter künstlicher Horizont):
- allgemein definierten Dämmerungswerte
- astronomische Dämmerung (totale Finsternis, Horizont -18°)
- nautische Dämmerung (Licht am Horizont sichtbar, Horizont -12°)
- bürgerliche Dämmerung (Sonne unterm Horizont, aber ausreichend Licht um sich draußen zu bewegen, Horizont -6°)
- "standard" Dämmerung (Sonnenauf- und -untergang, Horizont -50/60° = -0,833°). Dies sind die gleichen Zeiten, die auch von der CCU als Sonnenauf- und -untergang errechnet werden. Abweichungen können dadurch auftreten, dass die CCU nicht-Schaltjahre in 0.25er Schritten auf den Jahrestag aufaddiert, während das Script den aktuellen Tag berücksichtigt und so den Schalttag gleichmäßig auf 4 Jahre verteilt.
- spezielle, selbst definierbare Dämmerungswerte
- "Indoor" Dämmerung (künstliche Beleuchtung in der Wohnung nötig, Horizont > -0,833)
- "Wetterabhängige" Dämmerung (künstliche Beleuchtung, welche vom Bewölkungsgrad abhängig früher oder später ein- oder ausgeschaltet werden kann. Die Wetterdaten hierzu werden online kurz vor erreichen des entsprechenden Zeitpunktes abgerufen. Als Server wird der Wetterdaten-Dienst von google verwendet. Der wetterabhängige Horizont wird auf Basis des künstlichen Indoor-Horizonts und der aktuellen Wetterbedingung folgendermaßen Berechnet (Wetterbedingung und entsprechender Aufschlag auf den Horizont):
- "Klar": +0,2
- "Meist sonnig": +1,5
- "Teils sonnig": +3,0
- Alle anderen: +5,0
Die Formel zur Berechnung des Sonnenstandes basiert auf dieser Zeitgleichung.
Verwendung
Das Script wird täglich um Mitternacht aufgerufen. Es läuft dann als Hintergrundprozess bis zur astronomischen Abenddämmerung weiter.
Folgende Systemvariablen werden benötigt:
Variablen-Name | Variablentyp | Minimal | Maximal | Maßeinheit | Beispiel-Wert |
---|---|---|---|---|---|
Dämmerung | Werteliste | Aufgang Bürgerlich | |||
Tageslicht | Zahl | 0 | 6 | Helligkeit 0ANBSIW | 3 Helligkeit 0ANBSIW |
Dämmerungszeiten | Zeichenkette |
- Dämmerung muss mit folgender Werteliste initialisiert werden: Nacht;Aufgang Astronomisch;Aufgang Nautisch;Aufgang Bürgerlich;Aufgang;Aufgang Indoor;Aufgang Wetterabhängig;Untergang Wetterabhängig;Untergang Indoor;Untergang;Untergang Bürgerlich;Untergang Nautisch;Untergang Astronomisch
- Der Wert wird zu Beginn (beim Aufgang) und zum Ende (beim Untergang) einer Dämmerung weitergeschaltet. Hiermit lassen sich sehr einfach Aktionen mit einzelnen Dämmerungen verknüpfen.
- Tageslicht enthält einen Zahlenwert der die Menge an Tageslicht repräsentiert, daher die fiktive Einheit Helligkeit. Der Rest der Einheit dient als Merkzettel an dem man ablesen kann, welchen Dämmerungswerten die Helligkeit entspricht: 0 = 0 (Nacht), 1 = Astronomisch, 2 = Nautisch etc. Hiermit lassen sich Schaltvorgänge von Lampen an verschiene Tageslicht-Helligkeitsgrade knüpfen.
- Dämmerungszeiten dient lediglich der Information und lässt sich nicht (sinnvoll) in Programmen verwenden. Hier wird tabellarisch aufgelistet, welche Dämmerungen an welchen Zeitpunkten stattfinden. Der letzte Dämmerungsübergang wird fett dargestellt. Die Dämmerungszeiten der wetterabhängigen Dämmerung werden zunächst kursiv dargestellt (das sind sozusagen vorläufige Extremwerte) und nach dem Abruf des Wetterberichts (wenn die Zeiten also feststehen) normal dargestellt.
Aufruf
tclsh twilight.tcl <Breitengrad> <Längengrad> <künstlicher Horizont> <PLZ>
Hinweis: in der neuen Version 1.1 entfällt der frühere 5. Parameter Zeitzone, es wird die aktuelle Zeitzone genommen!
Parameter
- <Breitengrad> Der Breitengrad (nördlich) für die Sonnenstandsberechnung.
- <Längengrad> Der Längengrad (östlich) für die Sonnenstandsberechnung.
- <künstlicher Horizont> Der Winkel des virtuellen Horizonts (siehe Zeitgleichung) für die Indoor-Berechnung, hier sollte zunächst 2 verwendet werden (höhere Werte = Zeiten liegen näher an Mittag).
- <PLZ> die (deutsche) Postleitzahl, für die die Wetterdaten abgerufen werden sollen.