Windows Batch-Datei sunset sunrise
- joachimF
- Beiträge: 109
- Registriert: 17 Dez 2020, 12:28
- Wohnort: Carcès
- Danksagung erhalten: 1 mal
- Kontaktdaten:
Windows Batch-Datei sunset sunrise
Hallo,
wie kann ich mit einer Windows Batch-Datei den Sonnenauf- und Sonnenuntergang berechnen?
wie kann ich mit einer Windows Batch-Datei den Sonnenauf- und Sonnenuntergang berechnen?
Re: Windows Batch-Datei sunset sunrise
Hallo Joachim,
also, ob man das grad so berechnen kann, weiß ich nicht.
Ich habe für meinen Standort eine PHP-Datei mit einem array, das für jeden Tag des Jahres genau den aktuellen Wert enthält.
Will ich also Sonnenaufgang und -untergang in einem extra Script mit anzeigen, so verknüpfe ich beide.
Das schöne dabei ist, dass die Daten des Standortes für jedes weitere Jahr jeweils Gültigkeit besitzen.
Anders verhält es sich mit Mondaufgang und -untergang.
Hier ändern sich die Zeiten immer wieder.
Die Daten im Format csv habe ich von einer Internetadresse, die müsste ich allerdings bei Interesse noch raussuchen.
also, ob man das grad so berechnen kann, weiß ich nicht.
Ich habe für meinen Standort eine PHP-Datei mit einem array, das für jeden Tag des Jahres genau den aktuellen Wert enthält.
Will ich also Sonnenaufgang und -untergang in einem extra Script mit anzeigen, so verknüpfe ich beide.
Das schöne dabei ist, dass die Daten des Standortes für jedes weitere Jahr jeweils Gültigkeit besitzen.
Anders verhält es sich mit Mondaufgang und -untergang.
Hier ändern sich die Zeiten immer wieder.
Die Daten im Format csv habe ich von einer Internetadresse, die müsste ich allerdings bei Interesse noch raussuchen.
-
- Beiträge: 3
- Registriert: 16 Jul 2023, 19:53
Re: Windows Batch-Datei sunset sunrise
Hallo,
das vermute ich auch, batch kann eigentlich nicht wirklich mit Kommazahlen rechnen und so wie es im www steht, wohl nur (umständlich) mit in Verbindung von VBS.
Dann kannst Du es evtl. auch per Powershell versuchen, da findest Du auch Beispiele im Internet:
https://social.technet.microsoft.com/Fo ... powershell
Viele Grüße
Norbert
das vermute ich auch, batch kann eigentlich nicht wirklich mit Kommazahlen rechnen und so wie es im www steht, wohl nur (umständlich) mit in Verbindung von VBS.
Dann kannst Du es evtl. auch per Powershell versuchen, da findest Du auch Beispiele im Internet:
https://social.technet.microsoft.com/Fo ... powershell
Viele Grüße
Norbert
Viele Grüße Norbert
https://www.wetterstation-kalkriese.de/ ... ktuell.php
Davis Vantage Pro2 Plus
WSWin (akt. Version) (direktes Auslesen Davis-DataLogger und Import berechneter Messwerte per ws_merge)
Windows 10 Pro
https://www.wetterstation-kalkriese.de/ ... ktuell.php
Davis Vantage Pro2 Plus
WSWin (akt. Version) (direktes Auslesen Davis-DataLogger und Import berechneter Messwerte per ws_merge)
Windows 10 Pro
- Gyvate
- Beiträge: 3722
- Registriert: 10 Aug 2021, 23:41
- Wohnort: Saarbrücken
- Hat sich bedankt: 14 mal
- Danksagung erhalten: 534 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
Zum physikalisch/mathematischen Hintergrund empfehle ich z.B.
https://www.biancahoegel.de/astronomie/ ... astro.html
oder
https://www.biancahoegel.de/zeit/sonnenaufgang.html
vielleicht auch eine in der Programmiersprache Delphi geschriebene Routine (s.u.)
daraus gehen in jedem Fall die nötigen Berechnungen hervor
ob das in einem "einfachen" Windows-Skript realisierbar ist, ist eine andere Frage - möchte ich bezweifeln
möglicherweise als PowerShell Skript (--> https://germanpowershell.com/mathematische-funktionen/)
PowerShell nutzt die .NET [Math] Methoden (hiess früher Prozeduren/Funktionen, halt (Unter-)Programme),
die alle nötigen trigonometrischen Funktionen beinhalten
Programmieren solltest Du dazu allerdings schon (etwas) können
ein VB/VBA Programm kann das auch (Excel "Makro"), siehe https://www.astroexcel.de/vbexcel.htm
****************************************
unit SunShineUnit;
{ Funktion zur Berechnung von Sonnenaufgang und Sonnenuntergang }
{ Parameter }
{ Input: Lat = Latitude = Länge in Grad }
{ Lon = Longitude = Breite in Grad }
{ Date = Datum }
{ Output: SunRise = Sonnenaufgangszeit }
{ SunSet = Sonnenuntergangszeit }
{ dt = Maximal mögliche Sonnenscheinzeit }
Interface
Uses SysUtils, Math;
Procedure SunShine(Lat,Lon:Double;Date:TDateTime;Var
SunRise,SunSet,dt:TDateTime);
Implementation
{ ArcTan von X/Y in rad von 0 bis 2*pi }
Function ATan2(Y,X:Double):Double;
Var at:Double;
Begin
If X <> 0.0 Then Begin
at := ArcTan(Y/X);
End Else Begin
If Y > 0.0 Then Begin
at := Pi / 2;
End Else Begin
at := Pi * 3 / 2;
End;
End;
If X < 0.0 Then at := at + Pi;
If at < 0.0 Then at := at + pi * 2;
Result := at;
End;
{ Float Modulus }
Function RMod(X,Y:Double):Double;
Begin
Result := X - Int(X/Y) * Y;
End;
Procedure SunShine(Lat,Lon:Double;Date:TDateTime;Var
SunRise,SunSet,dt:TDateTime);
Var h,l,m,ra,tr,ts,cd,cl,cLat,sd,sl,sLAt:Double;
N:Integer; yy,mm,dd:Word;
Begin
{ Tag des Jahres }
DecodeDate(Date,yy,mm,dd);
N := Trunc(EncodeDate(yy,mm,dd)) - Trunc(EncodeDate(yy,1,1)) + 1;
{ Sonnenaufgang }
sLat := Sin(DegToRad(LAT));
cLat := Cos(DegToRad(LAT));
tr := N + (6.0 - Lon / 15.0) / 24.0;
m := 0.9856 * tr - 3.289;
l := RMod(m + 1.916 * Sin(DegToRad(m)) + 0.020 * Sin(DegToRad(2.0 *
m)) + 282.634,360.0);
sl := Sin(DegToRad(l));
cl := Cos(DegToRad(l));
ra := 180 / pi * ATan2(0.91746 * sl,cl) / 15.0;
sd := 0.39782 * sl;
cd := SQRT(1.0 - SQR(sd));
h := (360.0 - 180 / pi * ArcCos((-0.01454 - sd * sLat) / (cd *
cLat))) / 15.0;
tr := RMod(H + ra - 0.065710 * tr - 6.622 - Lon / 15.0,24.0);
SunRise := Trunc(Date) + tr / 24;
{ Sonnenuntergang }
ts := N + (18.0 - Lon / 15.0) / 24.0;
m := 0.9856 * ts - 3.289;
l := RMod(m + 1.916 * Sin(DegToRad(m)) + 0.020 * Sin(DegToRad(2.0 *
m)) + 282.634,360.0);
sl := Sin(DegToRad(l));
cl := Cos(DegToRad(l));
ra := 180 / pi * ATan2(0.91746 * sl,cl) / 15.0;
sd := 0.39782 * sl;
cd := Sqrt(1.0 - Sqr(sd));
h := (180 / pi * ArcCos((-0.01454 - sd * sLat) / (cd * cLat))) /
15.0;
ts := RMod(h + ra - 0.065710 * ts - 6.622 - Lon / 15.0 +
24.0,24.0);
If ts < 0.0 Then ts := ts + 24.0;
SunSet := Trunc(Date) + ts / 24;
{ Mögliche Sonnenstunden }
dt := (SunSet - SunRise) * 24;
End;
end.
https://www.biancahoegel.de/astronomie/ ... astro.html
oder
https://www.biancahoegel.de/zeit/sonnenaufgang.html
vielleicht auch eine in der Programmiersprache Delphi geschriebene Routine (s.u.)
daraus gehen in jedem Fall die nötigen Berechnungen hervor
ob das in einem "einfachen" Windows-Skript realisierbar ist, ist eine andere Frage - möchte ich bezweifeln
möglicherweise als PowerShell Skript (--> https://germanpowershell.com/mathematische-funktionen/)
PowerShell nutzt die .NET [Math] Methoden (hiess früher Prozeduren/Funktionen, halt (Unter-)Programme),
die alle nötigen trigonometrischen Funktionen beinhalten
Programmieren solltest Du dazu allerdings schon (etwas) können

ein VB/VBA Programm kann das auch (Excel "Makro"), siehe https://www.astroexcel.de/vbexcel.htm
****************************************
unit SunShineUnit;
{ Funktion zur Berechnung von Sonnenaufgang und Sonnenuntergang }
{ Parameter }
{ Input: Lat = Latitude = Länge in Grad }
{ Lon = Longitude = Breite in Grad }
{ Date = Datum }
{ Output: SunRise = Sonnenaufgangszeit }
{ SunSet = Sonnenuntergangszeit }
{ dt = Maximal mögliche Sonnenscheinzeit }
Interface
Uses SysUtils, Math;
Procedure SunShine(Lat,Lon:Double;Date:TDateTime;Var
SunRise,SunSet,dt:TDateTime);
Implementation
{ ArcTan von X/Y in rad von 0 bis 2*pi }
Function ATan2(Y,X:Double):Double;
Var at:Double;
Begin
If X <> 0.0 Then Begin
at := ArcTan(Y/X);
End Else Begin
If Y > 0.0 Then Begin
at := Pi / 2;
End Else Begin
at := Pi * 3 / 2;
End;
End;
If X < 0.0 Then at := at + Pi;
If at < 0.0 Then at := at + pi * 2;
Result := at;
End;
{ Float Modulus }
Function RMod(X,Y:Double):Double;
Begin
Result := X - Int(X/Y) * Y;
End;
Procedure SunShine(Lat,Lon:Double;Date:TDateTime;Var
SunRise,SunSet,dt:TDateTime);
Var h,l,m,ra,tr,ts,cd,cl,cLat,sd,sl,sLAt:Double;
N:Integer; yy,mm,dd:Word;
Begin
{ Tag des Jahres }
DecodeDate(Date,yy,mm,dd);
N := Trunc(EncodeDate(yy,mm,dd)) - Trunc(EncodeDate(yy,1,1)) + 1;
{ Sonnenaufgang }
sLat := Sin(DegToRad(LAT));
cLat := Cos(DegToRad(LAT));
tr := N + (6.0 - Lon / 15.0) / 24.0;
m := 0.9856 * tr - 3.289;
l := RMod(m + 1.916 * Sin(DegToRad(m)) + 0.020 * Sin(DegToRad(2.0 *
m)) + 282.634,360.0);
sl := Sin(DegToRad(l));
cl := Cos(DegToRad(l));
ra := 180 / pi * ATan2(0.91746 * sl,cl) / 15.0;
sd := 0.39782 * sl;
cd := SQRT(1.0 - SQR(sd));
h := (360.0 - 180 / pi * ArcCos((-0.01454 - sd * sLat) / (cd *
cLat))) / 15.0;
tr := RMod(H + ra - 0.065710 * tr - 6.622 - Lon / 15.0,24.0);
SunRise := Trunc(Date) + tr / 24;
{ Sonnenuntergang }
ts := N + (18.0 - Lon / 15.0) / 24.0;
m := 0.9856 * ts - 3.289;
l := RMod(m + 1.916 * Sin(DegToRad(m)) + 0.020 * Sin(DegToRad(2.0 *
m)) + 282.634,360.0);
sl := Sin(DegToRad(l));
cl := Cos(DegToRad(l));
ra := 180 / pi * ATan2(0.91746 * sl,cl) / 15.0;
sd := 0.39782 * sl;
cd := Sqrt(1.0 - Sqr(sd));
h := (180 / pi * ArcCos((-0.01454 - sd * sLat) / (cd * cLat))) /
15.0;
ts := RMod(h + ra - 0.065710 * ts - 6.622 - Lon / 15.0 +
24.0,24.0);
If ts < 0.0 Then ts := ts + 24.0;
SunSet := Trunc(Date) + ts / 24;
{ Mögliche Sonnenstunden }
dt := (SunSet - SunRise) * 24;
End;
end.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
- joachimF
- Beiträge: 109
- Registriert: 17 Dez 2020, 12:28
- Wohnort: Carcès
- Danksagung erhalten: 1 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
Du hast dir viel Mühe gemacht, aber das ist mir zu kompliziert, weil es mir nicht um mathematische Genaugkeit geht.
PowerShell und VA kenne ich nur vom Namen

--
Mit WsWin ->Zeitsteuerung Sonne schalte ich die WebCam-Software ein und aus.
Schmiert mir Windows ab (z.B. Stromausfall) und rebootet, wird durch Autostart sowohl WsWin als auch die WebCam-Software neu gestartet.
Passiert DAS innerhalb der Sonnenauf- und untergangszeit ist es OK.
Nur außerhalb dieses Zeitfensters startet auch die WebCam und liefert dann auch Nachtbilder, die ich nicht will.
Ich stelle mir eine Lösung vor, die so aus sieht, daß nur WsWin und ein Script im Autostartordner liegen.
Das Script fragt ab, ob die aktuelle Zeit innerhalb des Sonnenauf- und untergangfenster liegt und falls JA wird die WebCam gestartet.
Ich werde dieses mit php versuchen zu lösen, weil es eine einfache date_sunrise(time() Funktion gibt.
- Gyvate
- Beiträge: 3722
- Registriert: 10 Aug 2021, 23:41
- Wohnort: Saarbrücken
- Hat sich bedankt: 14 mal
- Danksagung erhalten: 534 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
das mit der Kamera hab ich so gelöst, dass ich das in der Kamera so einstelle - und alle 1-2 Monate das Zeitfenster dort anpasse - dann liefert die Kamera kein neues Bild mehr und es wird nur das letzte angezeigt, bis am nächsten Morgen das Zeitfenster wieder erreicht ist. Meine "WebCams" sind Überwachungskameras, bei denen man u.a. pro Wochentag das Zeitfenster für die Erstellung von Videoclips bzw. Schnappschüssen einstellen kann.
So ist das Ganze auf der WebCam-Seite unabhängig von Server Up- oder Down-Time.
Übrigens hat die Funktion, die Dein php Skript da aufruft, bestimmt +/- die Formeln, die auch im Delphi-Programm zu sehen sind, im Bauch ...
- aber wenn's bereits was Fertiges gibt, braucht man sich auch keine weitere Mühe zu machen.
Ganz nebenbei sind Windows und PowerShell Skripte auch nicht sonderlich verschieden von Linux-Skripten oder php Skripten. Es sind halt, grob gesagt, Programmiersprachen, die man in dem Umfang beherrschen sollte, in dem man sie einsetzen will. Und VB(A,S) ist schon eine sehr mächtige Programmiersprache, wie auch Python (das nicht nur in der Linux-Welt existiert)
So ist das Ganze auf der WebCam-Seite unabhängig von Server Up- oder Down-Time.
Übrigens hat die Funktion, die Dein php Skript da aufruft, bestimmt +/- die Formeln, die auch im Delphi-Programm zu sehen sind, im Bauch ...

Ganz nebenbei sind Windows und PowerShell Skripte auch nicht sonderlich verschieden von Linux-Skripten oder php Skripten. Es sind halt, grob gesagt, Programmiersprachen, die man in dem Umfang beherrschen sollte, in dem man sie einsetzen will. Und VB(A,S) ist schon eine sehr mächtige Programmiersprache, wie auch Python (das nicht nur in der Linux-Welt existiert)
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
- joachimF
- Beiträge: 109
- Registriert: 17 Dez 2020, 12:28
- Wohnort: Carcès
- Danksagung erhalten: 1 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
werde ich mal nachschauen, ob das auch bei mir geht, denn dein Ansatz ist auch gut
- Tex
- Beiträge: 393
- Registriert: 07 Dez 2020, 18:32
- Wohnort: Woldegk
- Hat sich bedankt: 24 mal
- Danksagung erhalten: 67 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
Das kannst du sehr elegant mit WSWIN lösen:
Dieses Script am Ende der custom.txt einfügen. Den exakten Pfad zum Programm eingeben, Parameter ist nicht zwingend nötig - kann gelöscht werden. Der evtl. Haken dabei: WSWIN startet das Programm permanent in der fraglichen Zeit. Mal ausprobieren, ob dein Programm dann tatsächlich mehrfach gestartet wird, oder nur 1x.
%unit_off%
%ws_setmem[1]=%ws_timetoval[%ws_sunrise%]%%
%ws_setmem[2]=%ws_timetoval[%ws_time%]%%
%ws_setmem[3]=%ws_compare[1]=%ws_getmem[2]%~%ws_getmem[1]%~1~0%%
%ws_setmem[4]=%ws_timetoval[%ws_sunset%]%%
%ws_setmem[5]=%ws_compare[5]=%ws_getmem[4]%~%ws_getmem[2]%~1~0%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[3]%~%ws_getmem[5]%~0%%
%wswin_runprogram=%ws_compare[3]=%ws_getmem[6]%~2~1~0%^C:\Pfad\Dateiname^Parameter%
%unit_on%
Dieses Script am Ende der custom.txt einfügen. Den exakten Pfad zum Programm eingeben, Parameter ist nicht zwingend nötig - kann gelöscht werden. Der evtl. Haken dabei: WSWIN startet das Programm permanent in der fraglichen Zeit. Mal ausprobieren, ob dein Programm dann tatsächlich mehrfach gestartet wird, oder nur 1x.
%unit_off%
%ws_setmem[1]=%ws_timetoval[%ws_sunrise%]%%
%ws_setmem[2]=%ws_timetoval[%ws_time%]%%
%ws_setmem[3]=%ws_compare[1]=%ws_getmem[2]%~%ws_getmem[1]%~1~0%%
%ws_setmem[4]=%ws_timetoval[%ws_sunset%]%%
%ws_setmem[5]=%ws_compare[5]=%ws_getmem[4]%~%ws_getmem[2]%~1~0%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[3]%~%ws_getmem[5]%~0%%
%wswin_runprogram=%ws_compare[3]=%ws_getmem[6]%~2~1~0%^C:\Pfad\Dateiname^Parameter%
%unit_on%
Zuletzt geändert von Tex am 17 Jul 2023, 17:14, insgesamt 1-mal geändert.
- joachimF
- Beiträge: 109
- Registriert: 17 Dez 2020, 12:28
- Wohnort: Carcès
- Danksagung erhalten: 1 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
wäre es dir möglich, die einzelnen Zeilen kurz zu kommentieren,
denn so ganz blind möchte ich dein Script nicht übernehmen.
- Tex
- Beiträge: 393
- Registriert: 07 Dez 2020, 18:32
- Wohnort: Woldegk
- Hat sich bedankt: 24 mal
- Danksagung erhalten: 67 mal
- Kontaktdaten:
Re: Windows Batch-Datei sunset sunrise
%unit_off% / Einheiten ausschalten, sonst kann wswin nicht berechnen
%ws_setmem[1]=%ws_timetoval[%ws_sunrise%]%% / sunrise umrechnen in Dezimalzeit
%ws_setmem[2]=%ws_timetoval[%ws_time%]%% / akt. Zeit umrechnen in Dezimalzeit
%ws_setmem[3]=%ws_compare[1]=%ws_getmem[2]%~%ws_getmem[1]%~1~0%% / vergleichen ob akt. Zeit >sunrise, dann 1 sonst 0 speichern
%ws_setmem[4]=%ws_timetoval[%ws_sunset%]%% / sunset umrechen in Dezimalzeit
%ws_setmem[5]=%ws_compare[5]=%ws_getmem[4]%~%ws_getmem[2]%~1~0%% vergleich ob sunset kleiner akt Zeit, dann 1 sonst 0
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[3]%~%ws_getmem[5]%~0%% / sm3 und sm5 addieren
%wswin_runprogram=%ws_compare[3]=%ws_getmem[6]%~2~1~0%^C:\Pfad\Dateiname^Parameter% / wenn gm6 = 2 dann 1 sonst 0. Wenn in der Variablen %wswin_runprogram= 1 als Ergebnis kommt, wird das Programm ausgelöst bzw. gestartet
%unit_on%
%ws_setmem[1]=%ws_timetoval[%ws_sunrise%]%% / sunrise umrechnen in Dezimalzeit
%ws_setmem[2]=%ws_timetoval[%ws_time%]%% / akt. Zeit umrechnen in Dezimalzeit
%ws_setmem[3]=%ws_compare[1]=%ws_getmem[2]%~%ws_getmem[1]%~1~0%% / vergleichen ob akt. Zeit >sunrise, dann 1 sonst 0 speichern
%ws_setmem[4]=%ws_timetoval[%ws_sunset%]%% / sunset umrechen in Dezimalzeit
%ws_setmem[5]=%ws_compare[5]=%ws_getmem[4]%~%ws_getmem[2]%~1~0%% vergleich ob sunset kleiner akt Zeit, dann 1 sonst 0
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[3]%~%ws_getmem[5]%~0%% / sm3 und sm5 addieren
%wswin_runprogram=%ws_compare[3]=%ws_getmem[6]%~2~1~0%^C:\Pfad\Dateiname^Parameter% / wenn gm6 = 2 dann 1 sonst 0. Wenn in der Variablen %wswin_runprogram= 1 als Ergebnis kommt, wird das Programm ausgelöst bzw. gestartet
%unit_on%