Änderungen

Wechseln zu: Navigation, Suche

TCLScript:twilight

2.191 Byte hinzugefügt, 15:45, 23. Aug. 2011
Hinweis auf daemonize.tcl
==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 folgender dieser [http://lexikon.astronomie.info/zeitgleichung/ Zeitgleichung]. ===Neu ab Version 1.5:===Frühere Versionen stürzten ab, wenn es keine astronomische Dämmerung mehr gab. Dies tritt im Sommer in unseren Breitengraden auf. Außerdem hatte das Script Probleme mit Untergangszeiten, welche nach Mitternacht lagen. Diese Probleme sind mit der neuen Version behoben. Wenn es keine Dämmerung einer bestimmten Art an der angegebenen Position gibt, dann wird diese in der Dämmerungstabelle mit --:--:-- angezeigt. Weiterhin wird in dem Feld "Dämmerungszeiten" nun der Tag angezeigt, für den die Berechnungen gelten, da u. U. nach Mitternacht noch Zeiten des Vortages gelten können. (Das Script dürfte noch Probleme haben, wenn es keinen Tag gibt, was im Winter in sehr hohen Breitengraden auftreten kann - nicht in Deutschland.) <br/>Bitte berücksichtigen, dass das Script nun nur noch einmalig aufgerufen wird! :[[Datei:twilight.tcl]]
:[[Datei:weather.tcl]]
==Verwendung==
Das Script wird <s>täglich um Mitternacht aufgerufen. Es läuft dann als Hintergrundprozess bis zur astronomischen Abenddämmerung weiter.</s> ''' ab Version 1.5 einmalig beim Start der CCU (als Programm ohne Bedingung)''' aufgerufen. Es läuft dann im Hintergrund endlos weiter. Dabei werden regelmäßig Debug-Ausgaben auf das Temp-Verzeichnis geschrieben. Dateien älter als 3 Tage werden gelöscht, so dass es nicht zu einem Überlauf kommt. Zur Ausführung ist das Script daemonize.tcl notwendig, weches im lcd_msg-Addon mitgeliefert wird. Wenn das lcd_msg-Addon nicht installiert ist, müsste diese Datei momentan noch von Hand in das CCU-Verzeichnis "/www/addons/lcd_msg" kopiert werden. Das Verzeichnis muss dafür von Hand angelegt werden.
Folgende Systemvariablen werden benötigt:
==Aufruf==
tclsh twilight.tcl <Breitengrad> <Längengrad> <künstlicher Horizont> <PLZ> <Zeitzonebr/>'''Hinweis: ab 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.
*<Zeitzone> Die Zeitzone der Berechnung laut Zeitformel. Momentan (Winterzeit) muss hier eine 0 stehen. Das Script schaltet nicht automatisch auf Sommerzeit um, das muss man über diesen Parameter erledigen!
123
Bearbeitungen