Das Skript ermittelt anhand der eingetragenen Geoposition die Sonnenauf- und untergangszeit, um z.B. dadurch Ereignisse steuern zu können
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.6 KiB

#!/bin/sh
# /volume1/homes/admin/script/sonnenuntergang.sh
# ermittelt die Zeiten anhand des externen Servers
# http://domes-finest.de/2014/09/17/linux-shell-script-sonnenaufgang-sonnenuntergang-bestimmen/
# http://homematic-forum.de/forum/viewtopic.php?f=31&t=17035
# http://www.flashsystems.de/articles/1521
lat=50.90391
lon=14.79756
rawdata=`wget -q --header="User-Agent: Mozilla" "http://www.calsky.com/cs.cgi/Sun/2?lang=de&showtwilight=true&hideglos=true&dateNow&lon=$lon&lat=$lat" -O - | sed -e 's/[<]/\n&/g;s/&nbsp;//g;/class="caltab"/,/<\/table>/!d' | sed -e 's/\(<b>\|<tt>\)//g;/\(Aufgang\|Untergang\|Begin\|Morgen\)/!d;s/\(Ende\|Abend\|Tag\)/\n&/g' | sed -e ':a;N;$!ba;s/\n/;/g;s/ //g;s/:/-/g;s/h/:/g;s/m//g;s/ ;/;/g'`
Aufgang=`echo $rawdata | awk -F';' '{print $1}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
Untergang=`echo $rawdata | awk -F';' '{print $2}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
BuergerlicheDaemmerungBeginn=`echo $rawdata | awk -F';' '{print $3}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
BuergerlicheDaemmerungEnde=`echo $rawdata | awk -F';' '{print $4}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
NautischeMorgendaemmerung=`echo $rawdata | awk -F';' '{print $5}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
NautischeAbenddaemmerung=`echo $rawdata | awk -F';' '{print $6}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
tageslaenge=`echo $rawdata | awk -F';' '{print $7}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
AstronomischeDaemmerungBeginn=`echo $rawdata | awk -F';' '{print $8}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
AstronomischeDaemmerungEnde=`echo $rawdata | awk -F';' '{print $9}' | awk -F'-' '{print $2}' | awk -F'.' '{print $1}'`
#Aufgang=`echo $rawdata | awk -F';' '{print $1}' | awk -F'-' '{print $2}' `
#Aufgang=`date -d $Aufgang %T`
echo "Aufgang $Aufgang"
echo "Untergang $Untergang"
echo "BuergerlicheDaemmerungBeginn $BuergerlicheDaemmerungBeginn"
echo "BuergerlicheDaemmerungEnde $BuergerlicheDaemmerungEnde"
echo "NautischeMorgendaemmerung $NautischeMorgendaemmerung"
echo "NautischeAbenddaemmerung $NautischeAbenddaemmerung"
echo "tageslaenge $tageslaenge"
echo "AstronomischeDaemmerungBeginn $AstronomischeDaemmerungBeginn"
echo "AstronomischeDaemmerungEnde $AstronomischeDaemmerungEnde"
Aufgang=`echo $Aufgang | sed -e s/://g`
Untergang=`echo $Untergang | sed -e s/://g`
now=`date +%k%M` #:%M`
echo $Aufgang
echo " Es ist jetzt `date +%k:%M` Uhr"
if [ "$Aufgang" -le $now ] && [ $Untergang -ge $now ];
then
echo " L==> Es ist Tag! :-)"
else
echo " L==> Es ist Nacht! :-("
fi
exit