Änderungen

TCLScript:twilight

1.482 Byte hinzugefügt, 15:45, 23. Aug. 2011
Hinweis auf daemonize.tcl
**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)
Die Formel zur Berechnung des Sonnenstandes basiert auf 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]]
==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. Das Minuszeichen ist in der Formel berücksichtigt, also hier den positiven Wert eingeben
*<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. Weil der Tcl-code die Zeitzone selbständig berücksichtigt, muss hier im Winter eine 0 stehen. Das Script schaltet nicht automatisch auf Sommerzeit um, das muss man über diesen Parameter erledigen!
123
Bearbeitungen