Windows Batch-Datei sunset sunrise

Für allgemeine Software
Benutzeravatar
joachimF
Offline
Beiträge: 109
Registriert: 17 Dez 2020, 12:28
Wohnort: Carcès
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#11

Beitrag von joachimF »

Tex hat geschrieben: 17 Jul 2023, 17:15 C:\Pfad\Dateiname^Parameter%
der Teil ^Parameter kann wegfallen?
z.B. C:\php\php.exe wäre OK
Viele Grüße aus der Provence, Joachim

https://puttkammer.de
Benutzeravatar
Tex
Offline
Beiträge: 386
Registriert: 07 Dez 2020, 18:32
Wohnort: Woldegk
Hat sich bedankt: 19 mal
Danksagung erhalten: 67 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#12

Beitrag von Tex »

Sieht dann so aus:
C:\Pfad\Dateiname^%
Benutzeravatar
joachimF
Offline
Beiträge: 109
Registriert: 17 Dez 2020, 12:28
Wohnort: Carcès
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#13

Beitrag von joachimF »

Tex hat geschrieben: 17 Jul 2023, 15:27 %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:\ipscan.exe^%
Um die Ausgabe zu testen, habe ich zusärtzlich in den ersten 6 Zeilen jeweils %ws_setmem[1]= und das letzte % entfernt.
Ergebnis um 22.77 Uhr

6.15
22.77
1

21.20
1
2

und es wurde das Program C:\ipscan.exe gestartet.
Der umgekehrte Fall muss es sein, ein NICHTSTART.

Da WsWin minütlich ausliest, wird auch minütlich die custom.txt abgearbeitet und jedesmal ipscan.exe gestartet.
Ich habe es noch nicht mit iSpy getestet; um diese Programm geht es hier.
Viele Grüße aus der Provence, Joachim

https://puttkammer.de
wk893b
Offline
Beiträge: 134
Registriert: 23 Jan 2022, 09:13
Danksagung erhalten: 10 mal

Re: Windows Batch-Datei sunset sunrise

#14

Beitrag von wk893b »

Hier mal meine Version der immerwährenden Sonnenauf- und -untergänge mit PHP.

Um Geräte zu schalten, ist das Script einfach mit dem jeweils anderen per include zu verknüpfen und mit einer If-Bedingung und den Variablen sunset, sunrise den Befehl für ein und aus zu setzen.

PS: Hoffe, dass ich die richtigen Werte für vor Ort getroffen habe.
Das Script funktioniert jedenfalls.
Viele Grüße

wk893b


https://bh.wetter-alarm.de/
Benutzeravatar
Tex
Offline
Beiträge: 386
Registriert: 07 Dez 2020, 18:32
Wohnort: Woldegk
Hat sich bedankt: 19 mal
Danksagung erhalten: 67 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#15

Beitrag von Tex »

Da WsWin minütlich ausliest, wird auch minütlich die custom.txt abgearbeitet und jedesmal ipscan.exe gestartet.
Das hatte ich befürchtet....
Benutzeravatar
joachimF
Offline
Beiträge: 109
Registriert: 17 Dez 2020, 12:28
Wohnort: Carcès
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#16

Beitrag von joachimF »

Ich bin nun fast fertig mit dem php script

Grundlage
https://www.php.net/manual/de/function.exec.php

Beschreibung
exec(string $command, array &$output = null, int &$result_code = null):
string|false
exec() führt einen angegebenen Befehl (command) aus.

Code: Alles auswählen

<?php

$time = time();
// Set latitude and longitude für Carces.
$latitude = 43.45429245253471;
$longitude = 6.153127266694305;

 $suninfo = date_sun_info($time, $latitude, $longitude);
 $sunrise = $suninfo['sunrise'];
 $sunset  = $suninfo['sunset'];

if ( ( $time > $sunrise ) && ( $time < $sunset ) ) {
	echo "\n"."Zeit liegt innerhalb von sunrise und sunset.";
	echo "\n"."Programm wird nun ausgeführt";

	$command="C:\Programme\iSpy\iSpy.exe";
	exec ($command);
}

?>
Hinweis:

Wenn ein Programm mit dieser Funktion gestartet wird und im Hintergrund
weiterlaufen soll, muss die Ausgabe des Programms in eine Datei oder einen
anderen Ausgabestrom umgeleitet werden. Anderenfalls bleibt PHP solange
hängen, bis das Programm zu Ende ausgeführt wurde.

