cron Jobs für Sonnenauf- & untergang

Nicht selten kommt es mal vor, dass sich ein Rechner nach astronomischen Zyklen orientiert. Die zur Berechnung der Osterfeiertage häufig verwendete Gaußsche Osterformel basiert so z.T. auf der Mondgleichung.

Unser Problem stellte sich etwas anders dar: Die LED-Flurbeleuchtung in unserem Flur wird durch den Router geregelt und lief bisher in der Regel 24/7. Mit dem hier vorgestellten Programm haben wir es nun geschafft die Laufzeit auf die Nachstunden zu begrenzen, indem wir die von unserer geografischen Position abhängige Sonnenuntergangszeit nutzen um die Lampen erst bei Dämmerung einzuschalten.

UPDATE: Ich habe nochmal etwas Arbeit in das Tool investiert und es in ein eigenes Projekt ausgelagert. Das neue Tool liefert wesentliche genauere Ergebnisse und mehr Funktionen. Zu finden ist es hier: calcelestial.

Das neue Tool besitzt eine Reihe weiterer nützlicher Funktionen:

usage: sun mode [options]
  mode is one of: rise, set, noon, daytime, nighttime
 
  following OPTIONS are available
	-t, --twilight	use special twilight (nautic|civil|astro)
	-d, --date	calculcate for specified date (eg. 2011-12-25)
	-f, --format	output format (eg. %H:%M:%S)
	-a, --lat	geographical latitude (-90° to 90°)
	-o, --lon	geographical longitude (-180° to 180°)
	-q, --query	query geonames.org for geographical position
	-z, --zone	use timezone for output
	-h, --help	show this help
	-v, --version	show version
 
A combination of --lat, --lon or --query is required!

Beispiele

Die einfachste Variante nutzt das Unix Tool at:

echo ~/bin/enable-lightning | at $(sun set -q Frankfurt -t civil)

Mit folgenden Cronjobs, lässt sich dieses Prinzip auch leicht auf andere Anwendungen übertragen:

/libfn/blob/master/debian/libfn.cron.d
0 0 * * * echo 'fnctl stop && fnctl fade -c 000000' | at $(sun rise -q Aachen)
0 0 * * * echo 'fnctl start' | at $(sun set -q Frankfurt)

Mit dem Tool nvram-wakeup, lässt sich so bsp. der Rechner jeden Tag 10 Minuten for Sonnenaufgang automatisch starten ^^:

nvram-wakeup -s $(date -d "-10min $(sun rise -q Berlin)" +%s)

Oder möchtest du deinen Rechner nach Sonnenuntergang automatisch herrunterfahren?

shutdown $(date -d +10min $(src/sun set --lat=50.55 --lon=-6.2) +%H:%M)
5 Antworten zu cron Jobs für Sonnenauf- & untergang
  1. elmo Antworten

    Vielen Dank für den Code zum Sonnenauf- Untergang!

    Gruß
    Björn

  2. uhu Antworten

    Was ist mit der Sommer/Winterzeit?
    Da müßte man wohl den offset dann auf 2 anpassen, oder gibts da was besseres?
    Würde mich mal interessieren wie das elegat gelöst werden könnte.

    • Steffen Vogel Antworten

      Hallo uhu,

      Das ist ne interessante Frage. In der Tat wird unter Unix-System die Sommerzeit (engl. DST für “Daylight Saving Time”) über das Verschieben der Zeitzone realisiert.

      Da mein Tool, standardmäßig die Zeitzone des Betriebssystems übernimmt, sollte es hier bei korrekter Konfiguration des Systems keine Probleme geben.

      Ich schätze, dass das Behandeln dieses Problems nicht Aufgabe meines Tools, sondern eher die des Betriebssystems ist.
      Daher möchte ich dies auch nicht implementieren.

      viele Grüße

      Steffen

  3. mobile scheduling software apps Antworten

    Wow, this article is good, my younger sister is analyzing such things, thus I am going to tell her.

  4. Marcela Antworten

    Howdy! This is my first visit to your blog! We are a group of
    volunteers and starting a new initiative in a community in the same niche.
    Your blog provided us useful information to work on.

    You have done a extraordinary job!

Hinterlasse eine Antwort

Deine Mailadresse wird nicht veröffentlicht. Bitte gebe deinen Namen, deine Mailaddresse und einen Kommentar an.

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>