Feat: Unterschiedliche Anzahl der Ping-Versuche vor und nach WOL-Signal.

This commit is contained in:
DragonSlayer_14 2025-03-05 10:20:54 +01:00
parent 8cc72b10bc
commit cc8b337987

View File

@ -6,21 +6,27 @@ source "$SCRIPT_DIR/NetworkCheck.sh"
source "$SCRIPT_DIR/Log.sh"
# === KONFIGURATION ===
PING_RETRIES=5 # Anzahl der PING-Versuche vor WOL
WOL_RETRIES=5 # Max. Anzahl der WOL-Versuche
PING_RETRIES_BEFORE_WOL=1 # Anzahl der PING-Versuche vor dem WOL-Signal
PING_RETRIES_AFTER_WOL=10 # Anzahl der PING-Versuche nach dem WOL-Signal
PING_WAIT=10 # Wartezeit nach jedem Ping (Sekunden)
WOL_RETRIES=2 # Max. Anzahl der WOL-Versuche
WOL_WAIT=60 # Wartezeit nach WOL (Sekunden)
# === FUNKTIONEN ===
is_reachable() {
local device_ip="$1"
for ((i = 1; i<=PING_RETRIES; i++)); do
log "Teste Erreichbarkeit von $device_ip - Versuch $i/$PING_RETRIES..."
local max_retries="$2" # Zweiter Parameter gibt die Anzahl der Versuche an
for ((i = 1; i<=max_retries; i++)); do
log "Teste Erreichbarkeit von $device_ip - Versuch $i/$max_retries..."
if ping -c 1 -W 2 "$device_ip" &>/dev/null; then
log "Gerät $device_ip ist erreichbar."
return 0
fi
sleep "$PING_WAIT"
done
log "Gerät $device_ip ist NICHT erreichbar."
return 1
}
@ -51,7 +57,7 @@ wake_device() {
wait_for_internet_connection
if is_reachable "$device_ip"; then
if is_reachable "$device_ip" "$PING_RETRIES_BEFORE_WOL"; then
log "Gerät ist bereits an, kein WOL nötig."
return 0
fi
@ -64,7 +70,7 @@ wake_device() {
log "Warte $WOL_WAIT Sekunden..."
sleep "$WOL_WAIT"
if is_reachable "$device_ip"; then
if is_reachable "$device_ip" "$PING_RETRIES_AFTER_WOL"; then
log "Gerät ist jetzt erreichbar!"
return 0
fi