Das ist der Fall

Code: Alles auswählen

C:\Users\pu>php sun.php
1689758870
1689739811
1689793993
Zeit liegt innerhalb von sunrise und sunset.
Programm wird nun ausgeführt
aber wie leite um?
Viele Grüße aus der Provence, Joachim

https://puttkammer.de
wk893b
Offline
Beiträge: 134
Registriert: 23 Jan 2022, 09:13
Danksagung erhalten: 10 mal

Re: Windows Batch-Datei sunset sunrise

#17

Beitrag von wk893b »

Außerhalb von sunrise/set nichts tun(keine Aktivität).
else {
echo 'Ich schlafe jetzt! - Brrrrrr.......';
}
Viele Grüße

wk893b


https://bh.wetter-alarm.de/
Benutzeravatar
joachimF
Offline
Beiträge: 109
Registriert: 17 Dez 2020, 12:28
Wohnort: Carcès
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise

#18

Beitrag von joachimF »

wk893b hat geschrieben: 19 Jul 2023, 13:39 Außerhalb von sunrise/set nichts tun(keine Aktivität).
else {
' '
}
versteh ich nicht :?:
Hier mal meine Version der immerwährenden Sonnenauf- und -untergänge mit PHP.
zeigt bei mir kein Script, sondern das Ergebnis als Html-Seite
Viele Grüße aus der Provence, Joachim

https://puttkammer.de
wk893b
Offline
Beiträge: 134
Registriert: 23 Jan 2022, 09:13
Danksagung erhalten: 10 mal

Re: Windows Batch-Datei sunset sunrise

#19

Beitrag von wk893b »

joachimF hat geschrieben: 19 Jul 2023, 14:09
wk893b hat geschrieben: 19 Jul 2023, 13:39 Außerhalb von sunrise/set nichts tun(keine Aktivität).
else {
' '
}
versteh ich nicht :?:

Du wolltest doch dass PHP außerhalb von der Aktivität von Sonnenaufgang und - untergang weitergeleitet wird, damit es nicht hängen bleibt.

Hier mal meine Version der immerwährenden Sonnenauf- und -untergänge mit PHP.
zeigt bei mir kein Script, sondern das Ergebnis als Html-Seite
Das ist richtig.

Du hast ja das Problem mit den Zeiten von Sonnenaufgang und - untergang schon gelöst und bist bereits einen Schritt weiter bei der Ausführung von Aktivitäten während dieser Zeiten.

Mein Script liefert nur die immerwährenden Zeiten für den Sonnenaufgang und - untergang für Carces, wie anfänglich im Thema gefordert.
Ich hoffe die Zeiten stimmen, da sie von einer externen Quelle stammen.
Die Umsetzung zur Ein- und Abschaltung der Webcam müsste jedoch noch dazu gebaut werden.
Aber da bist du ja schon weiter.
Viele Grüße

wk893b


https://bh.wetter-alarm.de/
Benutzeravatar
joachimF
Offline
Beiträge: 109
Registriert: 17 Dez 2020, 12:28
Wohnort: Carcès
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Windows Batch-Datei sunset sunrise [gelöst]

#20

Beitrag von joachimF »

Mit diesem Code wird iSpy gestartet und das Windows-Fenster geschlossen

Code: Alles auswählen

<?php

//https://www.php.net/manual/de/function.exec.php#86965

[b]function execInBackground($cmd) {
    if (substr(php_uname(), 0, 7) == "Windows"){
        pclose(popen("start /B ". $cmd, "r")); 
    }
    else {
        exec($cmd . " > /dev/null &");  
    }
}[/b]

$time = time();

// Set latitude and longitude für Carces.
$latitude = 43.45429245253471;
$longitude = 6.153127266694305;

$suninfo = date_sun_info($time, $latitude, $longitude);
$sunrise = $suninfo['sunrise'];
$sunset  = $suninfo['sunset'];

// echo $time;
// echo "\n". $sunrise;
// echo "\n". $sunset;

if ( ( $time > $sunrise ) && ( $time < $sunset ) ) {
	// echo "\n"."Zeit liegt innerhalb von sunrise und sunset.";
	// echo "\n"."Programm wird nun ausgeführt";

	$command="C:\Programme\iSpy\iSpy.exe";
	[b]execInBackground[/b]($command);
}

?>
Viele Grüße aus der Provence, Joachim

https://puttkammer.de
Antworten